Just afaik theres no imminent new release, the project is now run by a small group of people for whom communication would be at best described as "spotty"
I will no longer be participating in this thread, or forum, and therefore there will be no further updates by me to the guide.”
one of the admins said that ina few days they may return
People, let's not get this thread sideways again.
I'm sure you are surprised, but things happened and actions were taken. Nothing more to add, especially not here.
So let's get back on topic, shall we?
Thx for your understanding.
Holy crap.. everything universal with support for extensions. This platform could be the beginning of a new era in mods. @topjohnwu amazing work. Don't want to be rude, but personally I think the name of the project is not as awesome as the project itself. "Magisk" sounds a bit cheesy.. :silly:
On microG LOS 18 I had Magisk working, but since updating to 19 and now 20 I am unable to get it working.
I patched the extracted boot.img (from the firmware with link above) with Magisk and flashed it to the boot partition and then the phone does not boot up anymore. When I check for magisk in logcat the first hit is
Code:
magiskinit: open: /proc/bootconfig failed with 2: No such file or directory
Then a bunch of errors with magiskhideprops (I did not save the log output, if you think it can help I can run it again and post it)
Later it just restarting zygote over and over. So probably something goes wrong with patching the boot.img already? The app logs this:
Code:
01-30 00:10:00.717 7751 7751 D CompatibilityChangeReporter: Compat change id reported: 147798919; UID 10024; state: ENABLED
01-30 00:10:01.241 7751 7776 D OpenGLRenderer: endAllActiveAnimators on 0x7da44e72a0 (RippleDrawable) with handle 0x7cb4497aa0
01-30 00:10:05.299 7751 7751 D CompatibilityChangeReporter: Compat change id reported: 78294732; UID 10024; state: ENABLED
01-30 00:10:05.314 7751 7776 E OpenGLRenderer: Unable to match the desired swap behavior.
01-30 00:10:07.076 7751 7794 W System.err: java.lang.ClassCastException: a.AV cannot be cast to a.V
01-30 00:10:07.076 7751 7794 W System.err: at com.topjohnwu.magisk.signing.SignBoot$C.<init>(Unknown Source:12)
01-30 00:10:07.076 7751 7794 W System.err: at com.topjohnwu.magisk.signing.SignBoot.f(SourceFile:4)
01-30 00:10:07.076 7751 7794 W System.err: at a.Nw.h(Unknown Source:23)
01-30 00:10:07.076 7751 7794 W System.err: at a.UF$j.Q(SourceFile:6)
01-30 00:10:07.076 7751 7794 W System.err: at a.Nw$v.q(Unknown Source:28)
01-30 00:10:07.076 7751 7794 W System.err: at a.rQ.h(Unknown Source:5)
01-30 00:10:07.076 7751 7794 W System.err: at a.wE.run(SourceFile:4)
01-30 00:10:07.076 7751 7794 W System.err: at a.e3.run(Unknown Source:11)
01-30 00:10:07.076 7751 7794 W System.err: at a.Cs.run(Unknown Source:2)
01-30 00:10:07.076 7751 7794 W System.err: at a.qW$C.run(SourceFile:8)
01-30 00:10:07.096 7751 7760 W opjohnwu.magisk: Cleared Reference was only reachable from finalizer (only reported once)
Code:
- Device platform: arm64-v8a
- Installing: 25.2 (25200)
- Copying image to cache
- Unpacking boot image
Parsing boot image: [/data/user_de/0/com.topjohnwu.magisk/install/boot.img]
HEADER_VER [1]
KERNEL_SZ [14907427]
RAMDISK_SZ [13396324]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [13.0.0]
OS_PATCH_LEVEL [2023-01]
PAGESIZE [4096]
NAME []
CMDLINE [androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug]
CHECKSUM [f4da0b932d473f6e5ac85e35f65fcde8cd63b9e5000000000000000000000000]
KERNEL_DTB_SZ [1243397]
KERNEL_FMT [gzip]
RAMDISK_FMT [gzip]
VBMETA
Loading cpio: [ramdisk.cpio]
- Checking ramdisk status
- Stock boot image detected
- Patching ramdisk
Loading cpio: [ramdisk.cpio]
Add entry [init] (0750)
Create directory [overlay.d] (0750)
Create directory [overlay.d/sbin] (0750)
Add entry [overlay.d/sbin/magisk32.xz] (0644)
Add entry [overlay.d/sbin/magisk64.xz] (0644)
Patch with flag KEEPVERITY=[true] KEEPFORCEENCRYPT=[true]
Loading cpio: [ramdisk.cpio.orig]
Backup mismatch entry: [init] -> [.backup/init]
Record new entry: [overlay.d] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin/magisk32.xz] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin/magisk64.xz] -> [.backup/.rmlist]
Create directory [.backup] (0000)
Add entry [.backup/.magisk] (0000)
Dump cpio: [ramdisk.cpio]
Loading dtbs from [kernel_dtb]
Patch @ 01DFDF2C [736B69705F696E697472616D667300] -> [77616E745F696E697472616D667300]
- Repacking boot image
Parsing boot image: [/data/user_de/0/com.topjohnwu.magisk/install/boot.img]
HEADER_VER [1]
KERNEL_SZ [14907427]
RAMDISK_SZ [13396324]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [13.0.0]
OS_PATCH_LEVEL [2023-01]
PAGESIZE [4096]
NAME []
CMDLINE [androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug]
CHECKSUM [f4da0b932d473f6e5ac85e35f65fcde8cd63b9e5000000000000000000000000]
KERNEL_DTB_SZ [1243397]
KERNEL_FMT [gzip]
RAMDISK_FMT [gzip]
VBMETA
Repack to boot image: [new-boot.img]
HEADER_VER [1]
KERNEL_SZ [14907424]
RAMDISK_SZ [13796817]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [13.0.0]
OS_PATCH_LEVEL [2023-01]
PAGESIZE [4096]
NAME []
CMDLINE [androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug]
CHECKSUM [966a1752ccd3d6bdcd8545d69a6a69c3fedda1d0000000000000000000000000]
****************************
Output file is written to
/storage/emulated/0/Download/magisk_patched-25200_VBo3P.img
****************************
cp: can't preserve ownership of 'busybox': Operation not permitted
cp: can't preserve ownership of 'magisk32': Operation not permitted
cp: can't preserve ownership of 'magisk64': Operation not permitted
cp: can't preserve ownership of 'magiskboot': Operation not permitted
cp: can't preserve ownership of 'magiskinit': Operation not permitted
cp: can't preserve ownership of 'magiskpolicy': Operation not permitted
- All done!
On microG LOS 18 I had Magisk working, but since updating to 19 and now 20 I am unable to get it working.
I patched the extracted boot.img (from the firmware with link above) with Magisk and flashed it to the boot partition and then the phone does not boot up anymore. When I check for magisk in logcat the first hit is
Code:
magiskinit: open: /proc/bootconfig failed with 2: No such file or directory
Then a bunch of errors with magiskhideprops (I did not save the log output, if you think it can help I can run it again and post it)
Later it just restarting zygote over and over. So probably something goes wrong with patching the boot.img already? The app logs this:
Code:
01-30 00:10:00.717 7751 7751 D CompatibilityChangeReporter: Compat change id reported: 147798919; UID 10024; state: ENABLED
01-30 00:10:01.241 7751 7776 D OpenGLRenderer: endAllActiveAnimators on 0x7da44e72a0 (RippleDrawable) with handle 0x7cb4497aa0
01-30 00:10:05.299 7751 7751 D CompatibilityChangeReporter: Compat change id reported: 78294732; UID 10024; state: ENABLED
01-30 00:10:05.314 7751 7776 E OpenGLRenderer: Unable to match the desired swap behavior.
01-30 00:10:07.076 7751 7794 W System.err: java.lang.ClassCastException: a.AV cannot be cast to a.V
01-30 00:10:07.076 7751 7794 W System.err: at com.topjohnwu.magisk.signing.SignBoot$C.<init>(Unknown Source:12)
01-30 00:10:07.076 7751 7794 W System.err: at com.topjohnwu.magisk.signing.SignBoot.f(SourceFile:4)
01-30 00:10:07.076 7751 7794 W System.err: at a.Nw.h(Unknown Source:23)
01-30 00:10:07.076 7751 7794 W System.err: at a.UF$j.Q(SourceFile:6)
01-30 00:10:07.076 7751 7794 W System.err: at a.Nw$v.q(Unknown Source:28)
01-30 00:10:07.076 7751 7794 W System.err: at a.rQ.h(Unknown Source:5)
01-30 00:10:07.076 7751 7794 W System.err: at a.wE.run(SourceFile:4)
01-30 00:10:07.076 7751 7794 W System.err: at a.e3.run(Unknown Source:11)
01-30 00:10:07.076 7751 7794 W System.err: at a.Cs.run(Unknown Source:2)
01-30 00:10:07.076 7751 7794 W System.err: at a.qW$C.run(SourceFile:8)
01-30 00:10:07.096 7751 7760 W opjohnwu.magisk: Cleared Reference was only reachable from finalizer (only reported once)
Code:
- Device platform: arm64-v8a
- Installing: 25.2 (25200)
- Copying image to cache
- Unpacking boot image
Parsing boot image: [/data/user_de/0/com.topjohnwu.magisk/install/boot.img]
HEADER_VER [1]
KERNEL_SZ [14907427]
RAMDISK_SZ [13396324]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [13.0.0]
OS_PATCH_LEVEL [2023-01]
PAGESIZE [4096]
NAME []
CMDLINE [androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug]
CHECKSUM [f4da0b932d473f6e5ac85e35f65fcde8cd63b9e5000000000000000000000000]
KERNEL_DTB_SZ [1243397]
KERNEL_FMT [gzip]
RAMDISK_FMT [gzip]
VBMETA
Loading cpio: [ramdisk.cpio]
- Checking ramdisk status
- Stock boot image detected
- Patching ramdisk
Loading cpio: [ramdisk.cpio]
Add entry [init] (0750)
Create directory [overlay.d] (0750)
Create directory [overlay.d/sbin] (0750)
Add entry [overlay.d/sbin/magisk32.xz] (0644)
Add entry [overlay.d/sbin/magisk64.xz] (0644)
Patch with flag KEEPVERITY=[true] KEEPFORCEENCRYPT=[true]
Loading cpio: [ramdisk.cpio.orig]
Backup mismatch entry: [init] -> [.backup/init]
Record new entry: [overlay.d] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin/magisk32.xz] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin/magisk64.xz] -> [.backup/.rmlist]
Create directory [.backup] (0000)
Add entry [.backup/.magisk] (0000)
Dump cpio: [ramdisk.cpio]
Loading dtbs from [kernel_dtb]
Patch @ 01DFDF2C [736B69705F696E697472616D667300] -> [77616E745F696E697472616D667300]
- Repacking boot image
Parsing boot image: [/data/user_de/0/com.topjohnwu.magisk/install/boot.img]
HEADER_VER [1]
KERNEL_SZ [14907427]
RAMDISK_SZ [13396324]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [13.0.0]
OS_PATCH_LEVEL [2023-01]
PAGESIZE [4096]
NAME []
CMDLINE [androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug]
CHECKSUM [f4da0b932d473f6e5ac85e35f65fcde8cd63b9e5000000000000000000000000]
KERNEL_DTB_SZ [1243397]
KERNEL_FMT [gzip]
RAMDISK_FMT [gzip]
VBMETA
Repack to boot image: [new-boot.img]
HEADER_VER [1]
KERNEL_SZ [14907424]
RAMDISK_SZ [13796817]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [13.0.0]
OS_PATCH_LEVEL [2023-01]
PAGESIZE [4096]
NAME []
CMDLINE [androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug]
CHECKSUM [966a1752ccd3d6bdcd8545d69a6a69c3fedda1d0000000000000000000000000]
****************************
Output file is written to
/storage/emulated/0/Download/magisk_patched-25200_VBo3P.img
****************************
cp: can't preserve ownership of 'busybox': Operation not permitted
cp: can't preserve ownership of 'magisk32': Operation not permitted
cp: can't preserve ownership of 'magisk64': Operation not permitted
cp: can't preserve ownership of 'magiskboot': Operation not permitted
cp: can't preserve ownership of 'magiskinit': Operation not permitted
cp: can't preserve ownership of 'magiskpolicy': Operation not permitted
- All done!
There is some family of devices that suddenly reoganized ROM distribution / partitions. For that family, you no longer patch boot.img -- there's some other partition that needs to be patched. I think the name was something like "bootinit".
Start by checking the distribution ROM to see what assortment of partition names you have.
There is some family of devices that suddenly reoganized ROM distribution / partitions. For that family, you no longer patch boot.img -- there's some other partition that needs to be patched. I think the name was something like "bootinit".
Start by checking the distribution ROM to see what assortment of partition names you have.
You may be thinking of the Pixel 7 series where the init_boot.img is patched since that's where the generic ramdisk was moved to (from the boot.img) on these devices (and other devices that ship with Android 13).
I found out something interesting. When I magisk patch the boot image provided with the microg downloads (don't ask me what the difference is but the checksum differs to the one packed in the update) this will also not boot when I flash it to boot. But it DID boot when I booted directly from the bootloader (fastboot boot ...) and Magisk shows it is installed (but after reboot you will loose it again). Then I tapped on install magisk and now there were more options and I did the direct installation. This created and flashed a working boot image and now I have magisk persistent with a working boot partition...
I found out something interesting. When I magisk patch the boot image provided with the microg downloads (don't ask me what the difference is but the checksum differs to the one packed in the update) this will also not boot when I flash it to boot. But it DID boot when I booted directly from the bootloader (fastboot boot ...) and Magisk shows it is installed (but after reboot you will loose it again). Then I tapped on install magisk and now there were more options and I did the direct installation. This created and flashed a working boot image and now I have magisk persistent with a working boot partition...
Well done... You've stumbled on a method many use and advocate; obtain temporary root by booting only rooted image, then use Direct install (only available with root) to permanently flash root to boot partition...
Another interesting trick is that one can update by flashing Magisk.zip (renamed .apk archive) as a module ("install from storage")...
Not sure why you couldn't fastboot flash image, but can't preserve ownership errors may relate to AVB issues... Disabling verity/verification per Installation Instructions may have helped, (or the 'ownership' issue may be caused by something else) but frankly I think the method you discovered is actually better... PW
I found out something interesting. When I magisk patch the boot image provided with the microg downloads (don't ask me what the difference is but the checksum differs to the one packed in the update) this will also not boot when I flash it to boot. But it DID boot when I booted directly from the bootloader (fastboot boot ...) and Magisk shows it is installed (but after reboot you will loose it again). Then I tapped on install magisk and now there were more options and I did the direct installation. This created and flashed a working boot image and now I have magisk persistent with a working boot partition...
The distribution comes with MicroG and I actually had problems with the bootup before (it was something about gmscore not being in the privapp permissions allowlist), but was able to resolve this by uninstalling microg . I reinstalled it later again via magisk module microg installer revived.
The distribution comes with MicroG and I actually had problems with the bootup before (it was something about gmscore not being in the privapp permissions allowlist), but was able to resolve this by uninstalling microg . I reinstalled it later again via magisk module microg installer revived.
What is a "MicroG download"?
Does it "include" a boot.img?
What other "boot.img" did you patch that you reported that when you patched the boot.img that came with the MicroG download, "this will also not boot"?
The distribution comes with MicroG and I actually had problems with the bootup before (it was something about gmscore not being in the privapp permissions allowlist), but was able to resolve this by uninstalling microg . I reinstalled it later again via magisk module microg installer revived.
Like @J.Michael, I suspect you weren't flashing boot image as currently installed (ie. It received extra patching or it was simply from a different package)... Direct install (as you did) ensures current image is patched which is critical since it contains the kernel etc as well as generic ramdisk.
If you have twrp and bootable system you can also ensure you use image identical to current one simply by making a twrp backup of boot partition, then extracting the .win backup and patching that in Magisk... You can simply rename *.win to *.img, but likely don't even need to do that... PW
What is a "MicroG download"?
Does it "include" a boot.img?
What other "boot.img" did you patch that you reported that when you patched the boot.img that came with the MicroG download, "this will also not boot"?
lineage-20.0-20230124-microG-enchilada.zip <- this update includes a boot.img (extracted from payload.bin with payload-dumper-go)
lineage-20.0-20230122-microG-enchilada-boot.img <- this is the other boot.img
Like @J.Michael, I suspect you weren't flashing boot image as currently installed (ie. It received extra patching or it was simply from a different package)...
True I did not try to backup boot and patching this. I thought there is no point because the boot.img contained in the update should be identical to the boot partition after sideloading lineage-20.0-20230124-microG-enchilada.zip. Unless the partition is changed during the first bootup while these changes are mandatory for magisk patching to work?
For all I'm referring to the microG patched LineageOS builds:
lineage-20.0-20230124-microG-enchilada.zip <- this update includes a boot.img (extracted from payload.bin with payload-dumper-go)
lineage-20.0-20230122-microG-enchilada-boot.img <- this is the other boot.img
True I did not try to backup boot and patching this. I thought there is no point because the boot.img contained in the update should be identical to the boot partition after sideloading lineage-20.0-20230124-microG-enchilada.zip. Unless the partition is changed during the first bootup while these changes are mandatory for magisk patching to work?
Yup, last boot image flashed should be the same unless the microg installation does alter the boot.img somehow as you suggest...
You initial posts were a little less than clear respecting various boot images however, and many users have patched mismatched boot images before reporting issues in these forums and in GitHub issues too. Can't hurt to consider the possibility... PW
Don't use official USNF 2.4.0 ATM as it is broken and fails intermittently... Use any of @Displax's published modded USNF builds...
USNF and Shamiko do quite different things...
Most banks require Play integrity deviceIntegrity passing verdict (ie. use @Displax's modded USNF). Some use their own approaches to detect root/modified runtime environment (ie. use Shamiko etc)... Both can be used in tandem with no conflicts... PW
Don't use official USNF 2.4.0 ATM as it is broken and fails intermittently... Use any of @Displax's published modded USNF builds...
USNF and Shamiko do quite different things...
Most banks require Play integrity deviceIntegrity passing verdict (ie. use @Displax's modded USNF). Some use their own approaches to detect root/modified runtime environment (ie. use Shamiko etc)... Both can be used in tandem with no conflicts... PW
This is the Magsik Alpha. The links on this page link to Magisk Debug latest version. The code hasn't been updated but the links and where they are the same as canary/debug official build.
For those who might be confused is that the official Magisk Alpha GitHub source (wrong, it is not) and why its Readme Download links to the official Canary (yielding somebody to wrongly think that Alpha is nothing else but Magisk Canary)
Back then in the late summer of 2021, Magisk v23 was still the latest official version
However, TJW (developer and founder of Magisk), who started to work for Google some months earlier, with his peers (some of them are now Magisk Alpha developers) started to work on the new Magisk v24 with the brand new Zygisk, DenyList instead of MagiskHide, removed support for the old Modules Repo, etc
The new code was already committed to his GitHub repo (changes were ongoing) but the new Magisk Canary v24xxx had not been released yet (afaik, it was soon afterwards, during the fall of 2021)
Guys (actually girls or more appropriately, young ladies, students) from the Alpha group released their Magisk Alpha and for many of us here (who dared to install and use) that was the first experience with what would soon come with the new Magisk v24 (for a long time back then in 2021, Alpha provided the new Magisk+DenyList but also the alternative, the old MagiskHide instead)
Btw, that was also the reason why they probably chose the Alpha name - it was like an experimental, pre-release, earlier than the Magisk Canary (and Magisk Beta) v24 came out.
(Another viable theory: They thought of themselves as Alpha females)
And they had Magisk Alpha source code open on the GirHub (it remained open until the end of last year or so), and they themselves experimented with the new stuff through the Magisk Alpha installations, eg, developing/debugging modules like Zygisk-LSPosed (for that new Zygisk) and Shamiko (to hide Zygisk) - those modules were indeed developed and still maintained (btw, isn't Shamiko also closed source?!) from the same Alpha developers group
Hence somebody, that CoderThyn (sorry, I'm not familiar with that name but I think he was not part of Magisk nor Alpha development) forked their code
If you look to his GitHub project (you provided the link), you will see that it's frozen in time, 2 years old, last update Sep 2021 (screenshots below)
Btw, the same guy has another Alpha fork (the other screenshot below), 'newer' - albeit from Oct 2021
The Readme you see there is also frozen in time: Readme page (Alpha devs did not waste time on writing their own Readme.md but they reused TJW Readme from the official Magisk) - scroll down and you will see that it refers to v23 as the 'latest' Stable Magisk
(That old Readme had also a link to the Wiki - Wiki was recently removed since the author of Wiki is no more 'in' and does no more update his Wiki, although it would still be an excellent user guide for many)
All together, that GitHub link you provided is nothing else but the two years old fork of Magisk Alpha, frozen back in that time.
If you would fork yourself and build (assuming the source is complete there) you would obtain some Magisk Alpha v23xxx (as their version numbers were before Magisk v24 was released)
And the download link points to the (always the latest) official Canary since that's how it was in the Alpha Readme.md when CoderThyn forked Magisk Alpha back in Sep 2021 (again, once upon a time When the World Was New and Alpha was the open source)
Hence that GitHub project is not an up-to-date Magisk Alpha and its download link does not provide a link to download the Magisk Alpha (ie, when you click to 'his' Download and get the latest official Magisk Canary, it does not mean that Alpha = Canary - it is not and it never was)
This is still NOT true... At best, JSON in vv's Alpha GitHub repo points to official Canary notes, and Alpha does build Canary commits but it adds her experimental ones... always has... And lack of public source doesn't change that; ie. Alpha builds are a very different animal...
For example, recent builds incl latest 25210 include support for experimental (not publicly released) Shamiko v0.6-141. This simply won't run on TJW releases incl. latest Canary ATM... If you want to test early Shamiko you need Alpha...
Another big (and somewhat controversial) difference is that all Alpha builds include (Microsoft based) telemetry... Her pull request for this has been up in TJW Magisk for some time now, but John has never merged this in Canary builds... Yet...
So Alpha is basically Canary with additional (experimental) commits, and there is no published "Alpha Canary" but if there were it would be reasonable to expect it that would contain the unique Alpha commits too...
Many of vv's Alpha commits end up in TJW Magisk, as do commits from Shana's Metagisk and Canyie's Bravo as well as commits developed in other test branches from these Devs (most prolific) and from other forks/Devs also... PW
John was not part of that group. Quit spreading lies.
And to go even farther.
Canary= bleeding edge
Beta= almost stable
Official/alpha(term not app=stable
Hence husky using Delta name because Delta would be before Canary. Backwards alphabet like most projects. Idk where you think Alpha would before Canary. Read the GitHub she was using. She was pulling from the main branch and basically re-forking it with a commit or 2 changed from Canary. More than likely small things like package name and update channel. Literally above in John's own post from over a year ago he denounced them using that name. He didn't say anything about him being in it..if he did start it, why use that name and then call them out for using that name? I mean that sounds off. It's a good story though. She is a contributor, or was or whatever she is now. She flipped on being open source with Alpha. That is fact. Shared in a Chinese only TG. I wouldn't trust it. "Confusing."
Magisk canary builds are available on GitHub.
You just have to look at the history.
Canary builds are hosted in the magisk-files repo.
magisk-files (Canary commit history) - [GitHub] - Link
Select the build commit you are looking for.
Select the apk file and "View File".
You can then Download or "View raw". Since it can not show you the raw file, it will start the download of the file.
Not only does it work, but if you take a few extra steps, you can make a 100% clean install of ANY Magisk version or fork without PC or TWRP.
Here's how I do it :-
- Download Magisk version/fork you want to try
- Add .zip to the end of the Magisk apk eg: Magisk.apk becomes Magisk.apk.zip
- Unhide the Magisk app if you have hidden/renamed it
- Turn on aeroplane mode
- Delete /data/adb/Magisk folder and /data/adb/magisk.db file
- In Magisk app, perform Uninstall Magisk - RESTORE IMAGES so you are back on stock boot image
- Install the new Magisk.apk.zip as a module
- Change Magisk.apk.zip back to Magisk.apk
- Uninstall the Magisk app (the apk only NOT Magisk itself)
- Reboot
- Install the new Magisk.apk
- Open it up and check settings and modules and customise to your needs eg: zygisk may need to be re-enabled and deny list reconfigured
- Reboot again and turn off aeroplane mode
You will now be on a new clean install of whatever Magisk you are trying. No loss of root or modules and no need to clear data from play services to re-enable wallet (assuming it worked before and you set everything up properly)
Only thing left to do is grant root to whatever apps need it.
Greetings to you both. As you have both noticed, I have cleaned this thread of some of your recent comments. I will politely ask you both to please refrain from
further OT and argumentative comments, and to please conduct yourselves in accordance with XDA Rule #2.3 for member conduct:
2.3Flaming / Lack of respect: XDA is about sharing and this does not involve virtual yelling (flaming) or rudeness. Flaming or posting with a lack of respect is unacceptable. Treat new members in the manner in which you would like to have been treated when you were a new member. When dealing with any member, provide them with guidance, advice and instructions when you can, showing them respect and courtesy. Never post in a demanding, argumentative, disrespectful or self-righteous manner.
If you wish to argue further, then please do so via PM's, or another platform since XDA is not the place for these types of discussions on the public forums. Please be advised, posts which continue to violate the forum rules will be removed with immediate effect, and posiible sanctions applied to your account should things get too far out of hand, which we certainly do not want.
So please let this be the end of this here and now.
Thank you for your cooperation, and hope you have a pleasant day.
It is because Magisk can't work properly on some broken custom recoveries, which mount partitions with wrong devices...
Found no way to workaround it other than detecting and warning user to reinstall Magisk manually...
This is the place for general support and discussion regarding "Public Releases", which includes both stable and beta releases.
All information, including troubleshoot guides and notes, are in the Announcement Thread
Hello, I haven't given much support on XDA lately. It can be resulted from
University started and I have limited free time. In fact, I mostly develop during midnight
I live in Taiwan, which has large time zone differences between my European/American contributors/testers, which usually forces me to stay up late at night to discuss/test stuffs.
The new version is about to come, I don't want to spend effort on supporting old releases
The planned update is delayed again and again, to some point I think I'll shed some light about what has been happening lately, also along with some announcements.
New Forum!
As you might have already discovered, Magisk got its own subforum on XDA! Many thanks to all the support you gave me, and much more information/features/support is about to come!
**For developers supporting all the devices that are not using standard Android boot format, feel free to create threads in this section (actually, PLEASE do so) for your favorite devices after v7 is out. As I currently know, Asus devices require signing the boot image before flashing, and is model dependant; Sony devices seems to use ELF kernel that is unpatchable, or some has two ramdisks (inner + outer), both requires different workarounds; LG bootloader locked devices has to manually "BUMP" the boot image after flashing Magisk..... and there may be lots of other crazy boot image formats that haven't come up to my attention yet.
It is impossible for me to support all these non-standard boot images, and I hope the community can collaborate to make Magisk running across all the devices. Overall, community collaboration is what XDA about
The Pixel Phone
Some of you might already know this news, that the next Pixel Phone right around the corner seems like it does not have ramdisk in boot image, which pretty much wrecked Magisk in all ways. However, it pretty much doomed root itself too. Kernel modifications is inevitable IMO, so I'll try to migrate my scripts to C programs that could possibly be included into the kernel itself. Note that I'm not familiar with linux kernel, I'm not even sure if my idea and concept is correct or not. But once the device is available, I think developers will find a way to bypass all the difficulties, and I'll do my best to learn things
Current Progress
In the past month, I've spent quite some time learning SELinux, so that I can avoid using SuperSU's sepolicy patches. Thanks to the helps and tips from @phhusson and @Chainfire, I finally have a much clearer understanding of how SELinux works. The Magisk core parts (the scripts, boot image patches, new features, more supports) are actually done some time ago. What is causing all the delays is the Magisk Manager.
To be completely honest, although I can code in Java without much issues, Magisk Manager is actually my first Android application, I had to reach out for assistance, and fortunately awesome developers like @DVDandroid and @digitalhigh contributed a lot, which makes the current Manager awesome.
After the repo system and module management is mostly done, I was about to do some adjustments and release, but what we really done is decided to add another feature: auto-unroot with per-app settings. I decided to wait for it to be finished, and then do my adjustments. Due to reasons that'll be mentioned later, this feature will likely not be available for the next release (should come in future updates)
Safety Net Disaster
Those who are using Magisk for Safety Net bypass purposes must have known that Google recently updated the detection method of my Systemless Xposed. I still have no idea what Safety Net is detecting, so currently I cannot fix it on my side (also because I'm busy working on the next update). However, suhide developed by @Chainfire is able to hide Xposed and worked fine.
However, only my Systemless Xposed v86.2, which is based on SuperSU's su.d, is supported using that method. v86.2 and v86.5 (latest, Magisk based) have nearly identical binaries, and the only difference is the path where the binaries are stored.
I'm still not sure what's the real issue for it not being supported, I just hope it is not done intentionally.
Conclusion
Due to the fact that my Safety Net bypass is not 100% perfect now, I do not want to spend any more time waiting for auto-unroot to be polished. What I'm doing now is finishing up all the things I'd like to change in Magisk Manager (it has been a while since I last contributed to Manager, my fellow developers are doing all the heavy job), which might take a little more time, after that, packed with tons of information to be announced in Magisk Section, I'll release the long awaited update.
Hope this lengthy post gives you the idea of the whole situation, and again thanks for all your support!!
Ah, some Chainfire bashing, I hope it is not too late for me to exercise additional villainy.
First, let me make clear I have nothing against @topjohnwu, nor against Magisk. Magisk is an interesting project and it certainly displays @topjohnwu ingenuity and persistence. I don't doubt we will see more interesting things from his hands.
-------------------------
What has happened here is not all that dark and complicated, from either end. I returned from holidays, and someone pointed me at Magisk. My first thought: interesting!
Among other things, the thread lists some issues with SuperSU, which in combination with the phrase The developer also requests users to not bug Chainfire with compatibility requests for SuperSU with Magisk from the portal article, raised my left eyebrow by nigh half an inch. The popular systemless xposed mod is apparently now based on it, and apparently it now no longer works with SuperSU, and apparently I'm not supposed to fix that, nor any of the other found issues. I found that a bit weird. So yes, I have told @topjohnwu that I was a bit surprised he was posting about issues with SuperSU without notifying me about them (I can't fix or help fix issues I'm not aware of, after all).
He's also spreading a modified version of the SuperSU package, which is not all that uncommon, nor necessarily a problem. I have not looked into what he modified, I only ran a few quick tests on one of my devices, and found some commonly used commands run as root to be broken. I have informed him of this as well.
It appears the tool of choice for Magisk is phh's Superuser, because of some of the mentioned issues with SuperSU. That's fine by itself, but fixing issues in that superuser by incorporating SuperSU's binaries into it is a somewhat questionable practise. After all, SuperSU is a commercial closed-source package that helps pay for my dinner, and superuser is a direct competitor. I have informed him that I was surprised he did this without asking for permission. I have expressed similar surprise on him spreading a modified version of LiveBoot (which helps pay for a snack now and then). @topjohnwu has also stated that Magisk's scripts are largely influenced by mine (I have not checked). Scripts based on mine are used all over the place on XDA, some people have crafted amazing things based on them, I have never made an issue of this (otherwise I would have just made them binaries). But yes, I have also stated to him that I don't think it's very nice to base something on one program, and then using that to (almost exclusively) push something directly competing with that program.
tl;dr Towards @topjohnwu, I have:
- expressed surprise he has issues getting Magisk to work with SuperSU, and has chosen not to inform me about those
- expressed surprise he is using SuperSU binaries in a competing superuser without permission
- expressed surprise he is posting a modified LiveBoot without permission
- informed him of issues with the modified SuperSU he has posted
- let him know I thought it wasn't very nice to be applying my scripts to benefit seemingly exclusively that same competing superuser
To be crystal clear:
- I have not asked for an apology
- I have not asked for Magisk to be abandoned, neither the root hiding nor systemless module parts, and certainly not systemless xposed
- I have not made an issue of any of this anywhere, until this post
- I have not even specifically asked for anything to be taken down (though obviously in my opinion the other superuser package mixed with SuperSU's binaries, as well as the LiveBoot package, should go)
- I have not reported this thread to XDA moderators for copyright violations or otherwise
While my conversation with @topjohnwu may not win any awards for being friendly (though it may win some for brevity), I think all things considered my response has been rather mild. To be perfectly honest, until the apology post, I thought this was over with already. I think the apology post was triggered because I haven't replied to his last PM for a while - I was in the zone, it happens.
To emphasize again, I have nothing against @topjohnwu, Magisk, or systemless xposed, and it is certainly not my goal to see any of them go. If it can be made to work together with SuperSU, great.
I get it though: you think of something, you want to see if you can make it work, you finally get it to work, you publish it, it takes off - enthusiasm gets the better of you. Maybe in the rush some mistakes are made. That doesn't mean you have to just drop it and run. None of my stuff would make it past 0.1 if I stopped at the first big mistake
Aside from said being in the zone coding, I usually regret actually responding to these sort of things the day after, which has made me hesitant to reply. Surprise me.
The flood of "SafetyNet isn't working for me either!" posts are not helpful, at all. Please refrain from posting further, it will be looked into. Please do not forget that not passing SafetyNet is 100% NORMAL AND INTENDED when you have an unlocked booloader or running custom firmware. These are workarounds and they will be worked around in turn.
The Flash
Forum Moderator
EDIT: Thread is reopened... I will be cleaning any SafetyNet posts for a while to keep the thread clean for real issues.
I am aware that Google has updated Safety Net that makes Magisk itself a no go for Android Pay. In fact, I witnessed the change live while I am developing the new magiskhide, which should hide all Magisk modules and Magisk installed root.
Google is serious about Safety Net now, clearly hunting down all possibility to run Xposed with Safety Net passed. I spend quite some time examining the new security measures last midnight, and fortunately it seems that it is possible to run Magisk and root along with Safety Net if no Xposed is running. I'm glad I removed the old root toggle at the right time lol, that is no longer feasible with the latest detection.
So stay tuned for the next update, it will come with bug fixes, along with the new magiskhide to bypass that Safety Net.
Google, how will a few systemless mods do any harm