Related
Hey guys, I've been wondering a few things, and I'm hoping to start some educational discussion going.
If the 2nd-bootloader simply bypasses the first locked one, doesn't that mean we can treat it as if it was the first? In other words, we can update the bootloader and such. Also, here's to the recoveries. Along with the 2nd-bootloader came TWRP. If I happen to find another recovery suitable for the KFHD7, can't I just flash that in TWRP?
It's not that I have problems with the defaults, it's just I'm a huge customization guy, and I like CWM Touch on my Android devices, running CyanogenMod. I know both of these are just not available for the KFHD7 just yet, but in case they do, will these be possible? I do know that if you try to update TWRP, the KFHD7 will end up in a bootloop, but for what reason, I have no clue. Can we go through the same process to install the 2nd-bootloader, but substituting the outdated TWRP with the updated TWRP?
For that matter, here's yet another thing: is the TWRP in the 2nd-bootloader specifically-designed for the KFHD7? If so, that probably explains why the recovery will not work if you try to update; the newer versions need to be ported in order to work. Anything you find interesting?
It seems like I recall due to the placement of the boot loader hack, the boot loader has to be modified (because it's sitting in the wrong spot). I would assume any are possible, but needs modified, and this is also why you get your boot loop
Sent from my GT-P3110 using xda app-developers app
Aside from the KF HDs having completely different partition tables from what the current custom recoveries are made for, the version of TWRP we use is slightly different from those made for the original KF.
The version of TWRP used for the 2nd generation KFs, uses the command 'rm -rf *' to wipe the partitions rather than doing a complete format as with most other versions. When ROMs are built, they are to include the stack override that hijacks the boot process and makes it possible to install unsigned boot and recovery images to their respective partitions. Without the stack override in place, there is no protection from the OMAP HS checking the signed headers of those partitions and halting the boot process, thus resulting in a major brick.
The sectors of the system partition that hold the stack override are supposed to be marked as protected, which should theoretically prevent the stack override from being wiped out by 'rm -rf *' when the system partition is wiped and the user decides to do something stupid like rebooting the device without installing a ROM (and in effect, the stack override) first.
I am told, of course, that this level of protection is entirely untested, but it goes to show you that custom recoveries need to made specifically for the 2nd generation devices with this in mind. And if the original KFs are any indication of how often people will try to reboot their device without a ROM in place, we'll know that protection of this sort (whether tested or not) is absolutely necessary to protect the average user from their own stupidity/ignorance.
As far as updating the 2nd bootloader, I'm not sure what would really need to be updated about it. It already does what it needs to do and I'm not sure what added functionality could be included with it since it's not an actual "bootloader" other than the fact that it might load and start the kernel. There are probably no hardware inits done because the first bootloader would have taken care of that, and there is no fastboot functionality added because fastboot still works with the first bootloader. I think that covers pretty much everything you would expect from an actual bootloader so other than changing the splash screen, there isn't really much you can change about it.
soupmagnet said:
Aside from the KF HDs having completely different partition tables from what the current custom recoveries are made for, the version of TWRP we use is slightly different from those made for the original KF.
The version of TWRP used for the 2nd generation KFs, uses the command 'rm -rf *' to wipe the partitions rather than doing a complete format as with most other versions. When ROMs are built, they are to include the stack override that hijacks the boot process and makes it possible to install unsigned boot and recovery images to their respective partitions. Without the stack override in place, there is no protection from the OMAP HS checking the signed headers of those partitions and halting the boot process, thus resulting in a major brick.
The sectors of the system partition that hold the stack override are supposed to be marked as protected, which should theoretically prevent the stack override from being wiped out by 'rm -rf *' when the system partition is wiped and the user decides to do something stupid like rebooting the device without installing a ROM (and in effect, the stack override) first.
I am told, of course, that this level of protection is entirely untested, but it goes to show you that custom recoveries need to made specifically for the 2nd generation devices with this in mind. And if the original KFs are any indication of how often people will try to reboot their device without a ROM in place, we'll know that protection of this sort (whether tested or not) is absolutely necessary to protect the average user from their own stupidity/ignorance.
As far as updating the 2nd bootloader, I'm not sure what would really need to be updated about it. It already does what it needs to do and I'm not sure what added functionality could be included with it since it's not an actual "bootloader" other than the fact that it might load and start the kernel. There are probably no hardware inits done because the first bootloader would have taken care of that, and there is no fastboot functionality added because fastboot still works with the first bootloader. I think that covers pretty much everything you would expect from an actual bootloader so other than changing the splash screen, there isn't really much you can change about it.
Click to expand...
Click to collapse
Very nice response, thank you!
In regards to updating the bootloader, I've seen devices like the Nexus 7 that updates the bootloader in order to flash new kernels and ROMs. I'm wondering if that same process applies to the Kindle line, if at all. That was never the case for me, because whenever I try to flash a new bootloader version (say 4.13 to 4.18) using a flashable zip, it would show as successful but my bootloader version remain unchanges. That brings up a question: can I flash literally anything that can be flashed through fastboot using the custom recoveries?
In other words, if I have an boot image, and someone theoretically converted that into a flashable .zip file, wouldn't I be able to flash the .zip through recovery, and have the same result as if I flashed using fastboot? This applies to newer custom recovery images, also. If I find another custom recovery specifically-designed for the Kindle (say a ported version of CWM Touch, similar to Hashcode's ports), do I have to flash the image through fastboot or simply create a flashable .zip and flash through TWRP?
mrkhigh said:
It seems like I recall due to the placement of the boot loader hack, the boot loader has to be modified (because it's sitting in the wrong spot). I would assume any are possible, but needs modified, and this is also why you get your boot loop
Sent from my GT-P3110 using xda app-developers app
Click to expand...
Click to collapse
Yes, I believe that's correct. I just read that Hashcode needed to port the specifically-designed recoveries, because otherwise the normal downloads on TWRP's websites are for unlocked devices only.
Hello All,
NOTE: You should unlock your bootloader.
These are patched TWRP recovery images for the Apollo and Thor devices only. Now Built from the latest .4.5.3 sources.
WARNING:
- Be sure to have a working /system partition before proceeding with installation.
Installation
- Ensure you are running stock firmware .3.2.3.2
- Obtain Root
- Copy the recovery image to the root of your sdcard
- Flash the recovery image by issuing the following commands:
Code:
adb shell
su
dd if=/sdcard/signed-<device>-twrp-2870.img of=/dev/block/platform/msm_sdcc.1/by-name/recovery
Download
- Apollo Recovery Image
- Thor Recovery Image
Thanks
- @vortox for the exploit
I see that everyone (well, almost) is using his exploit now. Is there a tool and/or link that I missed?
r3pwn said:
I see that everyone (well, almost) is using his exploit now. Is there a tool and/or link that I missed?
Click to expand...
Click to collapse
I gave @Cpasjuste and @ggow an earlier access to my tool, because I could't write my guide as fast as thought.
vortox said:
I gave @Cpasjuste and @ggow an earlier access to my tool, because I could't write my guide as fast as thought.
Click to expand...
Click to collapse
Ah.
I wrote the recovery on my apollo device which is running 14.3.2.3.2_user_323001720 version and it appears to work flawlessly. I booted into recovery (TWRP) successfully and rebooted the system successfully as well. Awesome!
Thanks for the feedback, glad it's all working
I haven't got a device at the moment to try it out on.
Sent from my Kindle Fire HDX using Tapatalk
Thanks ggow. Could we expect CM roms soon from your new release?
Working on 14.3.1.0
I just want to confirm, on 14.3.1.0_user_310078820 everything so far is working correctly, I can enter into TWRP, reboot system aswell, successfully tested backup and restore (from Safestrap created backups)
Thanks.
tuanda82 said:
Thanks ggow. Could we expect CM roms soon from your new release?
Click to expand...
Click to collapse
Hello tuanda82,
It depends on Amazon, my unlocked Apollo stopped working so they sent me a new one but came pre-installed with 4.5.2.
They have refused to downgrade me back to the old firmware. And after a lot of to and fro they agreed to replace it again .
I hope I have luck with the new device been on the required firmware.
But yes I definitely would like to make such a release.
dangerous
jeryll said:
I just want to confirm, on 14.3.1.0_user_310078820 everything so far is working correctly, I can enter into TWRP, reboot system aswell, successfully tested backup and restore (from Safestrap created backups)
Thanks.
Click to expand...
Click to collapse
I would not be trying interchang eROMs and or backups ppluntil certain things are verified by our developersgosh it only takes a few minutes to understand that one is built for locked bootloader the other one bypasses and they both flash completely different partitions and have different installation scripts.you're just asking to be one of the ignorant whiners on the sidelines while we have fun ..stuck with your brick. be patient guys this is all new stuff if you can't afford to be a developer then I devise you let somebody else take the risk
Can you tell me where TWRP Recovery is stored and what the boot process is like? Is TWRP called by the boot loader instead of the Linux kernel and it will in turn then start the Linux kernel from your installed system?
What happens when TWRP Recovery is damaged? Is there still a way to recover?
And is there a difference in how TWRP is started as opposed to Safestrap?
Edit: ok, so I see that TWRP Recovery is flashed to the recovery partition, so I guess it's separate from the boot image. And pressing volume up + the power button presumably activates the recovery image rather than the boot image. Did Safestrap work in the fashion I described? Why are we using TWRP for recovery now instead of Safestrap? Are there any advantages?
tbm13 said:
Can you tell me where TWRP Recovery is stored and what the boot process is like? Is TWRP called by the boot loader instead of the Linux kernel and it will in turn then start the Linux kernel from your installed system?
What happens when TWRP Recovery is damaged? Is there still a way to recover?
And is there a difference in how TWRP is started as opposed to Safestrap?
Edit: ok, so I see that TWRP Recovery is flashed to the recovery partition, so I guess it's separate from the boot image. And pressing volume up + the power button presumably activates the recovery image rather than the boot image. Did Safestrap work in the fashion I described? Why are we using TWRP for recovery now instead of Safestrap? Are there any advantages?
Click to expand...
Click to collapse
New recovery system
- Allows for custom kernels (meaning, CyanogenMod, Overclocking, and other things)
- Installed to "recovery" partition
- Bypasses signature verification check with some weird thing about exponents of 3 and the cubed root of something. I don't entirely understand how the exploit works.
- Called from the bootloader
- If you're in a bootloop, hold VOL+ & POWER (I think) to boot into TWRP.
SafeStrap
- No custom kernels (no CM)
- Installed to "system" partition (no key presses can get you to here if you're in a bootloop)
- Designed to provide semi-custom ROMs on devices with locked bootloaders
- Called from the Kernel
r3pwn said:
New recovery system
- Allows for custom kernels (meaning, CyanogenMod, Overclocking, and other things)
- Installed to "recovery" partition
- Bypasses signature verification check with some weird thing about exponents of 3 and the cubed root of something. I don't entirely understand how the exploit works.
- Called from the bootloader
- If you're in a bootloop, hold VOL+ & POWER (I think) to boot into TWRP.
SafeStrap
- No custom kernels (no CM)
- Installed to "system" partition (no key presses can get you to here if you're in a bootloop)
- Designed to provide semi-custom ROMs on devices with locked bootloaders
- Called from the Kernel
Click to expand...
Click to collapse
Do you have to be in the stock rom slot to install? Or can you be on a custom rom slot and install?
Håvi said:
Do you have to be in the stock rom slot to install? Or can you be on a custom rom slot and install?
Click to expand...
Click to collapse
Flash the rollback image to stock slot. This will then enable you to get back to 3.1.0
ggow said:
Flash the rollback image to stock slot. You need to be on stock version < 3.2.4.[/QUOT
Edit, found answer in OP
Click to expand...
Click to collapse
I was able to roll back to 3.1.0 and installed twrp. I was able to make a backup and successfully restored the backup. However after about an hour I came back to my kindle an noticed it updated itself to 4.1.1. I was under the impression with recovery installed any new updates would . Not be able to install. Now when I try to boot into recovery it on l y boots kindle recovery not twrp.
Sent from my KFAPWI using Tapatalk
tuanda82 said:
Thanks ggow. Could we expect CM roms soon from your new release?
Click to expand...
Click to collapse
The main problem for cm on appolo seems to be the kernel/bootloader. To run CM kernel (or amazon > 3.2.4) we need (or at least its the only way I found) to modifiy the boot image to manually happen the DT information's to the kernel zImage. Unfortunately this was tested with @ggow and it's not working on appolo. If someone if willing to send me an appolo device I could work on that ...
Cpasjuste said:
The main problem for cm on appolo seems to be the kernel/bootloader. To run CM kernel (or amazon > 3.2.4) we need (or at least its the only way I found) to modifiy the boot image to manually happen the DT information's to the kernel zImage. Unfortunately this was tested with @ggow and it's not working on appolo. If someone if willing to send me an appolo device I could work on that ...
Click to expand...
Click to collapse
Man, I wish I had more time for XDA. First time I've checked in in months. At any rate, it is awesome to see y'all learning & sticking with it! Since I haven't had much time for anything that isn't work related lately, I passed my rooted 3.2.6 Apollo to my Mom. I don't know if she uses it much, but I'll ask her & unless she did a complete 180 & is now becoming a tablet-phile, I could probably send you mine. I will ask her if I can have it back tonight & let you know.
Cpasjuste said:
The main problem for cm on appolo seems to be the kernel/bootloader. To run CM kernel (or amazon > 3.2.4) we need (or at least its the only way I found) to modifiy the boot image to manually happen the DT information's to the kernel zImage. Unfortunately this was tested with @ggow and it's not working on appolo. If someone if willing to send me an appolo device I could work on that ...
Click to expand...
Click to collapse
Amazon are sending me a new Apollo device (again)... hopefully I'll be back in business soon. I think there was something wrong with my device which is why I was having so many problems.
When I get the new device, hopefully it will be on the required firmware for me to try out the new kernel and CM. I'll report back when I have something... Shouldn't take me too long to get something up and running once I have a working device.
GSLEON3 said:
Man, I wish I had more time for XDA. First time I've checked in in months. At any rate, it is awesome to see y'all learning & sticking with it! Since I haven't had much time for anything that isn't work related lately, I passed my rooted 3.2.6 Apollo to my Mom. I don't know if she uses it much, but I'll ask her & unless she did a complete 180 & is now becoming a tablet-phile, I could probably send you mine. I will ask her if I can have it back tonight & let you know.
Click to expand...
Click to collapse
Thanks gsleon but don't rob your mom
---------- Post added at 10:57 AM ---------- Previous post was at 10:53 AM ----------
ggow said:
Amazon are sending me a new Apollo device (again)... hopefully I'll be back in business soon. I think there was something wrong with my device which is why I was having so many problems.
When I get the new device, hopefully it will be on the required firmware for me to try out the new kernel and CM. I'll report back when I have something... Shouldn't take me too long to get something up and running once I have a working device.
Click to expand...
Click to collapse
Crossing fingers
Our phone needs a bootable only TWRP, this is a fact.
This is because of the a/b partitioning but, more, since of the "new" recovery-in-boot.IMG design which links kernel & recovery presence in an unwanted way...
And a bootable TWRP is the "official solution" developed by TWRP Team for Pixel 2/2 XL - the more similar device up to date - to overcome this issue in better way. I fully agree with their solution and I had thought of it even before of their official release...
A LOT of development has been done on this phone during only last month, better installable TWRP, better kernels, better installation methods developed for them, both for first install and for upgrade too, BUT the lack of a boot-only TWRP, something easily (& ever...) accessible with a simple fastboot boot twrpboot.img command is every day more evident...
For some reasons this has been achieved (even if still with limitations...) on Pixels (with available sources obviously...) but, to date, not for our device...
I would like this thread will become the reference thread to all which would want to contribute on this development, a place to report achieved results and faced issues so that others could try to help & overcome them...
We still have a restricted team of developers, but most of them are *great* on their work... I'm sure that only with a bit more teamed up work, this is a result we could achieve in weeks... probably before Christmas!
So, just to start, everyone which has tried to develop (or study...) this, could report what type of issues has faced to date...
I will still have twrp on my boot image. When I was testing kernels without twrp and I got a horrid kernel panic, stock recovery just wiped the device rebooted, wiped, repeat. When I had a bad kernel panic alpha testing on twrp, it would just boot to twrp in tact then I could flash the old kernel. If everything was too messed up, just reflash twrp. All kernels I have made besides the ones that gave those issues work perfect in twrp. Even the ones where bogoMIPS freq was used instead of our frequencies. (38.0 MHz). I like the idea of not having to hook my device up to a computer to boot into recovery.
Uzephi said:
I will still have twrp on my boot image. When I was testing kernels without twrp and I got a horrid kernel panic, stock recovery just wiped the device rebooted, wiped, repeat. When I had a bad kernel panic alpha testing on twrp, it would just boot to twrp in tact then I could flash the old kernel. If everything was too messed up, just reflash twrp. All kernels I have made besides the ones that gave those issues work perfect in twrp. Even the ones where bogoMIPS freq was used instead of our frequencies. (38.0 MHz). I like the idea of not having to hook my device up to a computer to boot into recovery.
Click to expand...
Click to collapse
Yes, I understand this, BUT there are a lot of other scenarios where having a bootable TWRP could save the day and/or at least make things simpler....
On the other hand, you are the first developer I know who is quite ever going without root!
(So you can't be taken as the "average user"... )
enetec said:
Yes, I understand this, BUT there are a lot of other scenarios where having a bootable TWRP could save the day and/or at least make things simpler....
On the other hand, you are the first developer I know who is quite ever going without root!
(So you can't be taken as the "average user"... )
Click to expand...
Click to collapse
I am confused...(I am I am long time enthusiast, pls forgive my naivety!)
I can reboot into twrp without issue using current method in this forum. Is "bootable twrp" referencing where / how twrp is implemented on this device? What are we missing as users and fans of all the great room devs out there by using our current method?
Ty for any insights in advance.
3's&7's said:
I am confused...(I am I am long time enthusiast, pls forgive my naivety!)
I can reboot into twrp without issue using current method in this forum. Is "bootable twrp" referencing where / how twrp is implemented on this device? What are we missing as users and fans of all the great room devs out there by using our current method?
Ty for any insights in advance.
Click to expand...
Click to collapse
The bootable refers to the command fastboot boot boot_a your-filename.img or fastboot boot boot_b your-filename.img . For the Moto Z2 Force, it has to be compiled differently than a boot image intended to be flashed as with the command fastboot flash boot_a your-filename.img , or fastboot flash boot_b your-filename.img . The reason it now has to be compiled differently is that our boot image is combined with recovery. If you try to fastboot boot a fastboot flash type, it would boot normally into Android OS--if all went OK. If you fastboot flash flashed a fastboot boot type, the device would boot into recovery instead of normal Android OS. Both fastboot boot and normal boot result in the kernel and ramdisk being written to RAM--to volatile memory; the difference is whether the data originally came from the device's non-volatile storage or external PC via USB-C cable.
Alternatively, there are two main forms of zip installers for a combined boot image, which are intended to be flashed inside TWRP or an apk like FlashFire (FlashFire does not play nice with already Magisk rooted Z2 Force, in my experience): a zip flash that flashes the entire boot.img (ramdisk + kernel), or a zip flash that only replaces half of the boot image (the ramdisk). For combined boot images, the ramdisk-only type that does not replace kernel is the more common of the two flash zip types on the site TWRP.me . In fact, I have never seen an official installer that also replaced boot image kernel on the official site.
As mentioned above, the fastboot boot type is not meant to be fastboot flash flashed; rather, it is primarily meant to be a platform utilized to flash the TWRP zip installer. You will see some devices on TWRP.me that have both fastboot boot type and zip flash type, and the aforementioned technique is why both are provided. Take a look at Pixel 2 XL (codenamed Taimen) on TWRP.me, and you'll see this method supported.
@jhofseth .... I could never explain it in a better way! :silly::good:
To come back IT... @jhofseth I know you have studied a lot this thing in these weeks, so I have a question for you...
If you take a boot.img containing a TWRP recovery like one we already have, and try a fastboot boot TWRP.IMG it should boot to its included kernel and then to system (if possible...), right?
This way we can test a new kernel without flashing it but it isn't our goal...
Well, when already flashed on phone we can choose between reboot to kernel/system or TWRP by adb commands or by extensions like Gravity Box...
Is it so hard/possible/thinkable to modify one of our boot.img so that it is in some way "forced" to boot to its TWRP in any case?
(and so even when loaded with a fastboot boot command...)
enetec said:
To come back IT... @jhofseth I know you have studied a lot this thing in these weeks, so I have a question for you...
If you take a boot.img containing a TWRP recovery like one we already have, and try a fastboot boot TWRP.IMG it should boot to its included kernel and then to system (if possible...), right?
This way we can test a new kernel without flashing it but it isn't our goal...
Well, when already flashed on phone we can choose between reboot to kernel/system or TWRP by adb commands or by extensions like Gravity Box...
Is it so hard/possible/thinkable to modify one of our boot.img so that it is in some way "forced" to boot to its TWRP in any case?
(and so even when loaded with a fastboot boot command...)
Click to expand...
Click to collapse
I would work on this if someone explains in detail why our current setup is an issue. I have ran into plenty of kernel issues when building bad kernels and twrp as recovery was better than stock recovery (as stated above). Please, I want this if there is a real reason for it. Our stock recovery just factory resets the device, so a recovery with other options is kinda nice.
Temp booting a kernel: use AIK and inject kernel into a boot image.
New TWRP update, just flash the boot image (which might have new boot image as well) and just reflash kernel. It is better than needing to hook the phone up to a PC every time you want to boot TWRP...
enetec said:
To come back IT... @jhofseth I know you have studied a lot this thing in these weeks, so I have a question for you...
If you take a boot.img containing a TWRP recovery like one we already have, and try a fastboot boot TWRP.IMG it should boot to its included kernel and then to system (if possible...), right?
This way we can test a new kernel without flashing it but it isn't our goal...
Well, when already flashed on phone we can choose between reboot to kernel/system or TWRP by adb commands or by extensions like Gravity Box...
Is it so hard/possible/thinkable to modify one of our boot.img so that it is in some way "forced" to boot to its TWRP in any case?
(and so even when loaded with a fastboot boot command...)
Click to expand...
Click to collapse
Yeah, that is one way to test, but sometimes that will fail even when the kernel works. For example, sometimes if you fastboot flash, sometimes you also have to flash latest Magisk again right away in TWRP, or it won't boot into Android OS. That would be impossible with fastboot boot (i.e., unless you patched boot image first with Magisk manager apk, or some other tool), because you would be unable to flash latest Magisk (or SuperSU 2.82 beta SR5). So, sometimes fastboot boot would fail to normally boot into Android OS--even though the kernel may be completely OK.
Uzephi said:
I would work on this if someone explains in detail why our current setup is an issue. I have ran into plenty of kernel issues when building bad kernels and twrp as recovery was better than stock recovery (as stated above). Please, I want this if there is a real reason for it. Our stock recovery just factory resets the device, so a recovery with other options is kinda nice.
Click to expand...
Click to collapse
There are plenty of scenarios where a bootable TWRP could be hassle saving / needed BUT you ask for a single one and I'll give you one... Or two! :laugh:
I want to be free to install the kernel I want with TWRP version I want.
Now this is not possible (if not with weird/tricking installations! ).
E.g.: let's imagine to want to install latest *stock* kernel with latest TWRP.
I have kernel, I have TWRP flashable zips ( @jhofseth made some which are fantastic...) BUT no (simple) way to merge them.
More: as you like to have tweaked kernel BUT without root, there is plenty of people who like to not have TWRP flashed on their systems BUT still being able to make backups and/or flash zips... (e.g. we have already seen some incompatibility between CF-Root and TWRP in past...) and/or remain free to take OTAs... & so on...
I could continue for hours, but these are already valid reasons IMHO...
Pixel 2 developers are not stupid... they have choosed this solution for valid reasons...
enetec said:
There are plenty of scenarios where a bootable TWRP could be hassle saving / needed BUT you ask for a single one and I'll give you one... Or two! :laugh:
I want to be free to install the kernel I want with TWRP version I want.
Now this is not possible (if not with weird/tricking installations! ).
E.g.: let's imagine to want to install latest *stock* kernel with latest TWRP.
I have kernel, I have TWRP flashable zips (@jhofseth made some which are fantastic...) BUT no (simple) way to merge them.
More: as you like to have tweaked kernel BUT without root, there is plenty of people who like to not have TWRP flashed on their systems BUT still being able to make backups and/or flash zips... (e.g. we have already seen some incompatibility between CF-Root and TWRP in past...) and/or remain free to take OTAs... & so on...
I could continue for hours, but these are already valid reasons IMHO...
Pixel 2 developers are not stupid... they have choosed this solution for valid reasons...
Click to expand...
Click to collapse
Answer (I have done this before I flashed TWRP and it worked wonders): root a boot image, go into system, adb shell, su, dd if=/dev/block/sde17(sdf17 for slot B) of=/sdcard/boot.img You now have a rooted bootable image, return to stock image. now you can use Flash Fire to make backups and flash stuff....
You can flash any kernel to TWRP. you want the stock kernel to flash? I can make a flashable zip with the stock kernel by Motorola if needed. It isn't hard tbh...
jhofseth said:
Yeah, that is one way to test, but sometimes that will fail even when the kernel works. For example, sometimes if you fastboot flash, sometimes you also have to flash latest Magisk again right away in TWRP, or it won't boot into Android OS. That would be impossible with fastboot boot, because you would be unable to flash latest Magisk (or SuperSU 2.82 beta SR5).
Click to expand...
Click to collapse
Why do you think a "booted" TWRP wouldn't be able to correctly flash zips?
I don't see reasons for this...
jhofseth said:
...
So, sometimes fastboot boot would fail to normally boot into Android OS--even though the kernel may be completely OK.
Click to expand...
Click to collapse
In fact I wrote "if possible"... BUT anyway this is of no interest. We *only* need to boot to TWRP, we are not interested in boot to an "unflashed kernel" if you understand what I mean...
We have only to force it to boot *ever* in TWRP. Kernel parts not used by TWRP (if some are needed on our phone, like some Mediatek devices need...) could be omitted at all (as done on bootable TWRP for Pixels2 if I don't go wrong...).
Uzephi said:
Answer (I have done this before I flashed TWRP and it worked wonders): root a boot image, go into system, adb shell, su, dd if=/dev/block/sde17(sdf17 for slot B) of=/sdcard/boot.img You now have a rooted bootable image, return to stock image. now you can use Flash Fire to make backups and flash stuff....
You can flash any kernel to TWRP. you want the stock kernel to flash? I can make a flashable zip with the stock kernel by Motorola if needed. It isn't hard tbh...
Click to expand...
Click to collapse
This are exactly the *weird/tricking* solutions I was talkin'about...
(Edit: let me add I don't like this a bit... Root how? Command could be mistyped & flashfire for backups is an orrible & unsafe solution... Just imagine do all this with valuable data in danger... )
All is possible. BUT these are NOT solutions for average user. And every single one requires a different solution/set of commands.
This is not for average user. I repeat it.
You & @johfseth are *NOT* average users... you are fu**ing good developers* and can't evaluate all scenarios with your (advanced) skills & capabilities...
enetec said:
All is possible. BUT these are NOT solutions for average user. And every single one requires a different solution/set of commands.
Click to expand...
Click to collapse
I have offered to give a bootable rooted image to other people in my kernel thread. The thing is, if ANYTHING is edited, OTA won't work, so bootable TWRP won't be feasible, unless you just backup your system and not edit anything.
If the average user can't follow a dd if/of command, would you want them to have to "fastboot boot (image)?" they might flash it, then their boot image needs to be flashed back or it won't boot. There are downsides for bootable TWRP as well. Because we don't know the decryption keys, you still have to wipe data. If you don't decrypt with the zip or SU, you can't update, etc. Decrypting modifies system which in turn makes you not able to get OTAs. It's a vicious cycle. The keys as per DeesTroy change with each boot image, so we would have to make a TWRP that has all keys, then comes to what devices do we support. Currently, the two who are actively developing and have worked on TWRP or assisted with it's boot kernel have only two devices, Sprint and T-Mobile. We wouldn't be able to debug any other model for it's decryption key.
To reiterate: to have working bootable TWRP with all the idiosyncracies you are asking for, we'd have to go through the java code like DeesTroy did and get it working. I am not fluent in java. I can make a bootable TWRP, but you'll have to be decrypted, because I know C and Python which is what kernels and most ROMs use. I don't know much about Java to find the decryption keys for each device.
Edit: for easy analogy: let's say computer languages are like human languages. I know two languages that are anglo-saxan in heritage, but you are asking me to read something latin based. I might know some things in it, but it's all greek to me still... XD
Edit 2: Looking at the TWRP for Pixel 2, the only reason they have a bootable image is to flash TWRP to both boots per their OP. It wasn't suggested to temp boot it for flashing purposes or backup purposes. It was implemented to have it in both boot partitions per the TWRP OP linked here
enetec said:
Why do you think a "booted" TWRP wouldn't be able to correctly flash zips?
I don't see reasons for this...
In fact I wrote "if possible"... BUT anyway this is of no interest. We *only* need to boot to TWRP, we are not interested in boot to an "unflashed kernel" if you understand what I mean...
We have only to force it to boot *ever* in TWRP. Kernel parts not used by TWRP (if some are needed on our phone, like some Mediatek devices need...) could be omitted at all (as done on bootable TWRP for Pixels2 if I don't go wrong...).
Click to expand...
Click to collapse
I understand, I was mainly referring to fastboot stuff, not within TWRP. Any within TWRP stuff was related to Magisk, not the inability of TWRP to flash once TWRP was loaded, but the importance of re-flashing Magisk and the consequences of not re-flashing Magisk. It was really just centered on the importance of re-flashing Magisk. Anything related to kernels stemmed from someone's question about testing kernels. Just minor stuff, but someone asked.
Uzephi said:
...
Edit 2: Looking at the TWRP for Pixel 2, the only reason they have a bootable image is to flash TWRP to both boots per their OP. It wasn't suggested to temp boot it for flashing purposes or backup purposes. It was implemented to have it in both boot partitions per the TWRP OP linked here
Click to expand...
Click to collapse
And this is *ALL* we need IMHO!!!
Is this doable in your (or others...) opinion?
EDIT: and anyway it probably will work fine to flash something and/or to fully backup a system *including* stock boot.img highfive & only excluding encrypted /data (the same encrypted /data our flashed TWRP is unable to manage too... so, what's the point on it? )
Anyway, we are really going OT here... this is not "Could a bootable TWRP be useful?" thread (it's *obvious* it is... ) this is a "What are the issues we have to face & fix to get a working bootable TWRP?" …
So my questions are basically two:
- is there a method to modify (read: force...) a boot.img with TWRP inside like ones we already have so that it boots to TWRP and not to system?
- can Pixels2/2XL bootable-only official TWRP (sources should be available...) be modified to make it work on our (similar...) device?
I would like to keep OTA (at least until there is a lineage os) and must encrypt my z2. Will the bootable TWRP decrypt the system password and allow backup? If I go with a modified boot.img with TWRP, then can I get OTA updates? or must I wait until someone modifies the OTA boot and publishes it? Can I keep one partition with the OTA and the other with a custom rom image?
kendallgreen said:
I would like to keep OTA (at least until there is a lineage os) and must encrypt my z2. Will the bootable TWRP decrypt the system password and allow backup? If I go with a modified boot.img with TWRP, then can I get OTA updates? or must I wait until someone modifies the OTA boot and publishes it? Can I keep one partition with the OTA and the other with a custom rom image?
Click to expand...
Click to collapse
To get OTA, both slots have to have an unmodified boot image, oem image and system. If anything got modified, OTA will fail
Just to link some very useful info(s) posted elsewhere...
https://forum.xda-developers.com/showpost.php?p=74665682&postcount=347
https://forum.xda-developers.com/showpost.php?p=74667790&postcount=350
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Code:
#include <std_disclaimer.h>
/*
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/
Install guide:
Boot :
Code:
fastboot boot <twrp.img>
Install :
Code:
fastboot flash recovery <twrp.img>
Download:
twrp-3.5.0-0-rav-sofia.img
drive.google.com
XDA:DevDB Information
TWRP, Tool/Utility for the Moto G8
Contributors
vache
Source Code: https://github.com/TeamWin/android_bootable_recovery
Version Information
Status: Beta
Beta Release Date: 2020-08-28
Created 2020-08-28
Last Updated 2020-08-31
Hello, I'm trying to port TWRP to the motorola edge plus and right now I'm running into an issue where my touchscreen and adb do not work. Could you publish the device tree you used here so I can take a look at it and potentially get it working on my phone?
Thanks.
pixlone said:
Hello, I'm trying to port TWRP to the motorola edge plus and right now I'm running into an issue where my touchscreen and adb do not work. Could you publish the device tree you used here so I can take a look at it and potentially get it working on my phone?
Thanks.
Click to expand...
Click to collapse
You'd better check the moto edge tree : https://github.com/boulzordev/android_device_motorola_racer/tree/twrp
Unified one for trinket devices is here : https://github.com/moto-sm6xxx/android_device_motorola_sofiar/tree/twrp
Where to look at :
recovery/root/vendor/firmware - firmwares for touchscreen and vibrator
recovery/root/sbin/modules - drivers for touchscreen/battery/vibrator
recovery/root/sbin/load_ts_firmware.sh - in charge to load modules and tell touchscreen driver which firmware to load
Just like to confirm that this is working great either booted or installed. Thanks for the hard work vache :good::good:
There is no system partition to install to in TWRP. Super is listed twice. It may be nice to know what partitions listed actually mean.
No checkbox activation:
System
Vendor
product
USB storage
swear000 said:
There is no system partition to install to in TWRP. Super is listed twice. It may be nice to know what partitions listed actually mean.
Click to expand...
Click to collapse
It would be nice to see users searching by themself.
Google for "dynamic partitions" and "fastbootd". That could also help you to understand why omni is shipped as images for now instead of flashable zip.
vache said:
You'd better check the moto edge tree : https://github.com/boulzordev/android_device_motorola_racer/tree/twrp
Unified one for trinket devices is here : https://github.com/moto-sm6xxx/android_device_motorola_sofiar/tree/twrp
Where to look at :
recovery/root/vendor/firmware - firmwares for touchscreen and vibrator
recovery/root/sbin/modules - drivers for touchscreen/battery/vibrator
recovery/root/sbin/load_ts_firmware.sh - in charge to load modules and tell touchscreen driver which firmware to load
Click to expand...
Click to collapse
Oh thanks, I didn't even know you had a moto edge tree. I'll take a look at it and see what I can do with it.
OMNI
vache said:
It would be nice to see users searching by themself.
Google for "dynamic partitions" and "fastbootd". That could also help you to understand why omni is shipped as images for now instead of flashable zip.
Click to expand...
Click to collapse
Most people agree OMNI is a great ROM. System, Vendor, and product are critical partitions for ROM flashing so I am surprised TWRP does not toggle them correctly.
Update : https://drive.google.com/file/d/17QLv1Pzq9x1FCzAYKULfUTwn3R0akMXI/view?usp=sharing
Changelog :
-Fixed Novatech touchscreen
vache said:
Update : https://drive.google.com/file/d/17QLv1Pzq9x1FCzAYKULfUTwn3R0akMXI/view?usp=sharing
Changelog :
-Fixed Novatech touchscreen
Click to expand...
Click to collapse
I can confirm that it is fixed. I used Magisk's adb/fastboot module to unlock my Moto G Fast with my rooted G7 Play with a USB C to C cable, boot twrp, and make a back up. This is epic!
It took some digging to figure this out, so I'm going to outline the steps for getting this installed without a boot loop.
1. Unlock your device. (I'm not holding your hand here.)
2. Reboot into fastboot.
3. Temporarily boot twrp.
4. Install magisk by flashing the latest zip from twrp. Then flash the copy partitions zip so you don't hard brick.
5. Reboot to system, and you're now rooted.
6. Reboot into recovery.
7. From stock recovery select "enter fastboot" this takes you to "fastboot d" mode.
8. Flash twrp while you're in fastbootd mode.
9. Enjoy! Everything is working perfectly. Rebooting to recovery takes you to TWRP. Rebooting to system gives you root. We also have full decryption support.
Great work
Spaceminer said:
I can confirm that it is fixed. I used Magisk's adb/fastboot module to unlock my Moto G Fast with my rooted G7 Play with a USB C to C cable, boot twrp, and make a back up. This is epic![/QUOTE @Spaceminer View attachment g8fast-nexus7.zip
([emoji88]Omni Rom[emoji88])
Click to expand...
Click to collapse
asineth said:
Great work
Click to expand...
Click to collapse
Great work fixing the Bluetooth audio [emoji817]
([emoji88]Omni Rom[emoji88])
is it to much to ask for a more through explanation on how to flash twrp and magisk on this phone?.....
ninjakira said:
is it to much to ask for a more through explanation on how to flash twrp and magisk on this phone?.....
Click to expand...
Click to collapse
If you have telegram I walk you threw it PoochyX
([emoji88]Omni Rom[emoji88])
PoochyX said:
If you have telegram I walk you threw it PoochyX
([emoji88]Omni Rom[emoji88])
Click to expand...
Click to collapse
just send the invite to whatever telegram group then i suppose.....
Spaceminer said:
It took some digging to figure this out, so I'm going to outline the steps for getting this installed without a boot loop.
1. Unlock your device. (I'm not holding your hand here.)
2. Reboot into fastboot.
3. Temporarily boot twrp.
4. Install magisk by flashing the latest zip from twrp. Then flash the copy partitions zip so you don't hard brick.
5. Reboot to system, and you're now rooted.
6. Reboot into recovery.
7. From stock recovery select "enter fastboot" this takes you to "fastboot d" mode.
8. Flash twrp while you're in fastbootd mode.
9. Enjoy! Everything is working perfectly. Rebooting to recovery takes you to TWRP. Rebooting to system gives you root. We also have full decryption support.
Click to expand...
Click to collapse
I'm rather new to the scene, everything you're saying here makes sense except the copypartions.zip. Is this something that is the same for all phones or is there a special file i should have for the g fast?
and still bootloop lmao, im doing the exact steps provided exactly as i see them on this thread, christ ill send 20 bucks through paypal to whoever makes a actual detailed guide with explanations on what to do like for example what is the copy partitions zip? whats it for? do i make a patched boot image first if im coming from full stock? do i do any of this to the other partition? treat it like your making it for noobs like christ is it that hard to help out now lmao
ninjakira said:
and still bootloop lmao, im doing the exact steps provided exactly as i see them on this thread, christ ill send 20 bucks through paypal to whoever makes a actual detailed guide with explanations on what to do like for example what is the copy partitions zip? whats it for? do i make a patched boot image first if im coming from full stock? do i do any of this to the other partition? treat it like your making it for noobs like christ is it that hard to help out now lmao
Click to expand...
Click to collapse
If you have done an OTA update on the phone, AFAIK you don't need the copy-partitions.zip. The zip copies needed partitions from the used slot to the unused slot. So if it does change from one to another, you aren't left with a completely blank slot with nothing on it. (As i said, if you have done a OTA update, both slots will be populated, so it isn't necessary to flash the zip..)
SOMEONE SMARTER THAN ME CORRECT ME IF IM WRONG ON THE ABOVE STATEMENT PLEASE
So.. assuming you are on clean stock and you have done an OTA update... In fastboot:
(make sure you have a magisk.zip on your phone or sd card)
Code:
fastboot flash recovery <twrpfilename>.img
Then enter recovery mode from the bootloader menu you are still in.
Wait for twrp to load, install magisk, reboot.
Profit.
Now you are rooted, with twrp permanently installed.
p.s: Keep the 20 bucks and send it to vache :silly:
Code:
**Disclaimer
*I am not be responsible for any bricked devices, data loss or thermonuclear wars.
*You are using this at your own risk.
Introduction
Welcome to TWRP for Lenovo Tab M10 X505X. Make sure you read the entire post carefully before you proceed with installation.
Pre-installation
Install ADB and Fastboot. Refer to this link if you need help installing ADB and Fastboot.
Unlock the bootloader. Refer to this link if you need help unlocking the bootloader.
Installation
Flash the TWRP image from bootloader.
Code:
fastboot flash recovery twrp.img
Warning:
Do not reboot the system yet. Remove the connection from the device. Hold the power button until it turns off. Then turn it on again with the recovery combo: Power button + Volume Up + Volume Down.
Once booted into the TWRP recovery mode, if you want to flash it permanently(otherwise it will be replaced with stock recovery after a reboot), install Magisk from recovery.
You can goto advanced option in TWRP and use the "ADB Sideload" option to sideload the Magisk zip file. In case sideload doesnt work, use adb to push the Magisk zip file to /tmp and then install the zip normally.
Warning:
Do not push the zip file to /data. The data partition is encrypted and any damage done messing with the data partition will not be my responsibility. You have been warned.
Downloads
TWRP image for X505X
Magisk
Known Issues
From android 9.0 onwards, the data partition is force encrypted and is not available to the TWRP. This is not much of an issue because update zips and ROM flashes usually dont use the data partition. So the data partition is encrypted.
Changelog
Code:
This is the first version
Upcoming Features
Support for decryption of data partition permanently/temporarily.
Upcoming Project
A custom rom for this device if I get enough support.
Donations
I have spent a lot of time on this project. Consider buying me a coffee or donating. It will be great support.
Google Pay
Feel free to ask me if you encounter any problems.
Device Tree
For those who are curious. This is the device tree I ported for X505X.
If this helped you, hit the thanks button.
It would mean a lot to me if you could follow me on :-
Github
Instagram
Special Thanks
Code:
Yahoo Mike - For his great support
XDA:DevDB Information
Custom Recovery for Lenovo Tab M10 X505X, Tool/Utility for the Lenovo Thinkpad Tablet
Contributors
Shamil Niyas, Yahoo Mike
Version Information
Status: Beta
Current Beta Version: 2.84
Beta Release Date: 2020-11-12
Created 2020-11-13
Last Updated 2020-11-13
Reserved
Hi, Useful thread here, I flashed this recovery to X505F and it's working fine except MTP and data partition does not unencrypt.
Can it be fixed somehow?
looking for a custom rom for this device as well.
Please help!
Hi, i dont have a pc currently with me, how can i do it using a mobile.
zubair1836 said:
Hi, Useful thread here, I flashed this recovery to X505F and it's working fine except MTP and data partition does not unencrypt.
Can it be fixed somehow?
looking for a custom rom for this device as well.
Please help!
Click to expand...
Click to collapse
I'm still working on the data encryption. I will update as soon as possible.
Look forward to the custom rom..
cYBER~VeTeRaN said:
Hi, i dont have a pc currently with me, how can i do it using a mobile.
Click to expand...
Click to collapse
Unfortunately you cannot flash it without pc. Or if you can access fastboot using your mobile and termux you might be able to flash, though I cannot guarantee it.
Pls update twrp to latest verison 3.5
cYBER~VeTeRaN said:
Pls update twrp to latest verison 3.5
Click to expand...
Click to collapse
Thanks...I will update asap...
Sir, i would like to know which rom u r planning to port, expecting a gaming rom, also i would like to know the current progress , thanks in advance
I have a lenovo m10 tablet as well but it's said to be a X306F instead? Will it work you think?
Ooo_64 said:
I have a lenovo m10 tablet as well but it's said to be a X306F instead? Will it work you think?
Click to expand...
Click to collapse
Do try booting thr recovery without flashing and post the result.
For booting without flashing run :
fastboot boot recovery.img
cYBER~VeTeRaN said:
Sir, i would like to know which rom u r planning to port, expecting a gaming rom, also i would like to know the current progress , thanks in advance
Click to expand...
Click to collapse
I'm still working out the device tree for the rom. Will update as soon as possible.
Forgive me for wondering, but I'm looking at buying a tablet, and I wonder a few things, first of which would be, what is everyone's experiences with this tablet??? The next thing I wonder is if you only plan on doing a single rom??? Say for instance, you started out with a CM rom, then did my personal favorite, ressurrection remix... Or maybe do remix first
Either way, I love android, but am missing ressurrection remix since back when I had a phone that supported it... The ressurrection remix rom has so many options it could take a 30$ device and make it feel like a 300$ device, but that's also a problem, because with lots of extra features and settings comes the greater possibility of bugs
Wiebenor said:
Forgive me for wondering, but I'm looking at buying a tablet, and I wonder a few things, first of which would be, what is everyone's experiences with this tablet??? The next thing I wonder is if you only plan on doing a single rom??? Say for instance, you started out with a CM rom, then did my personal favorite, ressurrection remix... Or maybe do remix first
Either way, I love android, but am missing ressurrection remix since back when I had a phone that supported it... The ressurrection remix rom has so many options it could take a 30$ device and make it feel like a 300$ device, but that's also a problem, because with lots of extra features and settings comes the greater possibility of bugs
Click to expand...
Click to collapse
RR is available on Project Treble as a GSI. You could try that.
So, I flashed recovery, tried rebooting by holding down power button and the volume buttons and now it's stuck in an infinite boot loop. Screen shows lenovo logo, and then it goes blank, vibrates, and then restarts to lenovo logo again. Holding down the power button won't even shut it off. Please help.
TWRP flashed successfully but sadly the data partition didn't work.
so to make it work, I first formatted the data partition and through the adb sideload I flashed disable-dm-verity (attached) and it now works, data-partition is not encrypted anymore.
I also compiled an orange fox recovery for it and the data partition is also working on it.
Yahoo Mike said:
RR is available on Project Treble as a GSI. You could try that.
Click to expand...
Click to collapse
Is the GSI Booted?
One update guys.
I accidently wiped system of TB-X505X and flashed Android 12 Beta 2 GSI and it worked.
only Bluetooth is dead.
and when plugging aux getting grounds from both system speakers and earphone
Wiebenor said:
Forgive me for wondering, but I'm looking at buying a tablet, and I wonder a few things, first of which would be, what is everyone's experiences with this tablet??? The next thing I wonder is if you only plan on doing a single rom??? Say for instance, you started out with a CM rom, then did my personal favorite, ressurrection remix... Or maybe do remix first
Either way, I love android, but am missing ressurrection remix since back when I had a phone that supported it... The ressurrection remix rom has so many options it could take a 30$ device and make it feel like a 300$ device, but that's also a problem, because with lots of extra features and settings comes the greater possibility of bugs
Click to expand...
Click to collapse
https://forum.xda-developers.com/t/...top-style-tb-x505x-lenovo-tab-m10-hd.4306713/.
You can go here for RROS for lenovo tab M10 Hd x505x
cYBER~VeTeRaN said:
Hi, i dont have a pc currently with me, how can i do it using a mobile.
Click to expand...
Click to collapse
Use Termux in other device
I tried rooting my lenevo tab M10 hd and flashed a incorrect boot img as I am new to rooting and bricked up my device then from some where I got the correct boot img and recovered my device but now I am unable to use its internal storage , its shows some random letters when I open the file manager can you guys help me out resolving this issue.