I'm currently on 21004 canary. Tried directly installing 21005 or flashing 21005 in TWRP. After flashing the Magisk version appears unhanged and I'm still on 21004. (NOTE: No slot swap took place. I'm still on Slot A, according to TWRP)
This changelog seems to imply something relevant, as arter97's kernel uses lz4_legacy compression. However, unlike the previous issue (which happened around 20.2), this time it broke nothing. TWRP still works.
Support new lz4_legacy compression format (previous lz4_legacy format is renamed to lz4_lg)
By the way, after flashing 21005, during the first boot the hidden Magisk Manager app would crash, while the original Magisk Manager showed N/A with a toast saying "Magisk Manager was denied Superuser rights.". After deleting the hidden manager and rebooting, I can run the original Magisk Manager just fine (and re-hide it), but it still shows I'm on 21004.
Some logs maybe? Install log and magisk.log after a boot then boot back to recovery.
magisk_install_log_2020-10-25T10_24_42Z.log
Here's the log from direct install.
It seems the installer is complaining about "bad cpio header" and didn't actually do anything (the checksums before and after are identical), so nothing was modified (and nothing was broken).
Upload the image?
Not sure if this shared link works.
Here's a TWRP backup of my boot partition (it's about 25-28MB post-compression so I can't upload it here).
Unpacks well in AiK:
Android Image Kitchen - UnpackImg Script
by osm0sis @ xda-developers
Supplied image: boot.emmc.win.img
Setting up work folders...
Image type: AOSP
Splitting image to "split_img/"...
BOARD_KERNEL_CMDLINE console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 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 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 androidboot.usbcontroller=a600000.dwc3 buildvariant=user printk.devkmsg=on
BOARD_KERNEL_BASE 0x00000000
BOARD_NAME
BOARD_PAGE_SIZE 4096
BOARD_HASH_TYPE sha1
BOARD_KERNEL_OFFSET 0x00008000
BOARD_RAMDISK_OFFSET 0x01000000
BOARD_SECOND_OFFSET 0x00f00000
BOARD_TAGS_OFFSET 0x00000100
BOARD_OS_VERSION 10.0.0
BOARD_OS_PATCH_LEVEL 2020-07
BOARD_HEADER_VERSION 1
BOARD_HEADER_SIZE 1648
Unpacking ramdisk to "ramdisk/"...
Compression used: lz4-l
80112 blocks
Done!
But magiskboot manually reports the following with 21005 here:
/data/adb/magisk/magiskboot unpack boot.emmc.win.img
Parsing boot image: [boot.emmc.win.img]
HEADER_VER [1]
KERNEL_SZ [12160323]
RAMDISK_SZ [18907363]
SECOND_SZ [0]
RECOV_DTBO_SZ [0]
OS_VERSION [10.0.0]
OS_PATCH_LEVEL [2020-07]
PAGESIZE [4096]
NAME []
CMDLINE [console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 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 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 androidboot.usbcontroller=a600000.dwc3 buildvariant=user printk.devkmsg=on]
CHECKSUM [bb5ec73ce1606d2947d5541957d8b1a0a6925dc0000000000000000000000000]
KERNEL_DTB [414582]
KERNEL_FMT [gzip]
RAMDISK_FMT [lz4_lg]
Then magiskboot ramdisk.cpio test shows the same error as your log.
Examining the "ramdisk.cpio" it is actually still lz4-l compressed, so that explains it.
Something is broken in the decompression routine for it now that it's renamed lz4_lg in magiskboot, @topjohnwu. Weird that it's apparently failing silently in the unpack. I looked at the code but it's not obvious to me where/why it's failing to decompress lz4.
@osm0sis thanks for triaging the issue, will look further into the issue
Just tested 21006 canary and confirmed the issue has been fixed. :-)
Most helpful comment
@osm0sis thanks for triaging the issue, will look further into the issue