[Q] Best Practices for creating a ROM? - AT&T Samsung Galaxy S 4 Q&A, Help & Troubleshootin

I'll soon be "creating" a new ROM. It will be the unadulterated MF3 system and kernel - not including bootloaders, modem, or recovery. The purpose will be to allow Devs to flash and play with the original MF3 system/kernel without losing Loki/root - but still have the original code to work with. It doesn't even need to be Lokified.
Before I begin crafting the .zip file for this thing, I wanted to check with the community here to see if it is an acceptable practice to create a rom that overwrites the /dev/block/mmcblk0p16 partition directly. Personally, I would have no problem with this, so long as I knew 100% that the rom was intended for my device. However this might not be acceptable, considering if a newbie from another handset (with different pit mapping) flashed it, it could potentially brick their device.
That being said, what would be the best way to pack this rom such that I don't break permissions or otherwise accidentally soil this 100% stock rom?
If it is acceptable to simply write to the partition directly, just let me know. I'll be sure to put warnings in my post, telling people not to flash this on anything other than the device(s) it was intended for.
Thanks.
UPDATE:
I ended up just flashing the partition by name, instead of by partition number. This way, the integrity of the image is maintained, but the safety of not hard-coding a partition number is included. If you're stumbling upon this post and wondering what the result was, this is it.

Related

General Noob Root and ROM update Questions

