incremental OTA how to get another system information? - Google Pixel Questions & Answers

Hi,friends:
The pixel use AB_System to avoid system down,but incremental OTA need source system information,if we are system _a, it's not information about system _b,how to push incremental OTA which based on system _b?In system _a, what property can help us to know which incremental OTA base on system _b is needed? Thanks.

Related

[NO LONGER MAINTAINED][RECOVERY][aca] TWRP touch recovery

UPDATE: I am no longer maintaining TWRP for devices that I do not possess. I am also no longer posting on XDA.​
Code:
*** Disclaimer ***
All flashing is done at your own risk!
While nothing from this thread should break your device,
don't come back here blaming anyone if it does!
Introduction
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.
Click to expand...
Click to collapse
Images
Installation instructions
NOTE: Read the FAQ from Post #2 to ensure that you're installing the correct version of TWRP!!
Fastboot Install Method:
You will need the platform-tools from the Android SDK on your computer. Find the Android command line tools section on the page linked and install the SDK tools package. From the SDK Manager, download only the platform-tools to get adb and fastboot binaries.
Windows users will need proper drivers installed on their computer. You can try the Naked ADB drivers or the Universal ADB drivers if you don't already have a working driver installed
On your device, go into Settings -> About and find the Build Number and tap on it 7 times to enable developer settings. Press back and go into Developer Options and enable USB debugging. From your computer, open a command prompt and type:
Code:
adb reboot download
You should now be in fastboot mode.
Download the correct image file and copy the file into the same folder as your adb and fastboot binaries. Rename the image to twrp.img and type:
Code:
fastboot flash recovery twrp.img
Code:
fastboot reboot
Alternate Installation Method (requires prior TWRP installation):
TWRP Image Install method:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed.
Download the latest version of TWRP appropriate for your device/firmware
Reboot to TWRP
Hit Install and tap the "Install Image" button in the lower right
Browse to the location of the TWRP image on your device and select it
Select recovery from the partition list and swipe to flash
Click to expand...
Click to collapse
Device Changelog
Current version: 3.2.1-0:
Code:
[LIST]Initial official release[/LIST]
Older Device-specific versions:
Code:
[LIST]N/A[/LIST]
Click to expand...
Click to collapse
TWRP Official Changelog
Current version: 3.2.1:
Code:
[LIST]minui fixes (cryptomilk)
[*]Better android-8.0 compatibility in ROM trees (Dees_Troy)
[*]Fix missing library in android-8.0 (nkk71)
[*]Fix inconsistent SDCard naming (DevUt)
[*]Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)[/LIST]
Older versions:
Code:
[SIZE="4"][COLOR="Green"]3.2.0:[/COLOR][/SIZE]
[LIST]Allow restoring adb backups in the TWRP GUI (bigbiff)
[*]Fix gzip backup error in adb backups (bigbiff)
[*]Fix a bug in TWRP's backup routines that occasionally corrupted backup files (nkk71)
[*]Better support for installing Android 8.0 based zips due to legacy props (nkk71)
[*]Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
[*]Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
[*]Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
[*]v2 fstab support (Dees_Troy)
[*]Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
[*]Various other minor bugfixes and tweaks[/LIST]
[SIZE="4"][COLOR="Green"]3.1.1:[/COLOR][/SIZE]
[LIST]Backups will now include adopted storage keys (Dees_Troy)
[*]Fixed an adb restore issue (bigbiff)
[*]Fixed rebooting when no OS is present (Dees_Troy)
[*]Fixed line wrapping in the GUI terminal (_that)
[*]Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)[/LIST]
[SIZE="4"][COLOR="Green"]3.1.0:[/COLOR][/SIZE]
[LIST]vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
[*]adb backup to stream a backup directly to or from your PC, see documentation [URL="https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9"]here[/URL] (bigbiff)
[*]tweak MTP startup routines (mdmower)
[*]support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
[*]support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
[*]better indicate to users that internal storage is not backed up (Dees_Troy)
[*]improve automatic determination of TW_THEME (mdmower)
[*]minimal getcap and setcap support (_that)
[*]try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
[*]shut off backlight with power key (mdmower)
[*]timeout during FDE decrypt (Dees_Troy and nkk71)
[*]support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
[*]boot slot support (Dees_Troy)
[*]TWRP app install prompt during reboot (Dees_Troy)
[*]support for AB OTA zips (Dees_Troy)
[*]support new Android 7.x log command (Dees_Troy)
[*]update recovery sources to AOSP 7.1 (Dees_Troy)
[*]numerous bugfixes and improvements by too many people to mention[/LIST]
[SIZE="4"][COLOR="Green"]3.0.3:[/COLOR][/SIZE]
[LIST]Partial release to help support the release of the [URL="https://www.xda-developers.com/team-win-releases-their-first-official-twrp-app-in-the-play-store/"]Official TWRP app[/URL][/LIST]
[SIZE="4"][COLOR="Green"]3.0.2:[/COLOR][/SIZE]
[LIST]Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
[*]Add Greek translation to some builds.[/LIST]
[SIZE="4"][COLOR="Green"]3.0.1:[/COLOR][/SIZE]
[LIST]support new CM 13.0 pattern encryption (sultanqasim)
[*]fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
[*]libtar updated to latest upstream and fixes (jcadduono)
[*]fixes for loading custom themes (_that)
[*]TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
[*]translation updates - added Italian, Czech and Polish and significant updates to Dutch
[*]progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
[*]fix input box text display (Dees_Troy)
[*]reboot option after zip install complete (bigbiff)
[*]other mostly invisible bug fixes and improvements[/LIST]
[SIZE="4"][COLOR="Green"]3.0.0:[/COLOR][/SIZE]
[LIST]Completely new theme - Much more modern and much nicer looking (by z31s1g)
[*]True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
[*]Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
[*]Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
[*]Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
[*]Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
[*]SuperSU prompt will no longer display if a Marshmallow ROM is installed
[*]Update exfat, exfat fuse, dosfstools (by mdmower)
[*]Update AOSP base to 6.0
[*]A huge laundry list of other minor fixes and tweaks[/LIST]
[U]Additional Notes[/U]
[LIST]WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
[*]Notes for themers: In addition to the updated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
[*]Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
[*]We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance![/LIST]
[SIZE="4"][COLOR="Green"]2.8.7.0:[/COLOR][/SIZE]
[LIST]Initial ground work for software drawn keyboard (_that)
[*]Fix handling of wiping internal storage on datamedia devices (xuefer)
[*]Allow DataManager to set and read values from the system properties (xuefer)
[*]Fix crash when taking screenshots on arm64 devices (xuefer)
[*]Fix error message after an ORS script completes (Dees_Troy)
[*]Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
[*]Add system read only option – more details below (Dees_Troy)
[*]Add resize2fs and GUI option to run resize2fs (Dees_Troy)
[*]Fix crash loop caused by empty lines in AOSP recovery command file (_that)
[*]Prevent duplicate page overlays such as multiple lock screens (mdmower)[/LIST]
[U]Additional Notes[/U]
[LIST]Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.
[*]System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.
[*]resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.
[*]This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at [url]https://jenkins.twrp.me[/url] and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at [url]https://gerrit.twrp.me[/url] to help us keep devices up to date and working.[/LIST]
Click to expand...
Click to collapse
Downloads
NOTE: Read the FAQ from Post #2 to ensure that you're installing the correct version of TWRP!!
Download
Latest Official versions
Sources
Device tree
Click to expand...
Click to collapse
FAQ - Post #2
Known Issues
Reboot recovery option doesn't work - device will only reboot to system (needs custom-built kernel to fix)
Click to expand...
Click to collapse
Bug Reporting
If you have an issue, the first step is to post a recovery log so we can determine the cause of the issue. This is done in recovery using Advanced -> Copy Log, or adb pull /tmp/recovery.log. Once a log is uploaded we can determine how best to proceed. NOTE: Posts that are reporting bugs or issues without an accompanying recovery log will be ignored! Additionally, providing details about your device setup, including variant, firmware version, and exact steps to reproduce your issue will also be helpful in diagnosing the problem.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If your issue is determined to be a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
Click to expand...
Click to collapse
Additional Help/Support:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
Click to expand...
Click to collapse
XDA:DevDB Information
Team Win Recovery Project (TWRP), Tool/Utility for the HTC Bolt
Contributors
Captain_Throwback, OMJ, nkk71, Dees_Troy, bigbiff, _that
Source Code: https://github.com/omnirom/android_bootable_recovery
Version Information
Status: Stable
Current Stable Version: 3.2.1-0
Stable Release Date: 2017-12-09
Created 2016-12-14
Last Updated 2018-03-07
Frequently Asked Questions (FAQ)
1. Why is this device different than my previous HTC device?
With Marshmallow devices, HTC has moved to a block-based OTA system. This means that even mounting system as read-write (as TWRP typically does during startup checks) will nullify the device's ability to take an OTA. Any other changes to the system partition will also cause an OTA to fail (even if that check is removed from the OTA zip) due to "unexpected contents." Additionally, see this thread.
2. Which version of TWRP am I supposed to use?
The best version to use is 3.2.3-0, the latest official version from twrp.me.
3. Why is there a "System" backup option and a "System Image" backup option now?
The "System" option is the standard tar backup. "System Image" is a dd backup of the entire system block device (/dev/block/bootdevice/by-name/system). The "System Image" option is only relevant if your system is unmodified. This allows you to make a fully stock backup that can be restored later to take an OTA.
NOTE: You only need to choose ONE of these options when making a backup!!
[*]NOTE 2: If you are using a FAT32-formatted card, a "System Image" backup may fail (depending on your variant), due to the 4GB file limit on that format. For a successful System Image backup, internal storage or NTFS/exFAT-formatted external storage must be used (either SD card or USB-OTG)
4. How do I backup stock recovery prior to flashing TWRP?
You can't. The "fastboot boot" command appears to be disabled in ABOOT, so TWRP must be fastboot flashed over stock recovery. You can however, extract the stock recovery.img from the OTA firmware.zip when it's received and use that to install the OTA.
An alternate method to obtain a stock recovery is listed below, but it requires 2 devices (either owned by you, or help from someone else in the forum):
Someone fastboot flash twrp and immediately make a backup of boot and upload it to XDA.
Once the above is available, someone else download that boot.img to their device, and fastboot flash twrp to the BOOT partition of their device.
Once the above is done, reboot the device, which will bring up TWRP, and then backup stock RECOVERY in TWRP, and upload to XDA.
Then, from within TWRP, use the Image install feature in TWRP to flash the stock boot.img.
5. How do I restore stock system so that I can accept an OTA?
Check the "Mount system as read-only" box in the Mount menu.
Restore stock "System Image" backup (This will only work if you've made a System Image backup prior to making any modifications to /system).
Fastboot flash stock recovery (fastboot flash recovery recovery_signed.img)
NOTE: It is also possible to restore stock recovery via the TWRP GUI. Rename the stock recovery file to "recovery.emmc.win" and place in the backup folder with the stock system image. Recovery will then show as a restore option. MAKE SURE YOU REALLY WANT TO DO THIS, AS TWRP WILL BE GONE WHEN YOU REBOOT OUT OF RECOVERY!!
[*]NOTE 2: It is possible to install an OTA without using stock recovery (i.e. installing it with TWRP). TWRP will not flash the firmware.zip included in an OTA file. Please see here for a detailed description of the process.
Reboot to system, install OTA.
6. What if I have an RUU? Do I need to worry about all this OTA nonsense?
Not if you don't care about losing all your data. If you're S-ON and have an RUU available for your exact variant (model ID and CID must match) and software number (main version must be the same or newer), then you can get back to a fully stock state by relocking (fastboot oem lock) and flashing an RUU. However, if you'd prefer to take an OTA to keep your data intact, the method stated above is how to do so. Or, you can just run a custom ROM and wait for your ROM chef to update their ROM to the latest software (though you'll still have to find a way to update your firmware if you're not S-OFF)
7. After I go through all this and successfully apply an OTA, how do I make sure I have a clean starting point again?
After the OTA is applied and TWRP is flashed, it will once again detect an untouched system, which will mount system read-only and allow you to make a fully stock backup and start the process over again, this time with the new base.
8. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?
It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:
Disable security in Android before making a backup of data.
After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.
u da man @Captain_Throwback!
Alright, against my better judgement I decided to post this thread. Based on @OMJ's testing, TWRP is working properly with decryption. The only remaining bug I'm aware of is that the "Reboot Recovery" option doesn't work, because of how I hacked the kernel to enable touch. I'm working on an alternative method to get around that, but since I can't test on the device, not sure how that will go.
Make a note of what it says in the OP under "BUGS" because if you report one without a log, it will be ignored! I hope everyone with this device enjoys this "unofficial" version of TWRP.
Captain_Throwback said:
Alright, against my better judgement I decided to post this thread. Based on @OMJ's testing, TWRP is working properly with decryption. The only remaining bug I'm aware of is that the "Reboot Recovery" option doesn't work, because of how I hacked the kernel to enable touch. I'm working on an alternative method to get around that, but since I can't test on the device, not sure how that will go.
Make a note of what it says in the OP under "BUGS" because if you report one without a log, it will be ignored! I hope everyone with this device enjoys this "unofficial" version of TWRP.
Click to expand...
Click to collapse
you are the man for sure, i still like the idea of a unencrypted device and glad its a option but im more happy knowing that twrp is now able to support both options!
Thanks bro, know you have been working hard for people who dont necessarily effect you. thanks man!
Had to update TWRP as I forgot that gunzip isn't working on builds from the 7.1 tree. Using a pre-compiled busybox binary in TWRP as a workaround. 3.0.2-2 now available on Downloads tab with this fix included.
Uploaded new version to Downloads Tab. Just some code cleanup mostly and a version bump that coincides to the release of the Official TWRP app.
Can someone test whether this TWRP build boots?
«link removed»
That's from the official TWRP Jenkins. It won't decrypt currently, but I really just want to confirm it boots. Thanks!
EDIT: @OMJ confirmed. Official support should *hopefully* be coming soon!
Captain_Throwback said:
Can someone test whether this TWRP build boots?
http://build.twrp.me/twrp/twrp-3.0.3-0-aca.img
That's from the official TWRP Jenkins. It won't decrypt currently, but I really just want to confirm it boots. Thanks!
Click to expand...
Click to collapse
yes, it boots, and as u said, doesn't decrypt
Can someone please confirm whether this TWRP boots/works/functions properly? Thanks!
https://forum.xda-developers.com/devdb/project/dl/?id=23498
EDIT: @OMJ tested that one and it didn't boot. Updated the link to a new version. I need a log from a ROM flash where the ROM zip includes a root zip to confirm it's getting extracted correctly.
3.1.0 Official is out.
Captain_Throwback said:
Alright, against my better judgement I decided to post this thread. Based on @OMJ's testing, TWRP is working properly with decryption. The only remaining bug I'm aware of is that the "Reboot Recovery" option doesn't work, because of how I hacked the kernel to enable touch. I'm working on an alternative method to get around that, but since I can't test on the device, not sure how that will go.
Make a note of what it says in the OP under "BUGS" because if you report one without a log, it will be ignored! I hope everyone with this device enjoys this "unofficial" version of TWRP.
Click to expand...
Click to collapse
Sir, you mentioned that you hacked the kernel to enable touch in recovery can you share how to did that and did you modify the kernel source code or hacked the kernel without the source code as even other htc devices are having this issue and I can see commit in source codes that'll enable touch in recovery but what if there is no kernel source any hack for that? Thanks in advance.
M.A.P said:
Sir, you mentioned that you hacked the kernel to enable touch in recovery can you share how to did that and did you modify the kernel source code or hacked the kernel without the source code as even other htc devices are having this issue and I can see commit in source codes that'll enable touch in recovery but what if there is no kernel source any hack for that? Thanks in advance.
Click to expand...
Click to collapse
https://forum.xda-developers.com/de...esire-530-guide-to-root-t3410015/post70697756
Similar procedure to that, only difference is that you don't have to deal with vmlinux since the kernel binary is simply gzip compressed.
And if dtb is combined, you'll need to extract it from the original kernel and re-append it to the modified binary.
Captain_Throwback said:
https://forum.xda-developers.com/de...esire-530-guide-to-root-t3410015/post70697756
Similar procedure to that, only difference is that you don't have to deal with vmlinux since the kernel binary is simply gzip compressed.
And if dtb is combined, you'll need to extract it from the original kernel and re-append it to the modified binary.
Click to expand...
Click to collapse
Thank you sir will check that out but why is htc doing this? I mean even some devices running 4.2.2 are having touch disabled and mine is 620g and is disabled too.
M.A.P said:
Thank you sir will check that out but why is htc doing this? I mean even some devices running 4.2.2 are having touch disabled and mine is 620g and is disabled too.
Click to expand...
Click to collapse
Well, touch isn't needed in stock recovery, so it's really just a way to save power while booted into that mode. Only custom recoveries like TWRP require working touch, so that's why we have to hack the kernel if source isn't available.
Captain_Throwback said:
Well, touch isn't needed in stock recovery, so it's really just a way to save power while booted into that mode. Only custom recoveries like TWRP require working touch, so that's why we have to hack the kernel if source isn't available.
Click to expand...
Click to collapse
Oh. but still it is difficult for devices with no kernel source. Will try the hack sir it's night yesterday.
---------- Post added at 09:50 AM ---------- Previous post was at 09:33 AM ----------
Captain_Throwback said:
https://forum.xda-developers.com/de...esire-530-guide-to-root-t3410015/post70697756
Similar procedure to that, only difference is that you don't have to deal with vmlinux since the kernel binary is simply gzip compressed.
And if dtb is combined, you'll need to extract it from the original kernel and re-append it to the modified binary.
Click to expand...
Click to collapse
Sir, can you explain it a bit more as I'm newbie in kernel stuff. I'm having boot.img for my phone and the kernel inside it can you help me how to hack the kernel sir? Thanks in advance
M.A.P said:
Oh. but still it is difficult for devices with no kernel source. Will try the hack sir it's night yesterday.
---------- Post added at 09:50 AM ---------- Previous post was at 09:33 AM ----------
Sir, can you explain it a bit more as I'm newbie in kernel stuff. I'm having boot.img for my phone and the kernel inside it can you help me how to hack the kernel sir? Thanks in advance
Click to expand...
Click to collapse
Your question doesn't belong in this thread. It belongs in Q&A.
TWRP 3.2.0-0
Download
Changelog
i flashed the latest twrp in download and said succes but cant get into it just htc and red letters did i miss somthing
Is the device tree mentioned in the post sufficient to build a lineage based rom ?

[ROM][Stock] Stock Android 7.1.1 ROM for Moto E4 (xt1766) SPerry - Root, BusyBox

•••• Qualcomm Moto E4 (xt1766) SPerry Only ••••
DISCLAIMER:
By proceeding further, you are assuming sole responsibility for the integrity and functionality of your device. Although this ROM has been thoroughly tested on my own device, I take no responsibility for bricked or otherwise inoperable devices incurred as a result of this thread. Follow the instructions carefully, and things should go smoothly and without negative results.
SPECIFICATIONS:
• Moto E4 (XT1766) SPerry
• Sprint, Virgin Mobile, Boost Mobile
• Android Version: 7.1.1 Nougat
• Build No. NCQS26.69-64-10
• System Version: 26.231.8.sperry_sprint.en.US
• Radio Version: M8920_15000.280.06.58.05R
• Kernel Version: Linux 3.18.31-perf
• Security Patch Level: September 1, 2018
FEATURES:
• Stock Configuration
• Systemless Root - Magisk v17.1 Stable
• SafetyNet Pass (ctsProfile & basicIntegrity)
• Zipaligned /system/app & /framework
• Optimized RAM efficiency
• Disabled AVB & dm-verity
• Disabled Force Encryption (Opt-Encrypt)
• BusyBox v1.29.2 (Static Binaries)
• TWRP Flashable Installer
PREREQUISITES:
An unlocked bootloader and TWRP custom recovery are required to install this ROM. IMPORTANT: Use @squid2's TWRP v3.2.1-r1 or older for installation https://forum.xda-developers.com/devdb/project/dl/?id=27958 Newer builds will cause a conflict with the /vendor & /oem partitions when installing my partition updater zip. After installation, you may update TWRP to a newer or current version.
The conflict is due to the partition scheme of my updater-script, and is not due to any fault in @squid2's current TWRP builds. Here is a link to @squid2's TWRP thread for the Qualcomm Moto E4. https://forum.xda-developers.com/mo...velopment/twrp-twrp-moto-g4-qualcomm-t3655160 Please be sure and hit the thanks button on his thread if you use his work.
NOTES:
• If you have previously installed the 26.221.3 OTA to bring your build version up to NCQS26.69-64-10, you should have no need to install the partition updater zip prior to installing the ROM. However, if you are unsure of your present firmware build, or if you have not installed the latest OTA, the partition updater should be installed per the instructions below, in order for the ROM to work with the best results;
• As to force encryption, the kernel fstab has been modified to disable this OEM security feature. However, you may still manually encrypt your /userdata by fully charging your device, going to Settings>Security>Encrypt Phone, and following the on-screen prompts;
• This OTA update did not augment the baseband (radio firmware) version (M8920_15000.280.06.58.05R), which remains unchanged from NCQS26.69-64-8. While the radio firmware did receive a couple of minor patches, the changelog in this regard is insignificant, so I did not include these in either the partition updater or the ROM. If anybody wants these radio patches, leave a comment and I'll fix up a TWRP flashable installer.
INSTRUCTIONS:
• 1. Download the ROM and Partition Updater from the download link below and save them to your device's external storage (because the /usedata partition needs to be formatted to disable force encryption, saving the downloaded zips to internal storage would be futile);
• 2. Make a backup of any important files on your device;
• 3. Boot your device into TWRP recovery mode;
• 4. Select Wipe>Advanced Wipe and select System, Cache & Dalvik Cache. Swipe the action bar to commence the wipe;
• 5. Again select Wipe>Format Data, input the word "YES" when prompted, and swipe the action bar to commence the format. Reboot Recovery (often necessary to ensure proper mounting of /usedata after a format);
• 6. Select Install, navigate to the saved location of the Partition Updater zip, and swipe to commence install (this updates your /oem partition, /rpm primary bootloader, /tz trust zone partition, and /devcfg partition to Build No. NCQS26.69-64-10);
• 7. Select Install, navigate to the ROM zip, and swipe to commence install;
• 8. Reboot System.
Kernel Source Code (msm8920): https://github.com/MotorolaMobilityLLC/kernel-msm/releases/tag/MMI-NCQ26.69-48
THANKS & CREDITS:
•Thanks to the long-dedicated @squid2 for his TWRP builds for this and many other Motorola devices;
•Thanks to the great @SuperR. for his amazing Windows version SuperR's Kitchen;
• Thanks to the world famous @topjohnwu for his Magisk Universal Systemless Interface;
• Thanks to @madbat99 for his dedication to Motorola devices, and for taking the time to assist so many Motorola device owners;
• Thanks to @osm0sis for his static BusyBox installer and his Magisk Modules;
• Thanks to @Davey126 for his support of Motorola devices, and his dedication to helping other members on various device threads.
DOWNLOAD LINKS:
NCQS26.69-64-10 Partition Updater: https://drive.google.com/file/d/1VmOPXbYBQQkqB475iVzKip2JI_AO0YCM/view?usp=drivesdk
NCQS26.69-64-10 Stock Android 7.1.1 ROM: https://drive.google.com/file/d/1VRuKnSgVHNkewbk5juB7_WWeLm_ptmUP/view?usp=drivesdk
I have also made a debloated build of this ROM, with all Amazon, Sprint and OEM related apps removed from /system/app, /system/priv-app, /oem/app, etc. I will try and post this version this coming week for anybody interested.
I'm new bee kinda so flashing this os just the update so if I have everything up and running good them really don't need this update seems updates have me screwed from getting data on custom rom now so any advice
Bailey36375 said:
I'm new bee kinda so flashing this os just the update so if I have everything up and running good them really don't need this update seems updates have me screwed from getting data on custom rom now so any advice
Click to expand...
Click to collapse
If you have taken the OTA update and you are on Build No. NCQS26.69-64-10, and everything is running smoothly, you have no need to install anything here.
I'm not on 10 I'm on 8 but would like that debloted version
Bailey36375 said:
I'm not on 10 I'm on 8 but would like that debloted version
Click to expand...
Click to collapse
It'll be up in a couple of days. By the way, there is no danger in taking the OTA. No reported bugs, instabilities, etc. And you can still flash the debloated ROM when I post it.
Thanks for taking time to do this and keep support going for the E4. I'm planning on trying the debloat when you post it.
S o S just flashed and now it is only booting to TWRP it says its flawed but
Only boots to TWRP help after flash
---------- Post added at 05:34 AM ---------- Previous post was at 05:18 AM ----------
Really need help I have TWRP 3.2.1 r1 I did what the instructions said but now just goes to the TWRP what's the issue I'm sure it's something I'm doing help this is my only phone
---------- Post added at 05:52 AM ---------- Previous post was at 05:34 AM ----------
Got it woohoow
MotoJunkie01 said:
I have also made a debloated build of this ROM, with all Amazon, Sprint and OEM related apps removed from /system/app, /system/priv-app, /oem/app, etc. I will try and post this version this coming week for anybody interested.
Click to expand...
Click to collapse
Yayyyyyyy!!!!!! I,ll be waiting for that one. Thanks motojunkie01.
Does Radio work in Custom Roms.
EarthMan1 said:
Does Radio work in Custom Roms.
Click to expand...
Click to collapse
The radio was not updated with the new OTA. The Baseband Version remains the same as the previous build, M8920_15000.280.06.58.05R
That means the voice calls won't work on Custom ROMs.
EarthMan1 said:
That means the voice calls won't work on Custom ROMs.
Click to expand...
Click to collapse
Voice, MMS/SMS, and 4G/LTE data works on my device with LineageOS 14.1 on the 05R radio firmware. Although I am aware that an earlier OTA (NCQS26.69-64-8) did break the cell radio for some device owners running custom ROMs.
MotoJunkie01 said:
Voice, MMS/SMS, and 4G/LTE data works on my device with LineageOS 14.1 on the 05R radio firmware. Although I am aware that an earlier OTA (NCQS26.69-64-8) did break the cell radio for some device owners running custom ROMs.
Click to expand...
Click to collapse
So, if i want to update I have to wipe my data.
EarthMan1 said:
So, if i want to update I have to wipe my data.
Click to expand...
Click to collapse
No. But if you want to install this ROM, you will need to format /userdata in order to disable force encryption. If you want your data encrypted, you are not required to format /userdata.
No, I want only to install the partition updater.
EarthMan1 said:
No, I want only to install the partition updater.
Click to expand...
Click to collapse
Then formatting data is not necessary. Keep in mind that the partition updater does not change your radio firmware. You'll still have the 05R radio version after updating your partitions. The partition updater updates your bootloader, /devcfg and /oem partitions.
So if your radio didn't work on custom ROMs before, the partition updater likely will not change that.
Why this partition updater size is big compared to the NCQS26.69-56 one.
EarthMan1 said:
Why this partition updater size is big compared to the NCQS26.69-56 one.
Click to expand...
Click to collapse
Because the /oem partition is large (656 MB)
Why isn't it included in the 56 one

Vendor Image Change

I am just curious if the vendor.img actually changed between the March and April factory images. The reason is that in order to get data and voice to work I have to make changes to the vendor partition. If it is the same then I can exclude it in the update and avoid the process of changing vendor partition.
Thanks

dtbo.img for Alldocube X_Neo(T1009)

The instrument is no longer being updated due to a problem that it is not a dynamic partition. I want to install Android 13 and get an OTA update, how do I do it? The entire firmware link is here.

General [Magisk] Magisk Zygote64_32: Enabling 32-bit Support For Apps

The 32-bit apps are back!​
screen-20221120-112309
Watch "screen-20221120-112309" on Streamable.
streamable.com
Synopsis​The Pixel 7 line is Google's first "64-bit only" phones, along with being the highest profile release of a 64-bit only device so far. The device uses the Tensor G2 (GS201), which is a close descendant of the Tensor (GS101) from the Pixel 6 line. So close, that the only major change was swapping out the ARM Cortex-A76 cores for ARM Cortex-A78 cores. The SoC still has full 32-bit support.
This was seemingly done at the last minute to get the ball rolling on switching Android to becoming 64-bit only at some point in the future. That future might be soon for other currently supported Pixel phones as the Android 13 QPR1 Beta includes optional firmware images that are 64-bit only. Given that it is currently optional on QPR1, there is a chance that at the earliest Android 14 will be 64-bit only across all supported Pixels, with a slimmer chance that it will be 64-bit only for AOSP also.
The three items that are of importance are AArch32, what Zygote services are set to start, and whether the build supports multilib.
AArch32​Is a mode starting with ARMv8 that provides support for the 32-bit ARM ABIs: armeabi and armeabi-v7a. An ABI is what defines how software is to be built and ran for specific instruction sets.​AArch32 is not required to be supported with ARMv9-A architectures, which would be processors starting with ARM Cortex-X2/X3/A715. These processors support AArch64 only.​The ARM Cortex-A510 is currently the only ARMv9-A processor that supports AArch32. This combination of processors (X2/X3/A715 with A510) results in asymmetric 32-bit support. This is the likely reason for Google expediting these changes. It is speculated that the Cortex-A520 will not support AArch32, which would put a stop to native 32-bit support completely for future devices.​Tensor G2 cores are still on ARMv8-A and thus still support AArch32.​​Zygote​Is a service that handles creating VMs for starting applications, and is responsible for allowing resources to be shared to reduce memory bloat from duplication. There are two Zygote services, Zygote64 and Zygote (colloquially referred to as Zygote32). Each handle a "warm" VM that is preloaded with libraries, which gets cloned for starting an application. This is done via copy-on-write, which means a copy is only made and occupies memory when attempting to modify a resource. The untouched copies all point back to the original, saving memory.​Without Zygote32, 32-bit applications can't be started. Without Zygote64, 64-bit applications can't be started.​Having multiple Zygote processes is referred to as "Zygote64_32"​​Multilib​Is a scheme that allows for 32-bit and 64-bit libraries to reside on the same device. This is required to support running 32-bit applications on 64-bit devices. Android has it's own implementation that differs from most Linux distributions, which may also differ between each other.​Obviously, without 32-bit libraries (or inversely without 64-bit libraries), a build does not support multilib.​​Somewhat important to note is that the 64-bit only QPR Beta images for the Pixel 4a to 6 are true 64-bit only, they do not support multilib. However, as noted here by Google, the Pixel 7 is 64-bit only but does support multilib.
The support matrix is as follows:
Phone + SoC, Build​SoC AArch32 Support​Zygote Property​Multilib​32-bit Support?​Pixel 6 with Tensor​Yes​Zygote64_32​Yes​Native​Pixel 6 with Tensor, 64-bit Only Build​Yes​Zygote64​No​Not Possible*​Pixel 7 with Tensor G2​Yes​Zygote64​Yes​With Modification​Pixel 7 with Tensor G2, 64-bit Only Build**​Yes​Zygote64​No​Not Possible*​Phone with AArch64-only ARMv9-A​No​Zygote64​No​Not Possible***​
* If no multilib build is also available. It may be possible with extensive work to use Treble to bring 32-bit libraries forward, assuming Android 14+ doesn't remove AArch32 and Zygote32. Emulation could be a possibility but has not been done yet.​** Build does not exist yet. It may be realized with a QPR build or it may be done with Android 14 instead.​*** Emulation could be a possibility but has not been done yet. Currently just the Pixel 6 and 7 have KVM built-in, but the Pixel 7 is the only one with it on by default.​
This means that with the right changes 32-bit support can be enabled and used if 32-bit libraries are on the device and the SoC supports AArch32.
Modifications​The changes required are as follows:
ro.zygote=zygote64_32​ro.vendor.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi​ro.vendor.product.cpu.abilist32=armeabi-v7a,armeabi​​Genuinely that simple, property changes. Because the libraries are already in the firmware images it is just the need to instruct Android to use them.
Zygote64_32 refers to starting Zygote64 as the primary process, then starting Zygote32 as the secondary process. With this in place 32-bit applications can be installed and ran as 32-bit libraries are now able to be loaded.
The changes that need to be done are to either be applied to /vendor/build.prop, or done with init.rc modifications, or applied in some way before init.rc is read.
The last point is the critical issue that has halted this: there has not been any easy way to set properties very early in the boot process outside of simply just modifying the file on the partition.
This can't be done easily due to dynamic partitions requiring a custom super partition, and with the larger issue being AVB.
Luckily we can patch Magisk to do these changed early enough in the boot process.
Forewarning​A wipe is required​I do not know exactly why, but when a device is first booted with only Zygote64 it can't be switched over to use Zygote64_32. For some reason the 32-bit libraries inside APEXs are not discovered and loaded by Zygote32.
Support for custom ROMs is not guaranteed​It may or may not work. As a matter of fact, doing this modification isn't necessary as custom ROMs could implement this change themselves.
It is known that the modification does work on LineageOS.
I have not tested all 32-bit applications​I don't actually use any 32-bit apps. I have done testing with a few 32-bit apps I've gotten from APKMirror. So no, I don't know if your Instagram mod is working. I don't see any reason why it wouldn't.
Download Links​
Spoiler
All files are hosted at my download repository
Magisk Zygote64_32:​Recommended:​Release Build​​If you are having troubles and need to produce logs:​Debug Build​​Magisk Delta 32-bit:​For Advanced Users:​Release Build​
If you are having troubles and need to produce logs:​Debug Build​
Installation Instructions​General Prerequisites:​A working platform-tools environment
platform-tools 33.0.3 is required with the Pixel 7​The version you are running can be checked with adb --version and fastboot --version​If you need assistance then read this thread by @roirraW "edor" ehT.​Tools like PixelFlasher can be used, just read into how to use it.​​The factory image for the firmware version you are running or plan to run
Part of the steps are requires the firmware for your phone, you can download it from here..​Copy init_boot.img out from image-xxx.zip inside the firmware archive.​
Backup your data
A wipe is required.​​With my Magisk Zygote64_32 fork (Recommended)​
Spoiler
Magisk Zygote64_32 with the rebased patch by me.​Direct download link for my Magisk Zygote64_32 APK​​Installation with Wipe​
Spoiler
Steps:​Note: If you are unrooted and stock then skip to step 4​
On your phone uninstall the stock Magisk app
Do not use the uninstall Magisk button from within the app, simply just uninstall the app itself
Reboot your phone into the bootloader
Flash the stock init_boot.img for your version and then boot into Android
Install the Magisk Zygote64_32 app from my repository
Copy over the stock init_boot.img to your phone and patch it in the Magisk app
Copy the patched Magisk init_boot.img over to your computer
Reboot your phone into the bootloader
Flash and wipe via fastboot -w flash init_boot magisk_init_boot.img
Complete the setup wizard as normal
Install the Magisk Zygote64_32 app or use the Magisk stub to download the full app from your phone
Stub will not be available until the next reboot after finishing the setup wizard
Open the Magisk app and finish setup for Magisk
Attempt to install and run a 32-bit application. If you are unable to, then verify that you used my Magisk Zygote64_32 app to patch your init_boot.img and that you flashed it to your phone. You will have to perform the steps including the wipe over again.
​With my Magisk Delta 32-bit fork (Not Recommended For General Use, Advanced Users Only)​
Spoiler
Magisk Delta 32-bit with the rebased patch by me.​Direct download link for my Magisk Delta 32-bit APK​
Warning:​Magisk Delta will mount the persist partition for it's early-mount feature, meaning that modules using early-mount could inadvertently fill up the partition, leading to possible corruption.​The steps will take you through creating a backup of the partition to restore if you ever need to.​
Prerequisites:​You need to already have root with Magisk so you can backup the persist partition​
Steps:​Note: If you already have backed up your persist partition then you can skip steps 4 to 7.​
Install my Magisk Delta 32-bit app, it may be installed alongside stock Magisk without issue as it has a different package name.
Copy over the stock init_boot.img to your phone and patch it in the Magisk Delta 32-bit app.
Copy it back over to your computer
Enter a root shell via either method
adb
adb shell
su
You will need to approve the attempt on your phone
Terminal emulator
su
Run the following command:
dd if=/dev/block/by-name/persist of=/sdcard/persist.img
Copy persist.img over to your computer, keep it safe, keep it in multiple places
This is not the Google Pixel 7 persist image, this is uniquely your phone's persist image
Reboot phone to bootloader
Flash and wipe via fastboot -w flash init_boot magisk_init_boot.img
Complete the setup wizard as normal
Install my Magisk Delta 32-bit app
Open the Magisk app and finish setup for Magisk
Attempt to install and run a 32-bit application. If you are unable to, then verify that you used my Magisk Delta 32-bit app to patch your init_boot.img and that you flashed it to your phone. You will have to perform the steps including the wipe over again.
System Upgrade Instructions (Post Mod Installation)​
Spoiler
Either of my Magisk Zygote64_32 forks​
Extract the init_boot from image-xxx.zip of the firmware you want to upgrade to
Patch it in the Magisk app that you are using
Copy the patched Magisk image back over to your computer
Reboot your phone into fastboot
Update the bootloader and radio if necessary
fastboot --skip-reboot update image-xxx.zip
No -w it will wipe your userdata partition
Wait until it is finished
Don't boot the phone into Android
Flash the patched Magisk init_boot.img
This can be done from inside fastbootd
Magisk Upgrade Instructions​
Spoiler
Magisk Zygote64_32 via app​Update normally as you would, by installing the update in the app.​
Magisk Zygote64_32 or Magisk Delta 32-bit manually​
Unhide the Magisk app if you are currently hiding it
Download and install the latest APK for the 'flavor' you are using from my repository
It may be required that you uninstall the app if Android won't let you upgrade it
Perform a direct install from the install menu
Reboot
Changing Between My Magisk Forks​
Spoiler
Download and install the app you want to switch to from my repository
Uninstalling the previous Magisk app is not necessary
Copy the stock init_boot.img for your system version over to your phone
Patch it in the Magisk app you want to switch to
Copy the patched Magisk image back over to your computer
Reboot your phone into fastboot
Flash the patched Magisk init_boot.img
If moving from Magisk Delta 32-bit to Magisk Zygote64_32 then at the same time you can flash your backed up persist fastboot flash persist persist.img
Remove the other Magisk app
Finish setup in the remaining Magisk app.
Uninstallation Instructions​
Spoiler
My Magisk Zygote64_32 fork​Flash the stock init_boot.img​
My Magisk Delta 32-bit fork​
Flash the stock init_boot.img
fastboot flash persist persist.img
Manual method on phone if without original persist image​
Uninstall all Magisk modules, they will clean up any files they put into early-mount.d
Enter a root shell via either method
adb (heavily preferred)
adb shell
su
You will need to approve the attempt on your phone
Terminal Emulator
Navigate to the persist mount
cd $(magisk --path)/.magisk/mirror/persist/
Remove the directory early-mount.d
rm -ir early-mount.d
You will be prompted for each removal and descending into directories, respond with y to approve the action
Can now reboot and flash stock init_boot
Troubleshooting​Stuck at boot animation or bootlooping​Restore stock init_boot.​Grab a logcat with adb to determine what the problem may be.​You might not have wiped your device.​​Booted after installing new Android update but forgot to flash Magisk​Run through the installation instructions again, you will have to wipe your device.​​Unable to install 32-bit apps​Run getprop ro.zygote; getprop ro.vendor.product.cpu.abilist; getprop ro.vendor.product.cpu.abilist32​If the values do not match these then the modification was not applied.​zygote64_32​arm64-v8a,armeabi-v7a,armeabi​armeabi-v7a,armeabi​​32-bit apps force close​This only happened in my testing when I did a first boot with Zygote64 and then installed the modification to use Zygote64_32. Wipe your device or perform the wipeless installation instructions.​It is possible the app may just have issues, or will not work because of missing libraries.​​Clobbered the persist partition​Follow the uninstall steps for Magisk Delta, easiest to use the fastboot steps.​If you didn't backup your persist partition, then RIP.​
Questions​Will I have to wipe on every system update?​I'm glad to say no.​I've tested with my Magisk Delta 32-bit, going from October -> November, while keeping Zygisk/MagiskHide enabled along with the Magisk app being hidden.​I also tested December -> January with my Magisk Zygote64_32 and even swapping to my Magisk Delta 32-bit in the process without issue.​​Can I take OTAs instead of flashing factory images?​I would heavily recommend against doing so, however I have done Android 14 Beta 1 to Beta 1.1 on device and it works.​
I booted with the patch, but then accidentally flashed over init_boot without changing to a different build version, what do I do?​Simply just flash the patched Magisk image back over. I've tested it, 32-bit applications are still kept, and I haven't encountered any issues once I flashed the patched Magisk image back onto it.​​If this was because of an update then follow the installation instructions, you will have to wipe your device.​
Will my persist partition be destroyed?​You shouldn't have to worry about that, a backup persist image will be able to completely restore it. Just don't install modules that will attempt to install more than 32MB of data to the earlymount.d folder.​
Thanks To​Thomas King for Pixel 7 32-bit Helper​@huskydg for Magisk Delta and letting me know about the Zygisk implementation maru​5ec1cff for maru​@nickelnine for bringing attention to Pixel 7 32-bit Helper​Posters in the thread for helping me debug the issues that have come up.​
Reserved 1
FYI - Corvus OS for Pixel 7's does have 32bit app support
Wi1son said:
FYI - Corvus OS for Pixel 7's does have 32bit app support
Click to expand...
Click to collapse
Never heard of it before.
The download page on their home page makes no reference to any Pixel devices.
It's not until viewing their download backend that the ROM comes up.
And most importantly, not a single source on one of their GitHub accounts and the other doesn't have any for the Pixel 7.
thank you, it worked straight away. I'm on LineageOS and just patched the init_boot with your magisk version, flashed it, and everything works - thanks a lot!
bhammler said:
thank you, it worked straight away. I'm on LineageOS and just patched the init_boot with your magisk version, flashed it, and everything works - thanks a lot!
Click to expand...
Click to collapse
Great to know it works on LineageOS.
What steps did you take for installing it? Just flash the patched init_boot along with the other images then booted into the recovery to install the the system?
Great work namelesswonder
Namelesswonder said:
Great to know it works on LineageOS.
What steps did you take for installing it? Just flash the patched init_boot along with the other images then booted into the recovery to install the the system?
Click to expand...
Click to collapse
I was on a running LineageOS 20 with Magisk 25.2. First I've installed your Magisk Delta on top of my Magisk version, patched the stock init_boot.img with Magisk Delta, booted into the bootloader and just flashed the patched init_boot.img without wiping.
Then I've uninstalled the regular Magisk version and everything works since yesterday
bhammler said:
I was on a running LineageOS 20 with Magisk 25.2. First I've installed your Magisk Delta on top of my Magisk version, patched the stock init_boot.img with Magisk Delta, booted into the bootloader and just flashed the patched init_boot.img without wiping.
Then I've uninstalled the regular Magisk version and everything works since yesterday
Click to expand...
Click to collapse
I would be careful since in my testing enabling Zygote32 without a wipe would allow 32-bit applications to be installed but they wouldn't run right as the libraries they're trying to use aren't being loaded for some reason.
The app that would consistently crash in this scenario was Flappy Bird, so try running it to see if it crashes.
If it works fine then I guess LineageOS isn't affected then.
brilliant work. cheers.
Flappy Bird crashes. But the Apps that I use are working: -)
Namelesswonder said:
I would be careful since in my testing enabling Zygote32 without a wipe would allow 32-bit applications to be installed but they wouldn't run right as the libraries they're trying to use aren't being loaded for some reason.
The app that would consistently crash in this scenario was Flappy Bird, so try running it to see if it crashes.
If it works fine then I guess LineageOS isn't affected then.
Click to expand...
Click to collapse
bhammler said:
Flappy Bird crashes. But the Apps that I use are working: -)
Click to expand...
Click to collapse
Well that's good to know that at least some 32-bit apps work when you don't wipe. If you're only using a static set of apps that don't change and they work that's good for you.
@Ghisy you might be able to use the modification without wiping. Your mileage may vary and some apps might not work. If you get stuck at the boot animation you can just flash the previous init_boot you were using and let the phone sort itself out for a few minutes.
Nice work. For anyone building, there's this
https://review.lineageos.org/c/LineageOS/android_device_google_gs201/+/344324
Namelesswonder said:
@Ghisy you might be able to use the modification without wiping. Your mileage may vary and some apps might not work. If you get stuck at the boot animation you can just flash the previous init_boot you were using and let the phone sort itself out for a few minutes.
Click to expand...
Click to collapse
I'm traveling right now so I don't wanna mess around with my phone. I'll take a look when I'm back home in a couple of weeks.
so this is what's needed to get viper4android working? has anyone verified v4a works using this? if so, what version? there are so many at this point it's hard to keep track.
This type of workaround will only persist if future pixel phones or current devices have multilib, correct?
Edit: never mind, I read more of your detailed explanation and I understand now
Schroeder09 said:
so this is what's needed to get viper4android working? has anyone verified v4a works using this? if so, what version? there are so many at this point it's hard to keep track.
Click to expand...
Click to collapse
I doubt this will get V4A working on this device. The problem, in a nutshell, is that V4A uses arm32 audio drivers while this device and some other devices on Android 13 (e.g. Pixel 6 series) use arm64 audio drivers. It's V4A itself that needs updating, which someone is working on at the moment but I don't know how far it has progressed.
Namelesswonder said:
The changes that need to be done are to either be applied to /vendor/build.prop, or done with init.rc modifications, or applied in some way before init.rc is read.​
The last point is the critical issue that has halted this: there has not been any easy way to set properties very early in the boot process outside of simply just modifying the file on the partition.
This can't be done easily due to dynamic partitions requiring a custom super partition, and with the larger issue being AVB.
Click to expand...
Click to collapse
Great work on this. Just curious, in your testing did you try overlay.d to see if that worked early enough to change the props? I saw osm0sis suggest this (as you probably have seen as well) but wasn't sure if you tried it. Just throwing this out there in case...
Lughnasadh said:
Great work on this. Just curious, in your testing did you try overlay.d to see if that worked early enough to change the props? I saw osm0sis suggest this (as you probably have seen as well) but wasn't sure if you tried it. Just throwing this out there in case...
Click to expand...
Click to collapse
Magisk/docs/guides.md at master · topjohnwu/Magisk
The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.
github.com
I do not believe it will work to change props because overlay.d custom rc files are read after init.rc, which means that the init has already been read and init.zygote64.rc has already been imported. The custom rc and supplemental script to change the property would be running after that which wouldn't do anything since the init is already setup.
I have not tested the file replacing ability of overlay.d to see if it can overlay onto the preexisting init files. Would still need a service to set the properties so that when the zygote services launch they know what ABIs are supported.
I didn't go through with that since modifying magiskinit to set up build.prop in a build version agnostic way seemed like a better idea since I knew it already worked. If overlay.d can replace init.rc then that means having to modify the init_boot to contain the new init.rc for each build if Google ends up changing them. I haven't checked init.rc for changes, but I do know that init.zygote64_32.rc did have inconsequential changes from stable Android 13 -> QPR1, so they probably did do some changes.
Thank you for the detailed steps! I could finally enjoy ad free experience on Instagram without having to decompile the app just to add 64bit lib support (and it failed to start regardless...)

Categories

Resources