Related
Unofficial Kitkat 4.4.4 update for the Boost (XT1031) Moto G
by GPz1100
Purpose: To explore the recently released 4.4.4 update and retain the ability to revert back to older Boost firmware. The full firmware update package changes other areas on the device that prevents downgrading. Flashing 4.4.2 software on device with the 4.4.4 update results in an unstable, nonworking phone.
This archive contains just the system and kernel portions of the firmware. Based on the official 4.4.4 update from Motorola for the XT1031. By only altering these partitions, full downgrade options remain. In testing, all functions of the phone appear to work normally. Full network connectivity remains (including 3g data), camera works, wifi, etc.
Why: Forward thinking. Retaining options. Samsung devices come to mind. After the first OTA on devices such as the VZW S4 (S3 suffered the same fate after later updates) boot loader was entirely locked. No non-stock roms or even stock roms using non-stock kernels.
Precautions: Generate a backup image of your current system before proceeding. Results have been successful dirty flashing (no factory reset). Highly unlikely to brick your phone, but as with all disclaimers, proceed at your own risk.
Requirements: XT1031 Moto G w/4.4.2, TWRP recovery
Installation:
1) Download and extract the entire contents of the archive into the following location on the internal storage
Computer\XT1031\Internal storage\TWRP\BACKUPS\{SERIAL}
The value for {SERIAL} can be obtained from settings|about|status|serial Number. Case does matter for everything. If the folder structure is not maintained, the package will not be visible in step #4.
2) Reboot into recovery
3) Tap on WIPE, ADVANCED WIPE, put a check mark next to Dalvik cache, and cache (1st and 4th entries). Swipe to begin
WARNING, do not check anything else or you will factory reset or possibly erase the internal storage.
4) Tap Home, then Restore, Select BOOST_KITKAT_4.4.4 as the restore package from the list, Swipe to begin
5) Once done, tap Reboot System. First boot will take a few minutes longer.
Enjoy!
Link
OK Please note (4-25-17) this message is a work in progress, as I slowly restore my system.
This is a listing and hopefully helpful listing of what I did (right and wrong)
in upgrading my Systemless-rooted (suuser) phone from 6.01 to 7.00 (nougat)
# 1. it did not work, and I went back to 6.01 successfully using the twrp recovery
I have previously used Bender's guid (here) to get the system-less root on 6.01.
essentailly, here's the best plan. Use the Minimal ADB and Fastboot package (MADB &F) (here)
(Explanation: the MADB&FB package will allow you do do LOTS of stuff related to updating your phone, with very little grief.)
it also includes the ability to automatically "push" a package over your usb connection if the ZIP file doesnt load right. **THIS will come in handy later!
Once MADB&F is installed, make note of your directory, and then make sure you start your dos window (for pc users) as an administrator!
BTW, if I HADN'T made the "TWRP backup" of my system, I'd be Sh*t out of luck right now...", because I screwed up the 7.0 upgrade.
the technical problem was that I had no data, no modem, no way of getting data/voice in/out.
SIMPLY using the TWRP restore fixed me!!!
(so far, we have MADB&FB, downloaded and bender's (chainfire) rootless guide.
Next you want to download the current firmware image for your phone. This will be a lifesaver, I promise!
3) Download a TWRP image (this will MAGICALLY load on your pc when you tell it you need help! Look HERE
(Athene is the Motorola Codename for the motoG4+)
3) copy the athene TWRP image into your madb&FB directory to make it easy to load
4) next, (you still haven't touched your phone yet, you realize: (skipping some basics here, you can search here on XDA to find more info)
a) plug your phone into your pc
b) make sure you are a developer
c) make sure your phone shows you are connected to your pc for file transfers, NOT for charging
5) in your MADB&FB directory, (aka a dos/(admin) window) type the following:
all commands at this point will take place in whatever directory you installed Minimal ADB & Fast boot (MADB&FB)
Connect your phone to your PC and open MADB&FB, check the connection with:
adb devices
return should include your "serial-no" and "device".
6) next, on pc, tell the system to reboot your phone to the bootloader!
Reboot into bootloader with:
adb reboot-bootloader
and check again with:
fastboot devices
7) Next you are going to download TWRP to your phone (not permanently, just for a bit!)
fastboot. flash recovery twrp-3.0.2-0-athene.img
Now you have TWRP (Team Windows RECOVERY PROJECT) loaded.
SO.. THIS is where you create a backup of your current stuff using the backup options.
NEXT:
take the suUser2.78 (stateless rooting), and once your backup is done, install it from TWRP
Then (I was) back to 6.01 rooted.
NEXT: 7.0 and then rooting... (will update tomorrow)
did a successful upgrade to 7.0,
then unsuccessfully tried to sideload supersu2.78, which bricked loader
then downgraded again to 6.01 (and rooted again, ok)
will continue tomorrow.
need working phone for now..
cheers to all, and to all, a happy spelunking!
You can't root factory Nougat as is, it is well encrypted.
You need to replace first the kernel with the ElementalX one, or you will end up with bootloops.
Only after that you can do SuperSU, but only with the latest beta.
A few pointers from your story:
1)As you've found out the hard way, you won't be able to update to Nougat if you have root and/or TWRP, because the update requires a stock system - stock recovery, system and no modifications (bootloader status doesn't matter). In other words, you'll need to unroot and restore your stock recovery - might be easier to reflash the stock system, probably the quickest way to flash a stock ROM (and update to Nougat) is to use the fastboot ROM. https://forum.xda-developers.com/moto-g4-plus/how-to/moto-g4-plus-xt1640-43-athene-npj25-93-t3549369 Of course, this will remove root and TWRP, as well as potentially wipe your data, so back up accordingly. This should flash the NPJ25.93-14 build on your device, which appears to be the latest global build.
1a)Also, if you flash Nougat this way, your bootloader and GPT partitions will be updated, so if you wish to downgrade to Marshmallow at any point, when flashing do not flash these partitions from the Marshmallow ROM. Fastboot should stop you, but a brick may occur if these get flashed.
1b) You may find in the Guides section TWRP backups of Nougat builds, I don't recommend using these to update your system with. Granted, they have most of the Nougat system in a TWRP backup, but some crucial firmware (e.g. the baseband) is not included, and may cause you issues if your device is not formally flashed to Nougat.
2) As SoNic67 has already mentioned, the stock kernel security will cause your device to bootloop should you choose to try to root following the Marshmallow method. If you wish to use SuperSU, follow this guide: https://forum.xda-developers.com/mo...de-root-moto-g4-plus-supersu-android-t3587918 You may wish to use a more up to date TWRP than the official 3.0.2 (I recommend shrep's TWRP 3.0.3 n4 here:https://forum.xda-developers.com/mo...covery-twrp-3-0-2-r3-moto-g4-g4-plus-t3494337) Whatever you do, ensure you flash first the ElementalX kernel before you flash the SuperSU v2.79 SR3 beta (https://forum.xda-developers.com/apps/supersu/2014-09-02-supersu-v2-05-t2868133), or apply the systemless fix with earlier SuperSU versions as directed in the aforementioned rooting with SuperSU guide. Else you'll be having bootloops or your device will not boot whatsoever. Here's my steps in successfully rooting Nougat: https://forum.xda-developers.com/showpost.php?p=71817346&postcount=225. Good luck either way.
echo92 said:
A few pointers from your story:
[...]
1b) You may find in the Guides section TWRP backups of Nougat builds, I don't recommend using these to update your system with. Granted, they have most of the Nougat system in a TWRP backup, but some crucial firmware (e.g. the baseband) is not included, and may cause you issues if your device is not formally flashed to Nougat.
[...]
Click to expand...
Click to collapse
After updating my US retail xt1644 to nougat, by restoring totally-stock marshmallow then taking the OTA, I wiped data and made a *complete* TWRP backup using @Shreps' unofficial 3.1 TWRP build (https://moto.shreps.fr/Moto G4 (athene)/recovery/twrp-3.1.0-athene_shreps.img).
This version of TWRP allows backup/restore of the full set of firmware partitions including baseband, DSP, etc.
In other words, I believe the TWRP backup folder in the following .zip file provides a one-stop path to the latest xt1644 USRET firmware by doing a restore from TWRP 3.1.0.
https://drive.google.com/file/d/0B4XobQzgZVHyRTlmSDMtYkdZeUU/view?usp=drivesdk
My only uncertainly is if the ota process modified the partition table in a way that might make this backup image incompatible with the xt1644 still in the marshmallow state.
I've often wondered if I (or a more skilled enthusiast) couldn't build a TWRP-flashable .zip that would setup the partition table, update the baseband, etc. This is what I've grown used to from devs on other phones I've had, but perhaps there's something about the way moto does things that makes this problematic.
Sent from my Moto G4 Plus using Tapatalk
bmeek said:
After updating my US retail xt1644 to nougat, by restoring totally-stock marshmallow then taking the OTA, I wiped data and made a *complete* TWRP backup using @Shrep's unofficial 3.1 TWRP build (https://moto.shreps.fr/Moto G4 (athene)/recovery/twrp-3.1.0-athene_shreps.img).
This version of TWRP allows backup/restore of the full set of firmware partitions including baseband, DSP, etc.
In other words, I believe the TWRP backup folder in the following .zip file provides a one-stop path to the latest xt1644 USRET firmware by doing a restore from TWRP 3.1.0.
https://drive.google.com/file/d/0B4XobQzgZVHyRTlmSDMtYkdZeUU/view?usp=drivesdk
My only uncertainly is if the ota process modified the partition table in a way that might make this backup image incompatible with the xt1644 still in the marshmallow state.
I've often wondered if I (or a more skilled enthusiast) couldn't build a TWRP-flashable .zip that would setup the partition table, update the baseband, etc. This is what I've grown used to from devs on other phones I've had, but perhaps there's something about the way moto does things that makes this problematic.
Sent from my Moto G4 Plus using Tapatalk
Click to expand...
Click to collapse
Nice one, hopefully that'll help more XT 1644 users I'm still not sure if TWRP can backup/flash the baseband by itself, but I don't have a XT 1644 to test. I imagine your backup will need a clean flash (wipe data/cache/Dalvik) to work?
The OTA process does update the partition table, but as far as I know, that should not prevent you from flashing back to Marshmallow/Nougat as you wish, so long as you did not try to downgrade the GPT/bootloader.
There was an effort to create TWRP flashables of the stock ROMs a little while ago (you can see the thread here: https://forum.xda-developers.com/moto-g4/development/fxz-athene-twrp-flashable-fastboots-t3562147) which if I understood it created flashable radios and ROMs from the firmware files we have. We can't touch the GPT/bootloader since, as I recall, you need a signed stock firmware to do so (and besides, downgrading GPT might be asking for a brick). I recall some users mention they were able to run Nougat TWRP flashes on the MM bootloader/GPT without issue.
There were issues with simply flashing the Nougat 93-14 radio baseband files for some US users, losing LTE in the process and appears the only resolution was to flash the stock ROM - I don't know what the cause was (perhaps no/incorrect CDMA support in the radio files?). Your TWRP flash is from a US based phone so may have better luck in that department, and will likely behave on your device since that OTA has updated all the firmware on your device that TWRP isn't able to touch. I still am not sure if we can use this TWRP backup to update on a MM device without issue, but only one way to find out...
Alright so I apologize in advance if this thread has been posted a million times and believe me, I've spent the last 4-5 days combing through to make sure I could get every detail of this process done correctly. So I'm not just blindly asking for instructions on how to root my phone. Apologies also if I posted this in the wrong place.
For starters, I'm using Moto G4 Plus XT1641 6.0.1 Build Number MPJ24.139-23.3. My carrier is Koodo in Canada (unsure if that's important but I'll need to being it up again for another point). The files I downloaded were from a youtube tutorial and this includes ADB program, TWRP img 3.0.2.0, supersu zip 2.46 and Motorola Drivers 2.5.4, SOME of which I think may have been outdated versions.
So Saturday night I tried to root my phone with those files. I followed some more guides, I unlocked my bootloader and I think I mostly did everything right except for getting the right supersu version as I've seen up to version 2.82. I think this may have been my first mistake but maybe someone correct me if I'm wrong? My other mistake was not making a backup in TWRP. I'd read about possible wifi problems after rooting so I grabbed the elemental package and possibly even flashed that wrong. I can't even remember the steps of what I did but I'm sure it was all wrong.
Main point, after all that I didn't have ccell service, wifi, etc. The common problems that arise when you do it wrong. I ended up just taking my phone in and getting a new phone. Exact same one, same model. And this brings me to where I am now. I've downloaded some new files and I want to make sure that I've got everything right as to avoid misunderstanding some key parts to the process.
Minimal ADB and Fastboot 1.4.2, twrp-3.1.1-0-athene.img, SuperSU-v2.82-201705271822, Motorola Drivers 2.5.4, and lastly XT1641_ATHENE-TELUS_MPJ24.139-23.3_cid50_subsidy-TELUS_CFC.xml. Notice how that last one says Telus? It's the parent company of Koodo so I'm hoping I can use that as a failsafe.
I think I've covered all the key points so to sum up:
1. Did I use the wrong supersu zip version and could that be a reason why I had no wifi/cell service? Is that also possible because I may have flashed the wrong carrier athene file?
2. Are the files I have downloaded now the correct ones I need and up to date?
3. I'm following this guide. With the files I have downloaded, is it still a correct step by step process? Are there other guides that work better?(thats not a knock on the original guide I'm refering to). https://forum.xda-developers.com/moto-g4-plus/how-to/root-systemless-rooting-supersu-2-74-2-t3405772
I think I've got the right know how and tools to root my phone but I'm just nervous of doing what I did before again and would like some reassurance that I'm doing it right. I've just come from jailbreaks, the world of root is much different. I appreciate any help or tips you guys can throw me!
Hmm, that's odd how you lost radio signal when you rooted, did you obtain radio signal back after you unrooted?
A few things I noted:
1)You may wish to update your device to a newer build, you might get an OTA inviting you to update to MPJ24-139-63 (or 139-64), which was the latest Marshmallow build. Once you've rooted, you will not be able to install OTA updates until you have unrooted and restored the stock recovery (from the same build as you currently have). If you get an OTA notification for any build beginning with NPJ, that's for Nougat.
2)If you plan to stay on Marshmallow, you don't need the ElementalX kernel - a custom kernel like ElementalX is compulsory on Nougat, whereas Marshmallow is not as strict with regards to rooting.
3) I hope the carrier ROM is okay, though from other reports, flashing the incorrect ROM can corrupt device partitions, leaving with no IMEI/no service/no FP. We have possible ways of repairing that though.
The tools you've downloaded seem to be okay and Bender's guide is still okay - even though the tools they've used are out of date - so the general procedure would be (up to you if you've updated MM at this point):
Install adb on your computer.
Boot your device to the bootloader.
Flash TWRP 3.1.1 athene (either the offficial TWRP or an unofficial build from shreps or oadam11) as directed.
Reboot to recovery (to make sure the recovery sticks).
Back up all partitions on your device, make the name descriptive.
Make another backup of the boot partition - this contains your stock kernel, useful for switching root manager.
Once the backups have been made, flash SuperSU v2.82.
Wipe cache/Dalvik
Reboot.
echo92 said:
Hmm, that's odd how you lost radio signal when you rooted, did you obtain radio signal back after you unrooted?
A few things I noted:
1)You may wish to update your device to a newer build, you might get an OTA inviting you to update to MPJ24-139-63 (or 139-64), which was the latest Marshmallow build. Once you've rooted, you will not be able to install OTA updates until you have unrooted and restored the stock recovery (from the same build as you currently have). If you get an OTA notification for any build beginning with NPJ, that's for Nougat.
2)If you plan to stay on Marshmallow, you don't need the ElementalX kernel - a custom kernel like ElementalX is compulsory on Nougat, whereas Marshmallow is not as strict with regards to rooting.
3) I hope the carrier ROM is okay, though from other reports, flashing the incorrect ROM can corrupt device partitions, leaving with no IMEI/no service/no FP. We have possible ways of repairing that though.
The tools you've downloaded seem to be okay and Bender's guide is still okay - even though the tools they've used are out of date - so the general procedure would be (up to you if you've updated MM at this point):
Install adb on your computer.
Boot your device to the bootloader.
Flash TWRP 3.1.1 athene (either the offficial TWRP or an unofficial build from shreps or oadam11) as directed.
Reboot to recovery (to make sure the recovery sticks).
Back up all partitions on your device, make the name descriptive.
Make another backup of the boot partition - this contains your stock kernel, useful for switching root manager.
Once the backups have been made, flash SuperSU v2.82.
Wipe cache/Dalvik
Reboot.
Click to expand...
Click to collapse
Thanks for the reply, it helps me feel a little more confident in what I'm doing. I didn't get my cell service back as I just took my phone into Koodo and they just gave me a new one. A few questions.
Are there some clear guides on how to recover from lost wifi and cell service? I've seen a few but it appears they all have different directions so as a newcomer to Android it does seems a bit confusing to what the right way to do it is. I'm also hoping someone can chime in on the Telus carrier IMG file as that seems to be my backup in case anything goes terribly wrong again. I'd hate to have to bring my phone back again a second time. Also, is it an easy process to make a backup of the kernel in TWRP? I've figured out how to make a backup of the normal partition, just hoping backing up the kernel is just as easy.
I think I'm near ready to take the root plunge in the coming days. It's good to see such a strong community here. Totally different from the jailbreak scene.
lemonlimejones said:
Thanks for the reply, it helps me feel a little more confident in what I'm doing. I didn't get my cell service back as I just took my phone into Koodo and they just gave me a new one. A few questions.
Are there some clear guides on how to recover from lost wifi and cell service? I've seen a few but it appears they all have different directions so as a newcomer to Android it does seems a bit confusing to what the right way to do it is. I'm also hoping someone can chime in on the Telus carrier IMG file as that seems to be my backup in case anything goes terribly wrong again. I'd hate to have to bring my phone back again a second time. Also, is it an easy process to make a backup of the kernel in TWRP? I've figured out how to make a backup of the normal partition, just hoping backing up the kernel is just as easy.
I think I'm near ready to take the root plunge in the coming days. It's good to see such a strong community here. Totally different from the jailbreak scene.
Click to expand...
Click to collapse
Hmm, I'm not aware of any guides specifically dealing with lost Wi-Fi and lost mobile signal. There are a few posts where we've had some success in getting radios back, but it involves either hex editing https://forum.xda-developers.com/showpost.php?p=72340548&postcount=98 or flashing hw, modem or fsg partitions from a working device (in this case, XT1641) The instances I've seen of lost Wi-Fi/mobile signal appear to have occurred during a stock ROM fastboot flash, but hoping someone can chime in as to whether it was just flashing the wrong region firmware or something else.
If you want to back up your kernel in TWRP:
Boot to TWRP
Tap 'Backup' on the main menu
Select only the 'boot' partition - this is the partition that contains your kernel (should be stock and clean if you've not rooted).
Rename the file to remind you it's your kernel.
Swipe to back up.
If you need to revert to this kernel, unroot first (depending on your root manager, you may have to boot and then unroot. I recall SuperSU unroots via the SuperSU app settings), then boot to TWRP.
Tap 'Restore' on the main menu
Navigate to your boot backup
Flash your boot backup
You should now have a clean stock kernel, so if you wish to switch root managers, you should be able to obtain root with your new root manager. We want a clean kernel (no modifications made) since uninstalling the old root may leave traces of root on your existing kernel, and thus may cause issues if you re-root with a different manager.
Good luck in rooting
echo92 said:
Hmm, I'm not aware of any guides specifically dealing with lost Wi-Fi and lost mobile signal. There are a few posts where we've had some success in getting radios back, but it involves either hex editing https://forum.xda-developers.com/showpost.php?p=72340548&postcount=98 or flashing hw, modem or fsg partitions from a working device (in this case, XT1641) The instances I've seen of lost Wi-Fi/mobile signal appear to have occurred during a stock ROM fastboot flash, but hoping someone can chime in as to whether it was just flashing the wrong region firmware or something else.
If you want to back up your kernel in TWRP:
Boot to TWRP
Tap 'Backup' on the main menu
Select only the 'boot' partition - this is the partition that contains your kernel (should be stock and clean if you've not rooted).
Rename the file to remind you it's your kernel.
Swipe to back up.
If you need to revert to this kernel, unroot first (depending on your root manager, you may have to boot and then unroot. I recall SuperSU unroots via the SuperSU app settings), then boot to TWRP.
Tap 'Restore' on the main menu
Navigate to your boot backup
Flash your boot backup
You should now have a clean stock kernel, so if you wish to switch root managers, you should be able to obtain root with your new root manager. We want a clean kernel (no modifications made) since uninstalling the old root may leave traces of root on your existing kernel, and thus may cause issues if you re-root with a different manager.
Good luck in rooting
Click to expand...
Click to collapse
That's perfect thank you so much. Am I right to assume that if I get into a jam then I can just restore/reflash my backups and I'll be back to normal?
To be safe, flash the ElementalX kernel before rooting.
reCoded said:
To be safe, flash the ElementalX kernel before rooting.
Click to expand...
Click to collapse
See this is where I get confused, the guy above you said ElementalX isn't needed on Marshmallow but you say i should use it anyway? I've seen a few differing opinions on what should and shouldn't be done, just not sure which one is the right answer.
lemonlimejones said:
See this is where I get confused, the guy above you said ElementalX isn't needed on Marshmallow but you say i should use it anyway? I've seen a few differing opinions on what should and shouldn't be done, just not sure which one is the right answer.
Click to expand...
Click to collapse
ElementalX v0.07 is not required on Marshmallow (provided you are planning on staying on 6.0.1), you can root the stock ROM kernel. You may wish to flash the ElementalX kernel anyway as this custom kernel gives you more control and tuning options compared to the stock kernel. On stock Nougat, because the anti-rooting kernel security is much stricter and enforced (whereas on Marshmallow I don't think it's enforced), then you need ElementalX or vegito or a custom kernel to bypass the security, by in effect replacing the stock secure kernel with a kernel that doesn't have those restrictions. Without replacing the stock kernel on stock Nougat systems, you can run into a bootloop.
As an MM kernel as mentioned before has weaker security regarding rooting, it's up to you if you choose to root the stock kernel or ElementalX.
I've rooted MM (MPJ24.139-63) in the past with SuperSU (v2.79) and only used TWRP and SuperSU.
In response to your other post, the backups should get you out of a jam, since what you're doing should only affect the partitions you've backed up previously (they in theory shouldn't go anywhere near your modem, bootloader or critical firmware). Bear in mind that the TWRP backup if restored in full will revert your messages and data to that backup. You may wish to use Titanium Backup or other tools to take occasional snapshots of your apps data that you can restore should you have to roll back.
lemonlimejones said:
See this is where I get confused, the guy above you said ElementalX isn't needed on Marshmallow but you say i should use it anyway? I've seen a few differing opinions on what should and shouldn't be done, just not sure which one is the right answer.
Click to expand...
Click to collapse
If you're on Nougat, then you should use ElementalX. If you're on Marshmallow, you don't need it.
echo92 said:
ElementalX v0.07 is not required on Marshmallow (provided you are planning on staying on 6.0.1), you can root the stock ROM kernel. You may wish to flash the ElementalX kernel anyway as this custom kernel gives you more control and tuning options compared to the stock kernel. On stock Nougat, because the anti-rooting kernel security is much stricter and enforced (whereas on Marshmallow I don't think it's enforced), then you need ElementalX or vegito or a custom kernel to bypass the security, by in effect replacing the stock secure kernel with a kernel that doesn't have those restrictions. Without replacing the stock kernel on stock Nougat systems, you can run into a bootloop.
As an MM kernel as mentioned before has weaker security regarding rooting, it's up to you if you choose to root the stock kernel or ElementalX.
I've rooted MM (MPJ24.139-63) in the past with SuperSU (v2.79) and only used TWRP and SuperSU.
In response to your other post, the backups should get you out of a jam, since what you're doing should only affect the partitions you've backed up previously (they in theory shouldn't go anywhere near your modem, bootloader or critical firmware). Bear in mind that the TWRP backup if restored in full will revert your messages and data to that backup. You may wish to use Titanium Backup or other tools to take occasional snapshots of your apps data that you can restore should you have to roll back.
Click to expand...
Click to collapse
Right on, I think I feel comfortable with this now! One more question though, with newer versions of SuperSU is it still necessary to make the command echo systemless=true or was that mostly for older versions? Also if that part is needed, should I run SuperSU from the data folder in TWRP?
lemonlimejones said:
Right on, I think I feel comfortable with this now! One more question though, with newer versions of SuperSU is it still necessary to make the command echo systemless=true or was that mostly for older versions? Also if that part is needed, should I run SuperSU from the data folder in TWRP?
Click to expand...
Click to collapse
The 'echo systemless=true', as I understand it, isn't required on SuperSU 2.79 or newer, so if you're flashing 2.82, you should be able to flash as is without having to run the command too Also makes uninstalling easier!
Hi everyone!
This is my second guide, but it was the first one written. Like I said in my first guide on how to systemlessly root your Pixel XL, I started writing these for myself so that I can keep straight all the things I like to do. I like simple, concise instructions that written clearly in way that anyone could understand. I've decided to start sharing these with the community!
This guide will teach you to manually flash Google's updates, like monthly security patches or version updates (like Oreo) to your Pixel XL while keeping your apps, settings, and data. It's a very simple and easy process. This guide assumes you know what the ADB/Fastboot and what flashing to your device means.
Pre-requisites:
1) The current ADB/Fastboot Platform Tools
2) A Pixel XL with an unlocked bootloader. This is essential, as a locked bootloader will not allow you to flash anything to your device
3) You should also be fully stock, meaning that you are not running a custom ROM (like PureNexus) and that you are not running a custom Kernel (like Franco or ElementalX)
4) OPTIONAL: Have a file structure for your device on your PC that makes sense to you - for Oreo updates, I use C:\Users\groov\Pixel XL\Oreo\ where I unzip the image and rename the folder to the month of the update, like August 2017 Stock. For the Platform Tools, I use C:\Users\groov\Pixel XL\platform-tools. I copy the necessary files into this folder for flashing.
STEPS:
1) Download the latest stock image
2) Unzip the stock image zip into your designated folder OR just unzip it right into platform-tools
3) Right click ‘flash-all.bat’ and click ‘edit’. You can use any text editor, like Notepad or Notepad++ (I like Notepad++ better because of the font highlighting and better tabbing)
4) Remove the ‘-w’ from near the end of the file; save the file
5) Put the device into bootloader mode (adb reboot bootloader OR power+volume down). Make sure the phone is connected to computer.
6) Double click ‘flash-all.bat’. The update will flash (this takes 5-10 minutes) and the phone will boot with the update installed and all data/settings preserved.
Please note that when you flash the update, it will seem at a few points like it is hanging; it is not. The process will clearly inform you when it is finished, and you will also get visual confirmation in the form of your device booting to system.
I have used this method twice so far - once to go back to 7.1.2 August Stock when I got into a TWRP bootloop trying to root (although I did not keep my data), and then to update to Oreo on Monday (I kept my data then). It worked successfully both times. This method will work for the regular Pixel as well (presuming you download the correct image).
This will obviously only work until Google stops supporting the first gen Pixels, but thankfully we have a long time until then
Please feel free to ask me any questions you might have. I will answer to the best of my ability, and if I don't know something I'll do my best to redirect you.
Good luck and happy flashing!
You can flash with locked bootloader if you download OTA image from same link just select "Full OTA Images" on left menu.
It will automatically preserve all the data, just follow instructions on the page.
I just used this method to update to the latest update. I'm still getting prompted on my phone to install the OTA. How can I stop the OTA update prompts?
Hi there,
I have a rooted Verizon S5 Developer Edition (CID 15, if it matters) running Android 4.4.4 (NK2, bootloader NCG). I am trying to get this phone up-to-date, with root, on at least the newest VZW stock Android release for now, and probably LineageOS in the future.
I’ve been spending hours searching through the forums trying to understand what is the deal with the bootloader requirements for these newer Android versions, and I’m stumped. In this QL1 thread it’s said that the bootloader doesn’t ever need to be changed to install a newer OS version, and LineageOS doesn’t mention anything about needing to do bootloader updates in its installation instructions. However, the ROMs from jrkruse with full installation instructions, like their QA1 ROM, clearly state that the bootloader “MUST BE ON PD1+”.
Can someone please clarify this apparent contradiction for me, so I know the correct way to proceed? I’ve tried reading through the hundreds of pages of comments on those threads as well as the bootloader unlocking thread, and there’s so much noise that I’ve been unable to find the answer, if it already exists.
Also, I know this is kind of an academic point, but if it’s true that the bootloader does need updating, is there a way to get an updated bootloader without changing the phone’s CID, since it is already an unlocked Dev Edition phone? (Search results are absolutely overwhelmed with people talking about “make your S5 a Dev Edition S5” so I have been unable to find any information about the actual Dev Edition phones.) The SamsungCID code seems to append a hard-coded blob of data onto the end of any bootloader; is this really all that needs to be done? The extra data at the end of my original NCG bootloader is 668 bytes, not 256 bytes, so it’s not obvious to me if it really is enough to just copy it straight over.
Thank you!
1CDT said:
Hi there, I have a rooted Verizon S5 Developer Edition (CID 15, if it matters) running Android 4.4.4 (NK2, bootloader NCG)..........
Click to expand...
Click to collapse
Since you've got a G900V device, with a CID15, you are able to unlock the bootloader. The following threads OP provides the instructions for unlocking the bootloader.
https://forum.xda-developers.com/showthread.php?t=3561529
From there you will be able to install TWRP Recovery and thus install a Custom Firmware like LineageOS.
Regarding the updates, the G900V is the only GS5 variant that doesn't require the Bootloader to be updated. Regarding the Firmware Baseband Modem Updates, the following thread provides them all that you can flash via Odin.
https://forum.xda-developers.com/showthread.php?t=3926673
Good Luck!
~~~~~~~~~~~~~~~
Unless asked to do so, PLEASE don't PM me regarding support. Sent using The ClaRetoX2 Forum App on my Sanyo Juno device.
Hi Ibuprophen,
Thank you for your help!
Ibuprophen said:
Since you've got a G900V device, with a CID15, you are able to unlock the bootloader. The following threads OP provides the instructions for unlocking the bootloader. […]
Click to expand...
Click to collapse
The phone already has a TWRP recovery installed, and is a Dev Edition phone so the bootloader is factory unlocked. As such, my understanding is that those unlocking instructions don’t apply unless I need a newer bootloader. Is this correct?
Ibuprophen said:
Regarding the updates, the G900V is the only GS5 variant that doesn't require the Bootloader to be updated. […]
Click to expand...
Click to collapse
It’s interesting to hear that the G900V is the only variant which doesn’t require the bootloader to be updated along with the system and baseband software, since the other threads I linked with the bootloader requirement are also G900V-specific. Do you know it’s not the case because you’ve personally used an Android 6+ ROM with a pre-PD1 bootloader? I know I could just flash the new ROM to Try It And See, but I’m hoping to avoid wasting time and energy on something that other experienced people know won’t work.
Thanks again!
1CDT said:
Hi Ibuprophen, Thank you for your help! The phone already has a TWRP recovery installed, and is a Dev Edition phone so the bootloader is factory unlocked..........
Click to expand...
Click to collapse
I only stated that the Bootloader doesn't have to be updated for the G900V device.
The Baseband Modem Firmware does require updates (as their released).
Though, it's not harmful to this device to flash the Bootloader, it won't do anything different and you'll actually end up locking the bootloader again and have to go through the process of unlocking it.
The Verizon variant just passes on the same Bootloader image from one Firmware to the next one. This is just a Verizon thing and they don't make sense for allot of what they do.
If you want to update the Bootloader, that's, of course, up to you...
~~~~~~~~~~~~~~~
Unless asked to do so, PLEASE don't PM me regarding support. Sent using The ClaRetoX2 Forum App on my Sanyo Juno device.
So I will keep working on this, but I can’t currently verify that the bootloader doesn’t need to be updated on SM-G900V, based on the work I did today. So far I can only verify that LineageOS will boot and work with an NCG bootloader, except for some bug where it destroys data in the EFS partition which I suppose is not actually bootloader-related
First, after backing everything up in TWRP, I started with the baseband modem and firmware updates to QL1. The steps for this were:
1. Boot into download mode (vol dn + home + power)
2. Run heimdall flash --RECOVERY recovery.img --BOOT boot.img --no-reboot using the files from the stock QL1 image (any of them will do)
3. Hold power button to turn off phone
4. Pull battery
5. Boot into download mode
6. Verify that “Current Binary” is ”Samsung Official”
7. Run heimdall flash --MODEM modem.bin --APNHLOS NON-HLOS.bin --RPM rpm.mbn --SBL1 sbl1.mbn --DBI sdi.mbn --TZ tz.mbn using the files from the stock QL1 image (or from the baseband firmware thread, they are the same)
8. Hold power button to turn off phone
9. Pull battery
10. Boot phone back into download mode
11. Run heimdall flash --RECOVERY twrp.img to reinstall TWRP
12. Hold power button to turn off phone
13. Boot into recovery (vol up + home + power) to verify the flash and to ensure it doesn’t get erased
14. Reboot to system
This caused every application to crash on boot in the already-installed NK2 system ROM. I don’t know if I did something wrong, or if they are just incompatible; I did wipe cache and dalvik cache from TWRP, but that didn’t make things work. (I had the same problem when I had to roll back everything later; more on that in a bit.)
Since everything suddenly was broken, I assumed that the baseband update must have been successful (I later verified in LineageOS that it was indeed successful), so I followed the LineageOS instructions to sideload LineageOS and Open GApps from TWRP. This was successful and the OS installed and booted to the setup wizard.
The first problem I encountered at this point was that the mobile network wasn’t connecting during the setup wizard. I skipped this step of the wizard and continued on to configuring the OS settings. Eventually the mobile network connected while I was doing that.
When I started installing apps, I noticed that it took a very long time to receive SMS from the network. Upon investigation I discovered that LineageOS was using legacy CDMA for voice and SMS. I did research and discovered that LineageOS does not, and apparently never will, support VoLTE on klte. Since this is a non-starter for me (Verizon will be LTE-only by the end of next year, so I have no idea how LineageOS klte will exist at that point) I opted to wipe and load stock QL1.
While preparing to load stock QL1, I restarted the phone accidentally, and noticed that I’d permanently lost mobile network connectivity. I tried restoring my EFS backup from TWRP; this didn’t seem to fix the problem. I was going to install stock QL1 system anyway due to the VoLTE problem so I didn’t think about it any more.
At this point I followed these steps to flash stock QL1:
1. Boot to download mode
2. Run heimdall --BOOT boot.img --SYSTEM system.img --no-reboot using files from the stock QL1 image
3. Turn off phone
4. Reboot to recovery
5. Wipe data, cache, dalvik cache
6. Reboot to system
After 15 minutes at the Verizon logo while the dalvik cache was built, the setup wizard started and mobile network connection was working and I was able to complete initial setup for stock QL1. However, the system was not OK:
1. Wifi would not enable
2. The back and menu buttons did not work
3. When the phone locked, after a while, the notification LED turned red and the phone wouldn’t respond to any button presses (I had to pull the battery; this happened multiple times)
At this point I needed a working phone, so I found an NK2 stock image (this was difficult because all the links on xda-developers are dead and sammobile wants money for these old versions, so someone might want to reupload these!) and ran these steps to roll back:
1. The same steps above for installing the baseband modem and firmware, except using NK2 images and firmware
2. Boot to recovery
3. Wipe data, cache, dalvik cache
4. Restore NK2 TWRP backups of System, Boot, Data, EFS
5. Reboot to system
Instead of being fully restored, every app was crashing on boot again, like when I had updated the QL1 firmware and rebooted into the old NK2 system. I was finally able to get my full backup restored successfully by following these extra steps:
1. Boot to TWRP
2. Wipe Data
3. Reboot to system, until the setup wizard starts
4. Turn off the phone without running the wizard
5. Boot to TWRP
6. Restore Data
7. Reboot to system, everything is OK now
The hard buttons and wifi problem are noted by @jrkruse on the unlocking the bootloader thread. I had to get my phone back in a working state for tomorrow so I didn’t try the instructions to reflash the PD1 boot+recovery+firmware. I’m not actually sure if it’s correct today to reflash PD1 firmware instead of QL1 firmware; clarity here would be helpful. If anyone also sees a clear mistake in the steps I outlined above, I would be grateful to know that.
If I can’t get stock QL1 to not be broken, and it’s due to the bootloader requirement, then I guess I am stuck unless I start messing with the bootloader (given the “We still are unsure if changing the CID causes app store, verification, activation, provision, or other issues, everything you do is at your own risk!” warning, this means me trying to transplant my dev signature onto the EMMC 15 bootloaders even though my signature is a different size). I’m pretty terrified of doing that since there’s conflicting information about whether it’s possible to flash an old bootloader once you’ve upgraded past certain versions, and I haven’t learned yet how bricked the phone becomes if a bad bootloader is flashed. I know it’s not possible to flash old bootloaders on a retail device; is that true on Dev Edition devices too?
Thanks again for your help! I wish I had more positive news.
1CDT said:
Hi there,
I have a rooted Verizon S5 Developer Edition (CID 15, if it matters) running Android 4.4.4 (NK2, bootloader NCG). I am trying to get this phone up-to-date, with root, on at least the newest VZW stock Android release for now, and probably LineageOS in the future.
I’ve been spending hours searching through the forums trying to understand what is the deal with the bootloader requirements for these newer Android versions, and I’m stumped. In this QL1 thread it’s said that the bootloader doesn’t ever need to be changed to install a newer OS version, and LineageOS doesn’t mention anything about needing to do bootloader updates in its installation instructions. However, the ROMs from jrkruse with full installation instructions, like their QA1 ROM, clearly state that the bootloader “MUST BE ON PD1+”.
Can someone please clarify this apparent contradiction for me, so I know the correct way to proceed? I’ve tried reading through the hundreds of pages of comments on those threads as well as the bootloader unlocking thread, and there’s so much noise that I’ve been unable to find the answer, if it already exists.
Also, I know this is kind of an academic point, but if it’s true that the bootloader does need updating, is there a way to get an updated bootloader without changing the phone’s CID, since it is already an unlocked Dev Edition phone? (Search results are absolutely overwhelmed with people talking about “make your S5 a Dev Edition S5” so I have been unable to find any information about the actual Dev Edition phones.) The SamsungCID code seems to append a hard-coded blob of data onto the end of any bootloader; is this really all that needs to be done? The extra data at the end of my original NCG bootloader is 668 bytes, not 256 bytes, so it’s not obvious to me if it really is enough to just copy it straight over.
Thank you!
Click to expand...
Click to collapse
Hi, I'm the guy who did the bootloader unlock. It's kind of a complicated situation, upgrading bootloaders after having an unlocked retail bootloader. The issue is that once you have a dev device (CID + matching RSA signature, the extra 256 bytes), the bootloader write-protects the eMMC where aboot lives. Normally, if we wanted to upgrade the bootloader and maintain our unlocked bootloader, we'd grab the new bootloader, append our dev blob/signature, and just flash to the aboot partition.
The only way to get the newest bootloader is to flash the latest stock ROM (which locks your bootloader), and then unlock it again by rooting and appending the dev blob. I'm not sure if the latest ROMs can be rooted or not since I don't play with my S5 very often. You don't have to change the CID ever again. If you have a real dev device (you purchased it from Samsung as unlocked, not using our exploit), you will want to back up your device signature by just making a copy of the aboot partition. If this is the case for you, you can feel free to send me your aboot partition, and I'll carve out the signature that you need.
It's more so a limitation of the bootloader trying to prevent people from accidentally re-locking the bootloader. When Samsung signs the real dev device bootloaders, the dev blob/sig is apart of the code being signed, which means we can flash that in Odin while retaining your unlocked bootloader. We don't want to use an ancient bootloader, so this isn't useful. You can PM me if you want and I can walk you through the process, but it's pretty complicated so I feel better not posting the whole process and having people possibly brick their devices.
TL;DR
Just send me a PM and I'll walk you through everything. Don't flash or change anything if you have Developer Edition device that you purchased directly from Samsung. We want to preserve your device-unique "key".