So I am new to the whole Root and ROM Android arena. And I came up with a few questions that hopefully you guys can help me with.
1. I read people saying they lost their ROOT after an update from 4.1 to 4.2 or 4.2.1 to 4.2.2? How did this happen for them?
Do you have to Un-root and flash to stock before updating to a different build (Such as 4.1 to 4.2 or 4.2.1 to 4.2.2)?
2. Right now I am using a custom ROM on Android Version 4.2.2.... if a new Custom ROM with a new android version released (Let's say 4.2.3) can I flash from one Rom to the other with just wiping Cache/Factory wipe and Dalvik Cahce or is there something else I would need to do because of the Android version update?
Sorry those two questions above are very similar but I wanted to ask them both ways.
3. If I were to get bored of the Custom ROM I am currently on. Are there any Best Practices "rules" I should know about when switching from one custom ROM to another?
4. Last if I am on a custom ROM with a nightly build..... is it more common to update to every nightly build that releases? Or is it more common people to only pick and choose choice nightly build versions. And if people do update to every new Nightly build.... can you update too much and destroy your device?
Sorry guys I know these seem like very basic questions..... and Yes I did search the forums. However while I found some very basic answers nothing went into great depth in explanation. All the answers seemed to be very vague.
does anyone have some suggestions on where to find these answers?
1. If you are on stock, rooted, and you update versions of the OS, you are essentially UPDATING the /system partition. That is how you lose 'root' when upgrading. If you modify any system files while rooted, you have to either revert to stock or change those modified files back to the original before running the update.
2. Just run FACTORY RESET in your custom recovery and flash the new custom rom. No need to wipe any caches (/cache is wiped during a factory reset anyway). It doesnt matter what version to what version. Sometimes new versions might require new bootloaders, but you will be bombarded with that information here if that becomes the case.
3. See number 2. Its the same thing. backup your apps with Titanium Backup, do a Factory Reset in custom recovery and flash new rom....done.
4. doesnt matter. you can update as much or as little as you like. some people prefer stability over new shiny, but then others are just crack-flashers....and will literally flash ANYTHING posted to see what happens
Pirateghost said:
1. If you are on stock, rooted, and you update versions of the OS, you are essentially UPDATING the /system partition. That is how you lose 'root' when upgrading. If you modify any system files while rooted, you have to either revert to stock or change those modified files back to the original before running the update.
2. Just run FACTORY RESET in your custom recovery and flash the new custom rom. No need to wipe any caches (/cache is wiped during a factory reset anyway). It doesnt matter what version to what version. Sometimes new versions might require new bootloaders, but you will be bombarded with that information here if that becomes the case.
3. See number 2. Its the same thing. backup your apps with Titanium Backup, do a Factory Reset in custom recovery and flash new rom....done.
4. doesnt matter. you can update as much or as little as you like. some people prefer stability over new shiny, but then others are just crack-flashers....and will literally flash ANYTHING posted to see what happens
Click to expand...
Click to collapse
Thanks I really appreciate the response. :good: You'd be surprised how many "Tiny Parts" of answers you get from searching. Very rarely the whole answer you need.
I am glade to hear that Question 2 only requires you to just factory rest. From the misinformation gathered on other forums... I was starting to think you had to flash back to stock before updating to another Custom ROM Build.
@20mmrain
You've probably looked at a number of posts by confused newbs. For better or worse, this site is nothing like a moderated wiki, so you find treasure mixed in with trash.
Rooters fall into four broad classes:
(a) Those that "root & modify" stock ROMs
(b) Those that abandon stock and use custom ROMs and kernels
For each of the above cases, there are diligent and careful users who make full (nandroid) backups... and lazy idiots who do not. It is almost always the lazy idiots you observe coming in here in a panic, independent of whether they are in class (a) or (b).
Beyond that, newbs taking approach (a) seem to perpetually labor under the false impression that their modified versions of a stock ROM should be able to be upgraded by the OTA process - when in fact that there is absolutely no reason to believe that. The OTAs carefully check hundreds of different files before they perform any changes; if even a single one of them has been altered, the OTA aborts without making any changes.
It is *possible* that if none of those hundreds of files are changed that an OTA will succeed on a "nearly stock" ROM. When this happens though, it is quite typical that:
- the "su" binary (part of a root kit) in either /system/bin or /system/xbin gets its' setuid permissions reset by a recursive permission-setting command in the OTA
- the custom recovery can possibly be overwritten by the new stock recovery.
Folks tend to refer to either of the above as "losing root". True in principle, but they are trivially fixed up - if the user actually understands how Android rooting works. (With fastboot, you simply reflash the custom recovery, boot into that and reflash the same root kit originally used).
It's too bad that folks who put together rooting guides seem to neglect putting an emphasis on making backups. They give you both security and freedom.
Bottom line: whatever you choose to do, make nandroid backups. You don't need to keep them all on the tablet - but for convenience reasons, you should have at least one known good ROM as a backup available to be restored.
good luck
Wow that is a really in-depth explanation and that is exactly what was looking for! Since I have been working in the IT world for years I will say with pride that I am an individual who believes in safety first and always back up any important project I am working on! So I am happy to hear I made the right decision there.
I guess a great deal of my questions also stem from working in a windows based world for so long ....that I am still learning Linux/android.
Right now I do keep a nandroid backup on my nexus 7 but only one. How backups do you have? And do you just keep the rest on a thumb drive?
Sent from my Nexus 7 using xda app-developers app
20mmrain said:
Right now I do keep a nandroid backup on my nexus 7 but only one. How backups do you have? And do you just keep the rest on a thumb drive?
Click to expand...
Click to collapse
At the moment I have 6 on the tablet - all generated in the last 60 days. Two in the last two days (one a rooted stock/jdq39, another a cm10.1 nightly). Plus recent TiBu market app & data backups. 32 GB model, so I have plenty of room.
That doesn't reflect any particular strategy or goal. I hook it up to a PC every once in a while and at that time either copy off any backups worth saving or delete them. Most of the those I have on the PC will eventually be deleted as well without ever being used. You could use a USB key if you want to. Really you only need to keep one on the tablet - mostly as a convenience in case you wedge your daily driver ROM with some random mod: you can restore a working ROM right from your tablet rather than having to find a USB key or return to your PC to get the tablet booting again.
There is one type of ROM backup that I think is very useful to keep a permanent copy of - a pure stock ROM. The reason for that is that any radio images (tilapia) or bootloader upgrades that are *sometimes* delivered by OTA can be trivially installed by:
- make a backup of the current ROM
- restore a pure stock ROM backup (including the stock recovery! ***)
- take the OTA
- ***soft-boot a custom recovery and make a backup of the NEW stock ROM (including its' recovery!)
- hard-flash the custom recovery to the tablet
- restore the backup from the first step above.
Doing things this way is the safest possible way to install either a bootloader or a radio image. Not only that, but for folks that prefer to mod stock ROMs, it gives them a backup archive of /system to recover arbitrary (stock) files from.
*** soft-booting a recovery is the most convenient way to capture a stock recovery as part of a nandroid backup. I.E.
Code:
fastboot boot recoveryimagefile.img
If you hard-flash a custom recovery before you make a nandroid backup of a stock ROM, you lose the opportunity to get a copy of the stock recovery along with the rest of the stock ROM.
good luck

[GUIDE] Everything Explained.

Before you go ahead and start unlocking, flashing and rooting, there are things you should know. This thread is a general guide that will serve to explain most of those things.​
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.​
Table of Contents
A. The layers (Hardware, Firmware, Software)
B. Definitions
C. Troubleshooting Common Issues
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.​
The Layers. How does everything come together?
Just like any other computing device there are 3 Layers to your phone. It helps to realize this prior to modifying your phone, so you are able to troubleshoot issues more effectively.
Layer 1 Hardware: The hardware layer is the physical components of your phone. That which you can touch, hold and see. This layer is the least likely to be modified unless you are a crazy super master level modder. Very few bother to mess with this layer so this layer tends to be the most stable with very little issues arising. The best way to make sure a problem is not related to the hardware layer, that is to say, a physical hardware problem where a physical component needs replacing, is to return all software and firmware to stock. This is typically done by running an RUU or manually reflashing stock firmware and software. There are instances where software or firmware modifications can affect the hardware. For example, if you overclock your CPU, the added heat could permanently damage the CPU and even other hardware components so be sure to take that into consideration.
Layer 2 Firmware: This layer is what allows the software to control the hardware in your phone, like a bridge between the two. There is firmware for just about every component of your phone, the camera, screen, radio, processor etc etc. This is the second least likely layer to be modified. S-Off is required to modify most, but not all, firmware files and rightfully so. Modifying firmware components can easily damage your phone if you do not understand what you're doing. In some cases a JTAGG repair can fix your phone from firmware modification damage, other times, only replacing physical components can repair the damage done. (Recovery and the kernel are technically part of the firmware layer but do not require S-Off to flash)
Layer 3 Software: The software layer consists of the "ROM" and applications on your phone. This is where most of the modification takes place and while modifying the software layer is the least likely to cause serious issues, it can still be dangerous. Flashing a ROM not intended for your device could easily put your phone into a bricked state. With SuperUser or Root access, software is capable of modifying the firmware layer of your device. It is up to you to decide what is safe and what's not safe. This is why rooting is not for everyone. How can you properly decide what is safe for your device without the proper knowledge?
Definitions
What is root?
Root, super user or su for short is a level of access giving you permission to read or write to folders, or partitions you could not have access to as a regular user. Think administrative access.
Consider a folder path “/sdcard/downloads/” If we break it down, “downloads” is a folder in “sdcard” and “sdcard” is one of the folders in “/” which is the “root” of the folder structure. As a regular user, one might not consider that folders other than sdcard exist in “/” as they are kind of hidden from us but rest assure they are there and this is typically where the android OS and firmware files are kept. Modifying these files can be extremely dangerous for your phone if you do not understand the modifications to the file you're making, and what steps you can take to recover from any issues you encounter.
What is an RUU?
RUU stands for ROM Update Utility. An RUU is used to reflash an existing firmware/software set or updated firmware/software set. An RUU will wipe everything and basically get your phone back to stock. Unless your phone is S-Off, you cannot run an RUU with an older firmware or software than those currently on your device. You can only run an RUU that matches your MID/CID unless you are S-Off and have SuperCID or have changed the MID/CID to match the carrier you are flashing. There may be differences in hardware/firmware between MIDs and CIDs so be mindful as this can lead to a brick. To properly run an RUU with S-On, you must also have stock recovery installed, the bootloader must be locked/relocked. BE VERY CAREFUL DOING THIS. It is not recommended to RUU or OTA after unlocking your bootloader unless you have to. If you are S-OFF you can RUU whether the bootloader is locked or not and if you are superCID, CID checks will be ignored so be sure to be mindful of the RUU you are running and that it will play nice with your phone.
What is an OTA?
OTA stands for Over The Air and implies an Over the air update distributed by your phone manufacturer, carrier or ROM developer. Unlike an RUU, an OTA will not typically wipe/factory reset your phone but can update your firmware and/or software set. To a apply a manufacturer/carrier released OTA you will need stock recovery and stock system apps installed. Your CID/MID must match that of the carrier/manufacturer your phone came from.
What is a ROM?
When the term ROM was first introduced it stood for Read Only Memory, however, most memory that claims to be Read Only nowadays is not like it was back then. Now a days it is not as complicated to write ROM as only permissions are in your way as opposed to the days when you were required to modify the hardware layer in some way to update the ROM chip. In this particular case, we are referring to the android software on your phone. Stock ROM would imply the manufacturer released ROM that came on your device when you purchased it. Custom ROMs are ROMs the are modified stock ROMs or ROMs built from android source code to. I think you get the idea. It's the device software or Operating System if you will. You should never flash a ROM that is not intended for the device you are flashing it to, this is very dangerous. Like, brick dangerous.
What is a nandroid backup?
A nandroid backup is a backup of your phone's current state. Like a snapshot or image of your phone's software. It includes the ROM currently flashed to your phone, the kernel, apps and settings. It does not include any firmware files other than the kernel and possibly the recovery. A nandroid is done with custom recovery and cannot be done with stock recovery. Taking a nandroid before you start messing with your phone is good practice. In fact, It's good practice to make nandroids before flashing a new ROM, or making any changes that may impact stability. This will ensure you always have a quick way to get back to having a usable phone. Obviously, a nandroid will not help in cases where you mess up firmware files like the radio firmware or hboot.
What is a kernel?
The kernel is the central point of an operating system. It contains the modules and settings necessary for the ROM or OS to work properly. Every Operating System has a kernel, including android. Just like ROMs there are custom kernels, with tweaks and the like that may improve or decrease performance/stability. Also, like ROMs, you should never flash a kernel not intended for your device. Very Dangerous!
What is a bootloader?
The bootloader is as the name implies, a device software/interface for handling boot operations it is contained within the hboot file. The bootloader screen has a few nifty features:
Gives you device information such as:
The bootloader state (locked, relocked or unlocked)
The Secureflag state (S-On or S-Off)
Your hboot and radio versions
Your Cid (only if you changed it)
Allows you to power down, reboot or boot your phone to android.
Allows you to factory reset your phone (Though should never really be used unless you are completely stock as you can properly factory reset in custom recovery)
Allows you access to the recovery
It gives you access to fastboot command operations you can send from your PC to your phone.
To boot to bootloader: Press and hold Power and volume up until the phone shuts off, then let go of power and volume up. Press and hold Volume down until your screen comes up in bootloader mode.
What is recovery?
Recovery is a software/User Interface that allows you to handle and make changes to your device, without having to boot the android OS. The stock M8 comes with a recovery that is quite limited but allows you to factory reset your phone and flash OTA updates which really is more than enough for the average user.
Those of us who want more from our phones, and modify them tend to flash custom recoveries with many extra features. I won't go into all the features they provide as the devs have websites, and you can visit them for more information. The two custom recoveries for the m8 include TWRP and Philz Touch. Both are very functional and choosing one is a matter of preference over anything else.
To flash a recovery image. Put the recovery image in your fastboot/adb folder and in the command prompt:
Code:
fastboot flash recovery recoveryfilename.img
You can find The latest:
TWRP for the M8 HERE
Philz Touch for the M8 HERE
To manually boot to recovery, boot to bootloader (Press and hold Power and volume up until the phone shuts off, then let go of power and volume up. Press and hold Volume down until your screen comes up in bootloader mode). Then select recovery in the bootloader menu.
What is S-Off/S-On?
This stands for Securewrite-on or Securewrite-Off. The name kind of gives some hints as to what it means. Having your bootloader unlocked, affords you the ability to to flash a custom recovery and custom roms as well as a custom kernel however, some people may need more. They may want to alter other system partitions. That is where S-Off comes in. It gives you full write access to all system partitons. It also forces a bypass for all security checks, such as those made by OTAs and RUUs, for CID and MID. S-Off is persistent. No matter if you RUU, OTA, Flash a ROM, Firmware, Factory Reset, S-Off will remain so until you use fastboot to reset the flag. I should say, if you don't know what you're doing, that is to say, if you are the type to follow instructions blindly on a thread, without much idea what is ACTUALLY Happening, what files you're modifying, you should not have S-Off. It should not concern you and that is that. S-Off can be dangerous. You have been warned.
What does a Factory Reset do?
A Factory Reset Clears the Cache, Dalvik Cache and Data Partitions. All settings will reset to default. User Apps (Apps you installed that did not com preinstalled with the ROM) will be removed. This will not restore your phone to when you purchased it. This will not relock your bootloader, Reset the S-Off flag, remove root, or downgrade your hboot. It merely affects the system and user settings and user apps.
What is fastboot?
Fastboot is a command line tool that allows you to manipulate certain parts of your phone from the bootloader. Your phone must be in fastboot mode and you must have the fastboot application and HTC drivers installed if you are on Windows. If you are on linux, the HTC driver is preinstalled.
Popular fastboot commands include:
Fatsboot devices (Lists devices connected for use with fastboot)
Fastboot flash recovery recovery.img (Flashes a recovery image)
Fastboot flash boot boot.img (Flashes a boot image)
Fastboot oem readcid (Shows the CID of the phone installed)
Fastboot oem writecid (Writes a new CID to your phone. Must be 8 Characters. Requires S-Off)
Fastboot oem rebootRUU (Puts the phone in RUU mode which is used for flashing firmwares and/or entire RUUs)
Fastboot reboot (Reboots your phone)
Fastboot reboot-bootloader (Reboots to bootloader)
Fastboot erase cache (Wipes the cache partition using fastboot. Good idea after flashing things via fastboot)
Fastboot help (Will list fastboot commands)
Fastboot boot imagefilename.img (Allows you to boot a recovery image or kernel image without actually flashing to your phone
allowing you one time access to the features without the headache of reflashing stock afterwards) Thanks to @garyd9 for suggesting I include this. Very convenient command.
What is ADB?
ADB is another command line tool used to manipulate your phone. The commands for ADB are way more extensive. ADB can only communicate with your phone while in a custom recovery or while the ROM is booted up with USB debugging turned on. The reason ADB is so much more extensive is because it allows you to remotely access your phone's terminal just like a linux terminal. You can use ADB to push or pull files to and from any partition (Some partitions will require S-Off), list devices, get a logcat, troubleshoot issues etc etc. For an extensive list of commands and how to use ADB I strongly suggest visiting http://developer.android.com/tools/help/adb.html
What is the CID?
CID stands for carrier ID. It's a string of letters and numbers, eight characters long that identify what carrier your phone is from. When you flash an OTA or RUU, The OTA or RUU checks for a few things, one of those things is the CID, to ensure you are flashing software intended for your device. Realistically, There's no hardware difference between the M8s (with the exception of CDMA vs GSM) so all firmwares/softwares should be compatible. With regards to radio firmware, your radio may function better with one firmware over another. There have been occasions with HTC where flashing an RUU or OTA with the wrong CID or SuperCID, while S-On would brick your phone. So try to be mindful of this and be careful.
Thanks to @garyd9 for suggesting I include this in my guide!
Some common CIDs include but are not limited to:
SuperCID: 11111111
HTC International: HTC__001
AT&T: CWS__001
ROGERS: ROGER001
VODAPHONE: VODAP001
T MOBILE: T-MOB010
TELESTRA: TELST001
Bell Canada: BM___001
What is a brick?
The term brick is sometimes thrown around a bit too casually. A brick is when your phone is no longer operable. It does not boot, there is no way to save it without resorting to Jtagg or replacing the nand chip or motherboard. If your phone powers on and something appears on your screen, your phone can almost always be saved. Be sure you know how to save your device before messing with your device.
Troubleshooting Common Issues
I flashed a ROM or Kernel and it's not booting! WHAT DO I DO!?
When this happens. There are actually a number of things to consider but first off, Hopefully you made a nandroid to restore from just in case the reason it doesn't boot is something not quickly or easily fixed.
1. Is the ROM you're flashing indeed intended for your device? ROMs you're flashing should be for the HTC One m8 International. You should not be flashing ROMs designed for the m8 Sprint or Verizon and should not be flashing ROMs designed for other models of phone. If the ROM you flashed is not for your device, best case scenario, it's not flashing properly. Worst case scenario, you have a brick. You will need to factory reset and wipe system then either flash a new ROM or restore a nandroid to get your phone up and running again.
2. Did you wipe Cache, Dalvik Cache, Data and System? (Don't wipe System for Kernel Install)
A factory reset will wipe all but system. You should wipe System manually in case the script for the ROM install does not do it or does it improperly. A factory reset is enough for a Kernel install. If you wiped system and just flashed a kernel, it's no doubt your phone is not booting.
* If you did not factory reset and wipe system, do so and then reflash your rom. It should then boot.
* If you wiped system to flash a kernel, you will need to reflash the rom, and then reflash your kernel again if you are flashing a custom kernel. (Note a GPE Kernel will not work on Sense and a Sense kernel will not work on GPE.
3. Did you matchup the Checksum? MD5 or SHA1 are usually posted on the ROM Download site/post. This allows you to check and make sure the integrity of the file you downloaded has been maintained. If The SHA1 or MD5 of the file you downloaded does not match what is posted, you have a corrupted file and should redownload. If you don't have a MD5 or SHA1 Checker, I suggest downloading one. Google MD5 or SHA1 Checker and you should find one. MD5 is most commonly used but it's up to the Dev as to which they post. Sometimes both. You only need to match one. (Linux comes with utilities for checking MD5/SHA1 called md5sum and/or sha1sum)
4. If you tried all these steps and it's still not booting, try another ROM. If no ROMs appear to be booting, you may be having an issue with your custom recovery. Redownload your recovery (Make sure it's the right one for your phone and check the checksum) Then reflash recovery, then use fastboot erase cache, boot to recovery and try flashing again.
5. If you tried all these and you're having issues, ask in the M8 Q&A!
I wiped everything and I don't have a ROM on my phone to flash! What do I do?
This is quite simple really.
Boot to recovery
Connect your phone to your PC
Make sure your ROM is on your PC and in your adb folder
Then use:
Code:
adb push romfilename.zip /sdcard/
Be patient, this could take a while, when it finishes you will get a confirmation with bytes in/bytes out.
Then flash.
Where can I go to find links to do all this cool stuff I want to do to my Phone!?!?!?!?
HERE!
Thank Yous!
Thanks to @garyd9
Thanks to @keithross39
This is a work in progress. I will be updating this as often as I can, trying to explain as much as I can for newer M8 owners who are not used to HTC or Android devices. If you have any suggestions for what I can put here, post here and let me know! Also, I'm not perfect, I make mistakes if I have/do make any, do not be shy! Let me know.
[08/18/2014] Partially updated and fixed spelling mistakes. More coming soon!
Hey fella, this is a good idea.
Thanks for taking the time to do this.
I am going to be getting the M8 in the near future, so reading up about the HTC specific stuff is really useful for me as I'm currently familiar with Samsung procedures and not a lot else. Most folks reading this should be familiar with the 'cross platform basics', so what you've covered so far should be enough........
But.....
Those (like me) who are getting an HTC device for the first time would probably benefit from more of a detailed description of the HTC side of things......maybe you could concentrate on expanding that information.......
Maybe you could include links to threads for s-off, rooting and/or anything else relevant?
Just my 2 cents worth....for what it's worth.....
Sent from my rooted debloated thingy
keithross39 said:
Hey fella, this is a good idea.
Thanks for taking the time to do this.
I am going to be getting the M8 in the near future, so reading up about the HTC specific stuff is really useful for me as I'm currently familiar with Samsung procedures and not a lot else. Most folks reading this should be familiar with the 'cross platform basics', so what you've covered so far should be enough........
But.....
Those (like me) who are getting an HTC device for the first time would probably benefit from more of a detailed description of the HTC side of things......maybe you could concentrate on expanding that information.......
Maybe you could include links to threads for s-off, rooting and/or anything else relevant?
Just my 2 cents worth....for what it's worth.....
Sent from my rooted debloated thingy
Click to expand...
Click to collapse
Thanks man! I welcome all suggestions! I will do my best to incorporate your suggestions
Sent from my HTC One_M8 using XDA Free mobile app
Great idea, thanks. I've been wondering what S-Off is for weeks but didn't want the flaming for asking a noob question!
Sent from my HTC One_M8 using XDA Premium 4 mobile app
Some possible additions:
What is "RUU"?
What is MID (model ID) along with a list of some common MID's
What is CID (carrier ID?) along with a list of some common CID's
How do the MID and CID relate to each other and how does the combination relate and/or interact with RUU. Related, of course, is the third part of the version number.
I was thinking of writing a guide myself, because I was so confused myself after coming from samsung, really nice.
Shebee said:
I was thinking of writing a guide myself, because I was so confused myself after coming from samsung, really nice.
Click to expand...
Click to collapse
Lol...ain't that the truth....
Sent from my rooted debloated thingy
Nice one
Very well done!
Sent from my HTC One_M8 using Tapatalk
I'm one of those who also came from Samsung (S4).
This is really great and easy to understand. This should be sticky :victory:
While I think the OP uses the term "ROM" incorrectly (Read Only Memory), I'll admit that's just me being picky. Otherwise, a very useful post... I've requested it be made sticky.
Take care
Gary
garyd9 said:
While I think the OP uses the term "ROM" incorrectly (Read Only Memory), I'll admit that's just me being picky. Otherwise, a very useful post... I've requested it be made sticky.
Take care
Gary
Click to expand...
Click to collapse
That's not being picky at all! Feel free to suggest any corrections. I welcome criticism and corrections.
Thanks for the recommendation!
Sent from my HTC One_M8 using XDA Free mobile app
exad said:
That's not being picky at all! Feel free to suggest any corrections. I welcome criticism and corrections.
Click to expand...
Click to collapse
LOL. I'm one of those people who goes nuts when people want to install "ROM's" on their phone. I keep reminding them that if it was really "Read Only Memory", that they wouldn't be able to overwrite it. Ever.
I do understand, however, that it's one of the misused terms these days. I guess it's kind of like saying you are "dialing a phone number." (There aren't any dials on our phones anymore. I haven't even seen a working rotary dial phone in years...)
Anyway - I'll stop with my OT bantering. Once I get more familiar with HTC devices I'll probably have some good suggestions for your posts.
Take care
Gary
garyd9 said:
LOL. I'm one of those people who goes nuts when people want to install "ROM's" on their phone. I keep reminding them that if it was really "Read Only Memory", that they wouldn't be able to overwrite it. Ever.
I do understand, however, that it's one of the misused terms these days. I guess it's kind of like saying you are "dialing a phone number." (There aren't any dials on our phones anymore. I haven't even seen a working rotary dial phone in years...)
Anyway - I'll stop with my OT bantering. Once I get more familiar with HTC devices I'll probably have some good suggestions for your posts.
Take care
Gary
Click to expand...
Click to collapse
Read only memory isn't a great name for it. If you've ever updated the bios on a pc, flashed a firmware update to a router, etc... you've written to read only memory. There are types that are truly read only but I can't think of a single practical example. And welcome to htc phones!
Sent from my HTC One_M8 using Tapatalk
lampel said:
Read only memory isn't a great name for it. If you've ever updated the bios on a pc, flashed a firmware update to a router, etc... you've written to read only memory. There are types that are truly read only but I can't think of a single practical example. And welcome to htc phones!
Click to expand...
Click to collapse
I'm old enough to remember (clearly) when you couldn't update the BIOS on a PC - you had to physically replace the BIOS chip. (Usually, they were socketed to make replacement a bit easier.) That was ROM. Also, early game consoles used true ROM in cartridges.
As for current practical example: a simple CDROM (not CD/RW) is, of course, read only.
I agree that it's not the best name lol but that is what it stands for....
Sent from my HTC One_M8 using XDA Free mobile app
Added this to my index thread
Hi guys! I am planning to buy an htc one m8 but can someone please tell me the different models out there? I don't want to end up buying the wrong one. Also is the dev one worth spending the extra money over the international? And is it the same model as the international one? Thanks in advance. I didn't know where else to post this. I didn't wanted to start a new thread.
Karan and all other users, please post questions in Q&A. Only things that should be posted here are suggested additions to this thread.
Also thread has been updated and more to come!
Part on RUUs is wrong...
An RUU can be run at any point and in any state (so long as you can get to the bootloader) as it completely replaces the entire system so doesn't matter if you don't have the stock recovery as it replaces it during the update process. Also, if you're S-OFF it means you can flash any RUU for any phone, handy to go between branded and unbranded software. OK, there's a risk of trying to flash an RUU from another device but if you do that you're a bit dumb!!

[Noob friendly] Basics about the G2 (bootloader, rom, etc.)

Some basics - About bootloader, kernel, recovery, rom, /system and some other partitions.
There are many noobs out there and sometimes even I am one. Two days ago @Closed Force asked me, where I know my stuff from and why things are like they are... So I finally decided to write this little guide about how Android devices basically work and what are the special things about our G2.
If you find wrong facts or any other mistakes (grammatical, language, contentwise), please bear with me. That's how I read it in the forums. And of course not everything written on XDA is correct. So please tell me by PM, or by posting in this thread if you have additions, corrections or any other concerns about this OP.
Where I got to know all this stuff? Reading, reading, reading. I first started modding my old HTC desire like 4 years ago. Since then and even before I'm reading. Mainly here on XDA but also on some german forums and wikis. It might have taken me easily 200 hours or more. So the only way to learn for a newbie (and everyone else too) is reading.
Personally I own a D802 variant. I know about some things that were different in details for the US variants, but things should be right as they are.
Finally thanks to
@d00lz for some extra research/additions and a quick read through.
@Art Vanderlay for some additions.
So let's get started:
When you press the power button, your device will load the Bootloader. The Bootloader afterwards wil load either the Recovery Image (recovery.img), the Kernel (boot.img) or the Download Mode Bootloader (laf.img), depending on the keys you press. At the moment there are three different bootloaders; The Jellybean one, the KitKat one, and the new Lollipop one. Not one of these Bootloaders can be unlocked yet, so there are workarounds which allow us to boot custom ROMs (specifically Kernels, but more about that later) and custom Recoverys. At the beginning there was the Jellybean Bootloader. The Developers (sorry, I don't know which ones) found out how to get around the locked Bootloader pretty early. They called this workaround Loki. It's intergrated into nearly every ROM except the ones which require the KitKat Bootloader (but that's usually not the reason they don't support the JellyBean one). Anyways, soon the KitKat update came and so did the new KitKat Bootloader. Sadly, LG patched the Loki exploit with this new update. However, the Developers found a new way to get the Bootloader booting files which weren't signed by LG. They called this workaround Bump. Bump basically imitates the LG signature so the bootloader thinks this file was really signed by LG. Obviously this workaround works with the JellyBean Bootloader too. In the Lollipop Bootloader this exploit has been closed and no one knows how to get around the new Bootloader, yet. In conclusion to Bootloaders, as long you have a working Bootloader, your device is not dead. You can usually recover it in some way.
The G2 has about 30 partitions (for a more detailed explanation, look here, thanks @d00lz). Each partition has its own purpose. One of them is the Recovery partition. Imagine: A Recovery partiton and a working Bootloader are everything you need to keep your phone working. It's kind of an Operating System in itself, completely independent from Android or anything else stored on your Mobile. The great thing about the Recovery partition is that it's so small that it can be run directly in the RAM. This means it's capable of modifing EVERY goddamn partition on your Mobile, including the Bootloader and the Recovery partition itself (means you can flash a new recovery.zip in your current recovery). Attention: if you are using the Recovery with a 4.4 KitKat Bootloader, it needs to be a Bumped Recovery. If it isn't bumped the Bootloader realizes that the Recovery is not genuine and generates a "Secure Boot Error".
Same thing goes for the Kernel. The Kernel is located in your /boot partition (found gzipped inside your boot.img) and is loaded by the Bootloader when you only press the Power Button and you let your Mobile boot normally. This is the reason why your Kernel also needs to be Bumped if you want to get your system booting on a KitKat Bootloader. When 4.4 KitKat came out, most Developers switched over to using LG's 4.4 KitKat sources for their projects. After a while it was realized that 4.2 JellyBean sources were a lot more reliable for AOSP baed ROMs. This is why most AOSP ROMs use the 4.2 JellyBean Bootloader and the 4.2 JellyBean Kernel sources while Stock based ROMs use the 4.4 KiKat Bootloader and 4.4 KitKat Kernel. There are different Kernels for AOSP ROMs and for Stock based ROMs. This is because Stock Kernels support some ROM functionalities that AOSP ROMs don't have, for example; Knock Code. (Note: Knock Code isn't open source, which is also another big reason why it isn't available for AOSP ROMs.) So there are huge differences between Stock and AOSP based ROMs/Kernels. The Kernel (without factoring in the AOSP and Stock issue) can be switch at anytime you want.
Now about the /data partition... All your personal stuff, including Apps, System Settings, App Data and so on will be stored there. The reason why you should clear it every time you change the ROM is that there are many variables set by the ROM you are coming from. Your current ROM may have some tweaks the new one doesn't have which means the new ROM doesn't know how to handle them which leads to crashes and instability.
Now let's get to the ROM... Having a 4.2 JellyBean Bootloader and a 4.2 JellyBean Kernel doesn't mean the top layer has to be 4.2 too. Most of the AOSP based ROMs are based on Googles KitKat or Lollipop sources. And this is true KitKat or Lollipop, with all its functionalities. Those huge version differences cause some problems in development. No wonder some things do not work properly today, but it's still the best working combination at the moment. It's kind of a wonder how it works as it is, but let's be happy with it. I'm very curious how AOSP ROMs with Lollipop Kernel sources will work. Your ROM and your entire existing Operating System is found in the /system partition. This is why it's the main partition which is modified while flashing. Which partitions will be modified and (how) is written in the updater-script file of the file you're going to flash. Theoretically, running a updater-script of a ROM which changes the Bootloader (/aboot partition) can brick your device. That's also the reason why you should only flash stuff made for your device only!
As already said an updaterscript can modify every partition through the recovery. All ROMs bring their own kernel, so you basically don't have to care about it, except you want to use a non-bumped ROM (with kernel) together with the KitKat bootloader.
Finally something about the baseband/modem (these terms are interchangeable). I noticed that the Developers or rather the Original Posters sometimes don't know which baseband the user should use with the ROM. In earlier days the wrong baseband could make the ROM bootloop. Today most ROMs work with most basebands. It's obviously best if you stay on the one you currently are on and just flash another one if something doesn't work (auto-rotation for example). The baseband can be flashed at any time and is on it's own partition.
Okay Download Mode time. It's part of the laf partition (laf.img). This partition is used by LG and it's PC software to recover the phone and bring it back to Stock. It's a partition in itself, but not completely independent of the Bootloader. It's because of this that you can of course have a fully working Bootloader, but a dead Download Mode. This means you will not be able to flash a .KDZ/.TOT file the next time you are in big trouble! ^^
Okay to wrap up I should mention the EFS partition. The EFS partition stores your device's IMEI (and the serial number as far as I know) of your device. NEVER wipe it. With a empty EFS partition you can use your mobile as a brick, ok maybe you can use it as a media tablet, but that's it (WiFi still works, @Art Vanderlay tested; see below).
Again: if you got questions/additions/correction or see a mistake, post below, or PM me, I'll edit this post...
reserved
Great post. A thread like this should be the first thread you read as soon as you enter the LGG2 sub forum.
Expect a private message soon.
Also, reserved for possible future additions .
d00lz said:
Great post. A thread like this should be the first thread you read as soon as you enter the LGG2 sub forum.
Expect a private message soon.
Also, reserved for possible future additions .
Click to expand...
Click to collapse
And you could modify your signature now^^
Sunandroid said:
And you could modify your signature now^^
Click to expand...
Click to collapse
Nice write up Sunny. You can credit Dan Rosenburg for creating loki. I can also confirm that wifi still works without modemst1 and modemst2 aka efs. My phone suffers for this thread.
@Sunandroid
Perfect! This was all I was looking for. Now I finnaly understand how my G2 works and I'll most likely not need to ask more "noob questions" in this matter.
But I would like to ask some questions because I've left with doubts after reading the OP.
As long as I have /recovery/ and /aboot/ working, I can recover my device exclusively with software. Is this right?
I've concluded that you need /aboot/ to be able to enter in /recovery/ and with recovery you can mess up with any other partition.´
How can I tell if /modem/ found here is compatible with my device? Are all /modem/ partitions the same in the same models? For example, I'm from Portugal so I have a Portuguese D802 LG G2 (if I type its IMEI in a site, it recognizes it as portuguese). If I flash a German D802 modem or English or even American, considering that they are all from D802 would they work flawlessly with my device?
Why does /modem/ cause auto-rotation to work? What exactly is /modem/?
I have a backup of all the partitions in my laptop (made via TWRP). But what happens if I accidentaly lose my /efs/ partition? Can I flash another phone's /efs/?
Rayaxe said:
@Sunandroid
Perfect! This was all I was looking for. Now I finnaly understand how my G2 works and I'll most likely not need to ask more "noob questions" in this matter.
But I would like to ask some questions because I've left with doubts after reading the OP.
As long as I have /recovery/ and /aboot/ working, I can recover my device exclusively with software. Is this right?
I've concluded that you need /aboot/ to be able to enter in /recovery/ and with recovery you can mess up with any other partition.´
How can I tell if /modem/ found here is compatible with my device? Are all /modem/ partitions the same in the same models? For example, I'm from Portugal so I have a Portuguese D802 LG G2 (if I type its IMEI in a site, it recognizes it as portuguese). If I flash a German D802 modem or English or even American, considering that they are all from D802 would they work flawlessly with my device?
Why does /modem/ cause auto-rotation to work? What exactly is /modem/?
I have a backup of all the partitions in my laptop (made via TWRP). But what happens if I accidentaly lose my /efs/ partition? Can I flash another phone's /efs/?
Click to expand...
Click to collapse
Glad I could help you this way...
about /aboot and /recovery: yes you are right. It is even better, if you have an intact laf too. That's the download mode. But as long the other two work, you can fix the laf partition easily. But if you get into the situation, that only those two are working, better don't flash a bootloader (=/aboot). If it's the wrong one your device is bricked.
Aboot is the key to your device. Everything else is fixable. At least with a little bit of knowledge and time. But better don't try it out.
No, the modems are not all the same. There are (sometimes depending on the branding) extremely small differences between the basebands/modems. I personally never had the problem, that I couldn't get any connection at all. But that's not fatal. Just flash another one and try again if it works. Btw: I once made a test in some german forums with different KK basebands. I'm not sure anymore, but the differences were minimal and I think killed my connection totally.
If you loose your efs stuff, your device is a brick with extended functionalities. The IMEI and some other data stored in the efs partition is worldwide unique. So you can't just pick the one of another phone (except the other G2 is bricked or whatever). You need the IMEI for general network connection. So it will still boot up, but you won't be able to text or call anyone with this phone.
Okay ^^
So this is a full backup of all the needed partitions right? http://prntscr.com/76edu4
Should I convert these files to something like .img to be able to flash in the phone just in case I get something that disables my TWRP access?
Rayaxe said:
Okay ^^
So this is a full backup of all the needed partitions right? http://prntscr.com/76edu4
Should I convert these files to something like .img to be able to flash in the phone just in case I get something that disables my TWRP access?
Click to expand...
Click to collapse
Yeah, I guess so. As long as you ticked everything when you backed up (with blastagators TWRP!; the official one doesn't allow to backup the efs stuff), this should be fine.
Well you could. But tbh I have no idea how to convert those files into .img files. But it isn't necessary anyways: It's unlikely that you loose the efs data on your phone unless you brick it somehow. If the phone stays recoverable, The first thing you are going to do is: flashing bootloader, laf and boot.img. Then you will go back to stock through the download mode. Once you've done this it's an easy one to install twrp again and restore the efs backup. No one is gonna flash ~32 partitions by hand. There are "easier" and more usefull ways to recover the device.
Oh and btw: no backup contains the bootloader, laf and boot (recovery developer don't implement this for some reasons). But this doesn't matter. The only thing you really need is the efs backup (which partitions exactly you can see here). Everything else isn't unique and can be extracted out of kdz files and restored this way.
Edit: the two partitions mentioned here are
Sunandroid said:
Okay Download Mode time. It's part of the laf partition (laf.img). This partition is used by LG and it's PC software to recover the phone and bring it back to Stock. It's a partition in itself, but not completely independent of the Bootloader. It's because of this that you can of course have a fully working Bootloader, but a dead Download Mode. This means you will not be able to flash a .KDZ/.TOT file the next time you are in big trouble! ^^
Click to expand...
Click to collapse
My PC doesn't install any driver when my phone is on download mode,
On recovery mode (twrp) i have MTP access but on download mode i'm not having any access,
does that mean my download mode is dead?
GoPogoOreo! said:
My PC doesn't install any driver when my phone is on download mode,
On recovery mode (twrp) i have MTP access but on download mode i'm not having any access,
does that mean my download mode is dead?
Click to expand...
Click to collapse
This has nothing to do with this thread here. The issue is different. But I have no clue what it might be... If I can elaborate a maybe working answer I'm gonna answer you in the noob thread.
Sunandroid said:
This has nothing to do with this thread here. The issue is different. But I have no clue what it might be... If I can elaborate a maybe working answer I'm gonna answer you in the noob thread.
Click to expand...
Click to collapse
Oh btw i tried your (noob friendly) no download mode, no recovery mode ..... using slax,
when i typed ls /dev/sd* it's only showed my PC (only one sda) and there is no sdb, not even one
Weirdly i can access TWRP, but i can't make any custom rom boot,
Man this is frustating
I have a phone, G2 D802 Int., which probably has a corrupt EFS partition. I guess the owner broke it flashing incompatible things into it. As a result of the corruption, ESN/IMEI is lost. It shows null. But very interestingly, the EFS partition mustn't have been wiped because by chance of a boot among a hundred, it shows up the ESN. If by chance you come across to ESN, everything operates normally. And if you reboot the phone, ESN is gone again..
I managed to make recovery work again, by upgrading the phone to lollipop. (It was another time I came across ESN.) But no download mode, USB is never identified (unkonwn usb device), USB modes cannot be changed, unless by chance you come across, USB debugging is no more either.
I was thinking to backup some necessary partitions from a working phone of the same variant, but since it's "unknown device", I cannot query it as a disk. Neither it works in Ubuntu. ls /dev/sd* doesn't show the phone. It even doesn't show the working phone.
Any idea about how I can fix the corrupted EFS partition?
pisisler said:
I have a phone, G2 D802 Int., which probably has a corrupt EFS partition. I guess the owner broke it flashing incompatible things into it. As a result of the corruption, ESN/IMEI is lost. It shows null. But very interestingly, the EFS partition mustn't have been wiped because by chance of a boot among a hundred, it shows up the ESN. If by chance you come across to ESN, everything operates normally. And if you reboot the phone, ESN is gone again..
I managed to make recovery work again, by upgrading the phone to lollipop. (It was another time I came across ESN.) But no download mode, USB is never identified (unkonwn usb device), USB modes cannot be changed, unless by chance you come across, USB debugging is no more either.
I was thinking to backup some necessary partitions from a working phone of the same variant, but since it's "unknown device", I cannot query it as a disk. Neither it works in Ubuntu. ls /dev/sd* doesn't show the phone. It even doesn't show the working phone.
Any idea about how I can fix the corrupted EFS partition?
Click to expand...
Click to collapse
I luckily never had to try it, but scroll down a bit over here: http://www.droidviews.com/how-to-backup-and-restore-lost-imei-on-lg-g2/
I wish you luck!
Sunandroid said:
I luckily never had to try it, but scroll down a bit over here: http://www.droidviews.com/how-to-backup-and-restore-lost-imei-on-lg-g2/
I wish you luck!
Click to expand...
Click to collapse
Yes I know that, but since I cannot take the device to USB debugging mode, it's not the first step I could take. "USB device descriptor is failed", this is what I get when I plug the phone.
pisisler said:
Yes I know that, but since I cannot take the device to USB debugging mode, it's not the first step I could take. "USB device descriptor is failed", this is what I get when I plug the phone.
Click to expand...
Click to collapse
So what is the current state of your phone? You have twrp installed. Can you push stuff through adb when you are in the recovery (this is pretty important, since we maybe can fix the download mode this way)? Does it boot into android?
@Sunandroid, device operates normally except the voice call & data, since these depend on IMEI. The phone boots normally, and everything is working, only the IMEI shows as "null". Additionaly, cannot enter to download mode, no recovery installed, original recovery is working, which is used to do a factory reset only. No USB debugging, it says "USB device descriptor failed". Thus no adb.
pisisler said:
@Sunandroid, device operates normally except the voice call & data, since these depend on IMEI. The phone boots normally, and everything is working, only the IMEI shows as "null". Additionaly, cannot enter to download mode, no recovery installed, original recovery is working, which is used to do a factory reset only. No USB debugging, it says "USB device descriptor failed". Thus no adb.
Click to expand...
Click to collapse
From what I've read about this issue (device descriptor...) just now, it is not software but hardware related.
I've heard of people solving that issue but I couldn't manage to do. Gave the phone to my customer back after 4 days. Importer service put the phone out of warranty and offered him a motherboard replacement for 75 $ and it's pretty fair I think. After all it comes funny when he says he's gonna file a case about returning the phone and take his money back. Well, it's up to him to end up with nothing in hands after months of waiting for a case.
Shortly, this file has been closed without a reasonable solution.
Thanks for your effort @Sunandroid.
pisisler said:
I've heard of people solving that issue but I couldn't manage to do. Gave the phone to my customer back after 4 days. Importer service put the phone out of warranty and offered him a motherboard replacement for 75 $ and it's pretty fair I think. After all it comes funny when he says he's gonna file a case about returning the phone and take his money back. Well, it's up to him to end up with nothing in hands after months of waiting for a case.
Shortly, this file has been closed without a reasonable solution.
Thanks for your effort @Sunandroid.
Click to expand...
Click to collapse
Glad to hear that. Hitting the thanks button doesn't hurt.

Flashing across varrients

I'm trying to figure out if I can flash a different variant ROM to my G530AZ. Being that there aren't any rom's available for my phone.
There are a few factors involved in this.
First, if you consider doing this, you'll want to get the ROM for the device that matches the specifications of yours as closely as possible.
The second is, it's likely that the sizes of system partitions will differ between variants of the same device, so there would be a possibility of messing up the partitions on your device if you flashed the image. You should be aware of this risk, and should be prepared either to:
Manually resize the system image to fit your device, then flash it.
Just flash it anyways and hope for the best.
You can always try porting the device yourself to a custom OS for yourself, or put in a request for that in any appropriate forums.
I can say yes or no, because like what vince2678 said, it would mess up your partition, but even if you succeed it, you'll have more problems, such as some functions won't work due to differences between libs from the rom you just flashed and the libs that your device need for working functionalities
Does anyone know how or where I can find info on building a custom rom for this phone?
You can look at the AOSP, Omni and CM wikis. They have good documentation on how to get started on the whole process of building a custom rom.

Can't We Just Port ROMS?

Here's my understanding of getting custom ROMS for your device by doing little to no work.
If SHARP isn't releasing the source code, can't we just go and flash a ported ROM zip?
First, you find a device with exactly the same specs as yours: Easiest way to do this is googling phones with the same processor.
https://www.kimovil.com/en/list-smartphones-by-processor/qualcomm-snapdragon-400-msm8926
Now, we press "Compare" and see if we can find a phone that has exactly the same camera and/or other components.
Let's assume that our cameras are going to work out-of-the-box, and sort it down.
https://forum.xda-developers.com/leon
Oh, lookie! A phone with pretty much exactly the same specs, and a community that is making/porting ROMS for it?
https://forum.xda-developers.com/leon/development/aosp-5-1-1-lg-leon-ms345-t3611883
Hey, an Android 5.0 ROM?
Now, knowing the information we know now. Can't we logically go into the (aosp-5-1-1-lg-leon.zip) and change around the MANIFEST values to make sure they point to the correct places? Can't we change around the configuration so it will install?
I don't know all too much about porting ROMS, but if it's as truly as easy as I'm explaining it, why haven't we done it yet?
(Feel free to correct me if I have any details wrong! I'm open to criticism!)
Quick Update:
To begin porting other ROMs, I am compiling an actual flashable ZIP (Stock ROM Image) to use as a base for the other images. I am getting my sources from here: http://www.sharpusa.com/Home/CustomerSupport/SharpCareCenter/MobileSupport/OpenSourceCode.aspx
And compiling them using AnyKernel. I will post flashable ROM.zip here when I am done.
updates
Rhioun said:
Quick Update:
To begin porting other ROMs, I am compiling an actual flashable ZIP (Stock ROM Image) to use as a base for the other images. I will post flashable ROM.zip here when I am done.
Click to expand...
Click to collapse
any progress?
Yes, I managed to make a flashable Aquos Sharp zip, based off Kernel Version S4081.
Currently, I'm attempting to get a ported ROM over.
I'll post the flashable Stock ROM though:
https://drive.google.com/file/d/0B0Fuy6MV4s8RU0NUMzRvLVp5WjA/view?usp=sharing
hi thanks for all very good news
can i flash with 305sh factory unlocked and rooted ?
No, that is a ROM for the 306SH.
The 305SH files are on a Japanese version of the Sharp website.. the links on these forums somewhere.
I can't test 305SH files, since I only own a 306SH.
If you could find the links for the 305SH system.img and boot.img, I could compile a flash able ROM for you.
Else, search around for a TWRP backup for the 305SH that you could restore on your phone.
Rhioun said:
Yes, I managed to make a flashable Aquos Sharp zip, based off Kernel Version S4081.
Currently, I'm attempting to get a ported ROM over.
I'll post the flashable Stock ROM though:
https://drive.google.com/file/d/0B0Fuy6MV4s8RU0NUMzRvLVp5WjA/view?usp=sharing
Click to expand...
Click to collapse
Can you paste a few pictures? THX
This seems like a cool idea. I'm willing to help with some testing if I can catch up. I remember getting this phone a few years back and due its low popularity I never thought it would get rooted. Now that it is I am at a loss of what to do. (I think I may have messed up a few things during my previous attempts at rooting, I can no longer access my security tab and my phone no longer detects the sim card.)
Any tips on how to get it safely backed up? (not that it's in great shape) I tried the TWRP tool and that gave me the option to backup "recovery" and "boot" (not that I really know what those are). I am not sure if it's actually making the files or where I should be storing them or how I would recover from them. I can see the files with ES file explorer but not with windows.
I really need to figure out what I'm doing XD
A TWRP Backup is a nandroid backup, in essential, it took a backup of the whole partitions. The partitions include names that identify them, such as boot, recovery, cache, system, etc.
It is just asking you to restore what partitions you want from your nandroid backup.
Let's say, you updated to a new TWRP version, but it is buggy or something, and you wish to switch back. Simply click "Restore" and select only "recovery" and it should flash your nandroid backup of the recovery partition to your existing recovery partition, and you'll have your old TWRP again.
Since you messed a few things up already, I'd suggest you go with the full nandroid backup, leave everything selected, and click "Restore".
Hopefully you made the backup before you began fiddling too much with your phone!
Rhioun
Any progress at work?
I've tried porting multiple ROMs, looking for compatibility. I've had zero success in getting one to boot up. Either the device goes to a black screen after the primary Sharp Boot Logo, or it boots up TWRP immediately after the Sharp Logo.
I saw how another guy on these forums also made a flashable room for the Sharp Aquos Crystal using Superr's Android Kitchen, so I believe my next trial-and-error phase will lie there. However, before I do that, I plan to use his flashable ROM as a base to port other ROMs, and see if I have any more luck.
Maybe my flashable ROM was invalid somehow.
Anywho, I highly recommend anyone who's interested in porting ROMs for this phone to begin to do so. We have plenty of materials scattered about, and DuckDuckGo is your friend.
Don't hesitate to try.
Thanks, and I'll hopefully keep this thread updated about my progress.
I've working on an Android 5.1 RR ROM from the LG Leon. I've (so far) replaced a majority of firmware files and updated symlinks, dumped vendor files, replaced a few .ko files, edited the build.prop and updater-script, configured the fstab from the ramdisk, copied over the kernel built for the Sharp Aquos Crystal, and rebuilt the boot.img. I customized the updater-script to include chameleon.img, modem.img, and persist.img (partitions that assist with connecting to Sharp, and some kernel configurations).
This has been a lot of tweaking to the ROM, and I tested it and was thoroughly disappointed when my device began to bootloop. (Goes to Sharp 1st boot screen, and reboot, go to 1st boot screen, reboot, etc.). TWRP won't boot when this happens, and holding Volume Down+Power will yield nothing. You can't even power off the device, troubling because the battery is (nigh impossible to remove) not meant to be removed. No matter, although, holding Power Up+Power puts the device in fastboot more (the led will hold solid white) and from there you can successfully power off the device and start up TWRP. Luckily, I made a TWRP backup before I tried flashing the ROM, so I was able to restore back to that. However, I edited a good deal of things, so I just need to know what is causing the bootloop, or maybe then ROM, even ported, is simply incompatible with our Crystals.
I looked around, and found XDA Forums that promote the use of logcat to figure out why a device isn't booting. I am going to try this next, and if it yield nothing, I will find another phone to try porting a ROM from. (We have a good deal with the same processor, shouldn't be too hard.)
Sent from my Aquos Crystal
Still patiently waiting for a ROM. I'm still holding on to this device just because i have been watching this thread and i have hope it will have run custom ROM one day.
Geodripp said:
This seems like a cool idea. I'm willing to help with some testing if I can catch up. I remember getting this phone a few years back and due its low popularity I never thought it would get rooted. Now that it is I am at a loss of what to do. (I think I may have messed up a few things during my previous attempts at rooting, I can no longer access my security tab and my phone no longer detects the sim card.)
Any tips on how to get it safely backed up? (not that it's in great shape) I tried the TWRP tool and that gave me the option to backup "recovery" and "boot" (not that I really know what those are). I am not sure if it's actually making the files or where I should be storing them or how I would recover from them. I can see the files with ES file explorer but not with windows.
I really need to figure out what I'm doing XD
Click to expand...
Click to collapse
Sorry for my reply earlier, I skimmed your post and thought you were trying to RESTORE a backup since your phone was in such terrible condition.
Just to be clear, unless the 306SH gets a new recovery, there is usually no reason to backup "recovery" as that is just backing up your current TWRP.
(Usually used in case a new TWRP version is buggy and you want to restore back to your old one)
However, certainly backup boot as that contains all kernel files and ramdisk settings, and without it, the phone would not 'boot'.
Just backup everything. Leave everything checked. (Unless you're a stickler for space.)
I recently made a flashable Aquos Crystal Stock ROM (seems camera and data and everything work fine) with no carrier-specific apps installed.
I can supply you with that, or, if you'd prefer, I can make a TWRP backup of a factory default 306SH phone and send it your way,
for either of them, just put one on your SD Card and if TWRP Backup, press "restore" and select the backup I provided you with, or for flashable ROM, press "flash" and navigate to it.
There is really no difference between them.
However, some things to note if you do want me to supply you with a backup.
It has SUPERSU preset installed. (I can't change this. It made its way into about everything.) So, if you want to use apps like (Android Pay, Applike), you will have to open SuperSU, and click "UNRoot" and take it off.
I have fixed Kitkat 3rd Party SD Card write privileges, (bug in android 4), and that fix has also seemingly worked itself into my factory default as well. (No disadvantages to it, although..)
Both of these files will fix your issues and supply you with a factory default environment.
If you, or anyone else in this forum would like a factory default TWRP backup, or flashable zip, feel free to say so.
I'm at a standstill. I've gotten my hands on a niche version of CyanogenMod 11, and replacing some vital files, I got it to boot on Sharp Aquos Crystal.
However, files I replaced were apk's, system ui, libs, and breaks some (most) functionality of Cyan 11.
I need a boot log tool of sorts so I can replace files, do a boot log, figure out what is causing a boot loop, or forever boot, and fix it.
I looked online, and everyone is all about the logcat. However, I tried this and it says "waiting for device".
So the device does not reach booting adb daemon.
I need a tool that will save a boot log.txt to the SD card at boot, (I imagine init.rc ) so that I may debug the ROM and then use the working ROM (and logging tool) to port more recent ROMs.
Anyone know of any such logging facility/tool?
keep it up
Does anyone know of a boot debugging/logging tool? There must be one. Please reply to this forum or PM me about one, as I do need one.
It is vital to building a ROM, rather than stupidly copy-pasting and blind guessing playing at Roulette trying to get the ROM to work.
Please. I need one.

Categories

Resources