Another simple way to integrate Magisk into Android-x86 project (BlissOS, PrimeOS, ...)
- In Android-x86 directory (which contain initrd.img, system.img, data, or data.img, ...), rename
initrd.imgtoinitrd_real.imgand putinitrd-magiskasinitrd.img. - Download magisk apk and put it as
magisk.apkin Android-88 directory.
Android x86 directory will be like this:
- ...
- data.img or data folder
- findme
- initrd.img (initrd-magisk)
- initrd_real.img (original initrd.img)
- install.img
- kernel
- magisk.apk
- ramdisk.img (if Android 9 and bellow)
- system.img
- ...
- System launched with initrd-magisk (
initrd.img) unpacked into root directory in first stage, then unpack originalinitrd_real.imgto root directory. - Extract
magisk.apkand put binaries into/magisk - Put
99_magiskscript into/scripts - Launch
initscript from originalinitrd_real.imgand continue to boot.
- Execute
99_magiskscript to patch Android's root directory- On rootfs, directly add magisk binaries into
/android/magiskand magisk services intoinit.rc - On system-as-root, mount tmpfs on
/android/dev, mount overlayfs on/system/etc/initand add magisk binaries andmagisk.rc. - Patch sepolicy file, dump it into
/android/dev/.overlay/sepolicyand mount bind into/sepolicyor vendor precompiled sepolicy. - Unmount
/android/dev
- On rootfs, directly add magisk binaries into
initswitch root to/androidand execute/initto boot into Android.
- Android boot with Magisk
- Prepare environment:
apt update; apt upgrade
pkg install git
pkg install cpio
- Clone this repo by:
git clone http://github.com/huskydg/initrd-magisk
- Change current directory to
~/initrd-magisk:
cd ~/initrd-magisk
- Build with these command:
chmod -R 777 *; find * | cpio -o -H newc | gzip > ../initrd-magisk.img
- If you have
rusty-magiskinstalled (BlissOS 14, PrimeOS 2.0 come withrusty-magiskinstalled),initrd-magiskwill try to invalidate it. It's RECOMMENDED to remove it. - If you update Android-x86 OTA, it might wipe out
initrd.imgso you will need to do again.