Magisk/docs/releases/20000.md
2020-10-03 03:30:22 -07:00

3.2 KiB

2019.10.11 Magisk v20.0

The following release notes are mostly the same as v19.4. Compared to v19.4 beta, the most notable change is adding tons of support for more devices on Android 10, along with several bug fixes.

New System-as-root Implementation

Magisk has supported system-as-root devices for a long time since the first Pixel came out. The goal is always to revert things back to the good old initramfs based root dir. However, this not only creates tons of issues on many devices, not easily hide-able with MagiskHide, but most importantly not even possible on Android 10. Magisk will now start to follow how Google has designed system-as-root: mounting system actually to / (root).

This implies several MASSIVE consequences for system-as-root devices:

  • /system is no longer a valid mount point. For existing root apps that remounts /system to rw, you will have to remount / instead of /system
  • The root directory (/) is no longer rootfs, but actually system. Remounting / to rw and modify files means you are writing to the actual system partition, NOT volatile storage as it used to be in rootfs. This is not recommended as user is not necessary aware that you are tampering an actual partition, sometimes dangerous if dm-verity/AVB-verity is enforced, or sometimes outright impossible since many devices now ship with read-only system partitions (e.g. EROFS, EXT4 dedup)
  • Several custom kernel rely on Magisk's root directory overlay system (overlay) for modifying /. This is no longer compatible with the new implementation. A new overlay system (overlay.d) will replace the existing one as an alternative (details in documentations). To provide backwards compatibility, Magisk will switch to "Compat Mode" when /overlay is detected, which simply reverts to the old system-as-root setup. Compat Mode will not work on Android 10 and will cause bootloop. Although things will still work as it used to, please upgrade to overlay.d ASAP.

Android 10 Support

Android 10 is now fully supported with MagiskHide working as expected. Android 10's biggest challenge is the new "2-Stage-Init" system-as-root implementation, which requires modding early mount fstab in a specific way, and in many devices' cases involves patching DTBs in the boot image.

(For those interested in "2-Stage-Init" and other details of system-as-root, check this Twitter thread I tweeted)

Product Partition Support

Magisk Module developers can now finally properly modify files in /product! This partition is now an essential part in Android 10, and many files are moved from system to product. Please check documentations for more details.

A-Only System-as-root

A huge number of new devices have A-only system-as-root setups (Android 9.0). These unfortunate devices will have to install Magisk into the recovery partition. Please check the fully updated Installation Guide for more details.

Full Changelog: here