Official Magisk is also modifying persist partitionI was referring to the OP's 32-bit patch for Delta which was deprecated last I checked. He recommends against it as it modifies the persist partition.
preach and thank you for your forked magisk
Yes, this would be awesome and very appreciated. I still have some old games that are 32-bit. Thanks!Will you be working on patching the new official magisk release (v26) with 32-bit support?
Will you be working on patching the new official magisk release (v26) with 32-bit support?
It's out now. It wasn't that much of an update since my fork had commits up to March 9th and had the bulk of changes, although stability with Zygisk was improved in later commits since the hooking was refined and has become less crash prone.Yes, this would be awesome and very appreciated. I still have some old games that are 32-bit. Thanks!
The download repository now has canary and debug channels. Updating should be easier now.Hey Namelesswonder, I was just wondering if you had implemented json support yet or if any progress has been made for easy updating and integration with pixel flasher etc. since I saw that you had mentioned it.
I forgot to update the instructions for the wipeless installing, I'll get them put up in the original post later today. If you're already on the April update then it'll be too late to do wipeless unless Google releases another April build, if not then you'll have to wait until May.I have this nasty Collect N Win app at http://nycollectnwin.com/android_install.html that doesn't work with 64 bit Pixel 7 Pro. Look forward to Namelesswonder's revised instructions on official Magisk 26001. Thx. I may still pass due to the data wipe requirement
Upgrading Steps:
Requisites: current firmware image and firmware image you are upgrading toNote: 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 currently running build version and then boot into Android.- Install the Magisk Zygote64_32 app from my repository.
- Copy over the stock
init_boot.img
for the build version you want to upgrade to onto 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 the newer build you want to update to with
fastboot --skip-reboot update newer-image-xxx.zip
- Do not use
-w
or you will wipe your device.- It may be necessary to also update the bootloader and radio beforehand.
- Wait for it to finish, then flash the patched Magisk
init_boot.img
and boot into Android.
- Flashing
init_boot
is possible from withinfastbootd
, so you don't need to reboot to the bootloader.- Install the Magisk Zygote64_32 app from my repository.
- Open the Magisk app and finish setup for Magisk.
Thanks for the wonderful work and guide.
on user requests, I'm trying to automate this into PixelFlasher as much as possible (Me too don't actually use any 32 bit apps), I have some questions if you don't mind (and more might come as I get to implement it)
For Wipeless upgrade:
Thanks
- Step 4 install Magisk Zygote64_32 app, and so does step 10, I don't see an uninstall in between, is a reinstall necessary?
- Step 1 can be performed after step 3 right? there is no absolute need to do it as the first step?
- Assuming that one has already done this with the previous firmware, and are already on Magisk Zygote64_32 (let's say April release), when it is time to upgrade (let's say to May release), it is not clear to me if a stock init_boot of April firmware needs to be flashed before doing step 5 and the following steps.
Should the guide add a note that if you are already on Magisk Zygote64_32, skip to step 5?- After doing steps 5 - 9 with the May release, and assuming that step 10 is not necessary (app already previously installed), is there still a need for step 11 ?
BB
I was wondering about that, let me know the package name if you ever change it so that I make the necessary adjustments in PF.I probably should change the package name on mine so there isn't this conflict.
These steps are just installation steps, once installed then you only have to follow the system upgrade or Magisk upgrade steps that are further in the post which are the typical upgrading steps for rooted systems and Magisk.
There isn't an easy way to detect if the system is multilib or not, and worse there is no easy way to detect if a system is completely multilib with full coverage.I was wondering about that, let me know the package name if you ever change it so that I make the necessary adjustments in PF.
Yep, my bad, seeing Upgrading under Wipeless, I wrongly assumed that those were the upgrade steps for already installed Magisk zygot64_32, I see it now and it's super clear, and no different that normal Magisk.
One other question, is there an easy way to detect if multilib is supported, so that I could warn / block the user from attempting to install this version? Or should I leave it to your app to do that?
Thanks for the feedback.
I'll do that, check for P7 or P7P and otherwise warn.Really the easiest block to put in would just be to check if device or firmware is a Pixel 7, since as far as I know these are the only devices that have a 64-bit only Zygote and are fully multilib.
Thanks for this. I hope you can get it to work!Thanks for the wonderful work and guide.
on user requests, I'm trying to automate this into PixelFlasher as much as possible (Me too don't actually use any 32 bit apps), I have some questions if you don't mind (and more might come as I get to implement it)
For Wipeless upgrade:
Thanks
- Step 4 install Magisk Zygote64_32 app, and so does step 10, I don't see an uninstall in between, is a reinstall necessary?
- Step 1 can be performed after step 3 right? there is no absolute need to do it as the first step?
- Assuming that one has already done this with the previous firmware, and are already on Magisk Zygote64_32 (let's say April release), when it is time to upgrade (let's say to May release), it is not clear to me if a stock init_boot of April firmware needs to be flashed before doing step 5 and the following steps.
Should the guide add a note that if you are already on Magisk Zygote64_32, skip to step 5?- After doing steps 5 - 9 with the May release, and assuming that step 10 is not necessary (app already previously installed), is there still a need for step 11 ?
BB
App recompilation would have to be made to the specific app developers, as of PixelFlasher, the next version will support installing Magisk zygote64_32, creating a patch with it and flashing.Thanks for this. I hope you can get it to work!
I really want to use Swype (32 bit only) but I find the current methods too complicated. Would be nice if there'd be a way to recompile apps for 64 bit too.
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
SKIPPED STEP 8 AND 9- Flash and wipe via fastboot --skip-reboot -w update image-xxx.zip.
- Wait for it to finish, then reboot back into the bootloader either on the device or with fastboot reboot bootloader
SKIPPED STEP 8 AND 9
- Flash the patched Magisk init_boot.img and boot into Android.
- Complete the setup wizard as normal
- Install my Magisk Delta 32-bit app.
- Open the Magisk app and finish setup for Magisk.
Oh I'm on a pixel. My thoughts were actually 2 separate thoughts.App recompilation would have to be made to the specific app developers, as of PixelFlasher, the next version will support installing Magisk zygote64_32, creating a patch with it and flashing.
Please keep in mind that PixelFlasher is primarily for Pixel phone, although most of its features would work for other phones, they remain untested.
There's two implementations of the fastboot protocol, one that runs in the bootloader (fastboot) and one that runs in the recovery (fastbootd).the OP mentions that you can flash that file in fastbootd mode. so that is what I tried at first. but fastboot mode is just another name for bootloader mode, right? (if you do adb reboot bootloader, then it just takes you to fastboot mode)
after I was getting the bootloops, I then rebooted out of fastbootd, and back into bootloader mode and tried it that way. but it still resulted in a bootloop for me
and no, no magisk modules installed. as I mentioned, I went from Android 14 beta to the April build of Android 13 (with android flash tool). the only thing I did after that was install the stable build of Magisk (since my viewers are likely to have the official build of Magisk installed). so no, no magisk modules installed on this phone during yesterday's attempts
edit - I see @Namelesswonder figured out the issue. that is interesting to hear about the Mainline updates and the google account (agreed, really strange that Google would restrict this)
thanks for looking into it again. I appreciate the work you've done/you're doing for the community. I should be able to get a video up that mentions the wipe is required and highlight all of the steps involved
Any plan for updates on this yet? There's a couple revisions of magisk alpha/canary since last release.
Got busy the last few weeks, I'll work on testing a newer version end of this week. I build off of head rather than the commit at which the latest canary was built, so my release is closer to 26102 than 26101.As far as I know they are both at version 26.1
or to be precise, canary 26101
Unless updates are being released without version increments, I see this to be at par.
It's no problem to update, I've been doing so on Android 14 with almost no issue. The only problem I had was taking a couple OTAs after having disabled AVB, which wasn't a problem my Magisk, just a problem with OTAs and messing with AVB.Am I correct in my understanding that it is not advisable to update to the May Security patch from any prior version with the 32-bit Magisk fork (I am still on the February security update) as it can cause a bootloop?
This is just what I have gathered from reading replies from about May 6th or so
I'll have to look into it, looks interesting.@Namelesswonder
Have you checked if going the Full OTA route of patching would make a difference in the sense of avoiding a wipe?
the OP mentions that you can flash that file in fastbootd mode. so that is what I tried at first. but fastboot mode is just another name for bootloader mode, right? (if you do adb reboot bootloader, then it just takes you to fastboot mode)Just to be accurate, I suppose you meant bootloader mode right?
You flash init_boot in bootloader mode not user space fastboot.
Your other steps look to be right.
By any chance did you have any Magisk modules installed with your previous Magisk?
Custom kernel - YesI use custom kernels.
Also thought they were required for the safety next fixes to Wallet would work?
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*** |
ro.zygote=zygote64_32
ro.vendor.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.vendor.product.cpu.abilist32=armeabi-v7a,armeabi
/vendor/build.prop
, or done with init.rc
modifications, or applied in some way before init.rc
is read.adb --version
and fastboot --version
init_boot.img
out from image-xxx.zip inside the firmware archive.init_boot.img
for your version and then boot into Androidinit_boot.img
to your phone and patch it in the Magisk appinit_boot.img
over to your computerfastboot -w flash init_boot magisk_init_boot.img
init_boot.img
and that you flashed it to your phone. You will have to perform the steps including the wipe over again.persist
partition for it's early-mount feature, meaning that modules using early-mount could inadvertently fill up the partition, leading to possible corruption.persist
partitioninit_boot.img
to your phone and patch it in the Magisk Delta 32-bit app.adb shell
su
su
dd if=/dev/block/by-name/persist of=/sdcard/persist.img
persist.img
over to your computer, keep it safe, keep it in multiple placesfastboot -w flash init_boot magisk_init_boot.img
init_boot.img
and that you flashed it to your phone. You will have to perform the steps including the wipe over again.init_boot
from image-xxx.zip of the firmware you want to upgrade tofastboot --skip-reboot update image-xxx.zip
-w
it will wipe your userdata partitioninit_boot.img
fastbootd
init_boot.img
for your system version over to your phoneinit_boot.img
fastboot flash persist persist.img
init_boot.img
init_boot.img
fastboot flash persist persist.img
early-mount.d
adb shell
su
cd $(magisk --path)/.magisk/mirror/persist/
early-mount.d
rm -ir early-mount.d
y
to approve the actioninit_boot
init_boot
.getprop ro.zygote; getprop ro.vendor.product.cpu.abilist; getprop ro.vendor.product.cpu.abilist32
zygote64_32
arm64-v8a,armeabi-v7a,armeabi
armeabi-v7a,armeabi
init_boot
without changing to a different build version, what do I do?Will you be working on patching the new official magisk release (v26) with 32-bit support?
It's out now. It wasn't that much of an update since my fork had commits up to March 9th and had the bulk of changes, although stability with Zygisk was improved in later commits since the hooking was refined and has become less crash prone.Yes, this would be awesome and very appreciated. I still have some old games that are 32-bit. Thanks!
The download repository now has canary and debug channels. Updating should be easier now.Hey Namelesswonder, I was just wondering if you had implemented json support yet or if any progress has been made for easy updating and integration with pixel flasher etc. since I saw that you had mentioned it.
I forgot to update the instructions for the wipeless installing, I'll get them put up in the original post later today. If you're already on the April update then it'll be too late to do wipeless unless Google releases another April build, if not then you'll have to wait until May.I have this nasty Collect N Win app at http://nycollectnwin.com/android_install.html that doesn't work with 64 bit Pixel 7 Pro. Look forward to Namelesswonder's revised instructions on official Magisk 26001. Thx. I may still pass due to the data wipe requirement
Well the thread is in the Pixel 7 Pro forum, the post is completely full of direct references to the Pixel 7 Pro, the intro video was recorded on a Pixel 7 Pro, and the download page makes reference to that it enables 32-bit support on the Pixel 7. So I'd say yes.
You do need to wipe the phone after flashing the custom Magisk image, just use- Does this required to wipe after flashing patched init_boot.img with custom Magisk, I have rooted phone with default Magisk now?
fastboot -w
as-is.init_boot
if you don't want to wipe your data or use the above fastboot command to continue with using the custom Magisk.If you need Zygisk, which you will need for Universal SafetyNet Fix, then yes.- Are we able to enable Zygisk after flashing patched init_boot.img?
earlymount.d
tainting the persist
partition, however for the people that do use that feature I'm sorry but you are going to have to limited support. For now the custom Magisk Delta fork can still be used until it no longer works or Magisk gets a large enough update to necessitate moving. Keeping up with rebasing the maru patches onto Magisk Delta is going to get more difficult as time moves on, so it will just be easier to just use stock Magisk with the maru patches and my patch.