Commit 3e479726 authored by topjohnwu's avatar topjohnwu

Fix legacy rootfs devices

parent 4cc41ecc
...@@ -28,6 +28,6 @@ kapt.incremental.apt=true ...@@ -28,6 +28,6 @@ kapt.incremental.apt=true
# Magisk # Magisk
magisk.stubVersion=16 magisk.stubVersion=16
magisk.versionCode=21402 magisk.versionCode=21403
magisk.ndkVersion=21d magisk.ndkVersion=21d
magisk.fullNdkVersion=21.3.6528147 magisk.fullNdkVersion=21.3.6528147
...@@ -14,7 +14,7 @@ android { ...@@ -14,7 +14,7 @@ android {
externalNativeBuild { externalNativeBuild {
ndkBuild { ndkBuild {
// Pass arguments to ndk-build. // Pass arguments to ndk-build.
arguments("B_MAGISK=1", "B_INIT64=1", "B_BOOT=1", "B_TEST=1", arguments("B_MAGISK=1", "B_INIT=1", "B_BOOT=1", "B_TEST=1",
"MAGISK_DEBUG=1", "MAGISK_VERSION=debug", "MAGISK_VER_CODE=INT_MAX") "MAGISK_DEBUG=1", "MAGISK_VERSION=debug", "MAGISK_VER_CODE=INT_MAX")
} }
} }
......
...@@ -86,7 +86,7 @@ static int64_t setup_block(bool write_block) { ...@@ -86,7 +86,7 @@ static int64_t setup_block(bool write_block) {
sprintf(blk_info.block_dev, "/dev/block/%s", dev.devname); sprintf(blk_info.block_dev, "/dev/block/%s", dev.devname);
} }
dev_t rdev = makedev(dev.major, dev.minor); dev_t rdev = makedev(dev.major, dev.minor);
mknod(blk_info.block_dev, S_IFBLK | 0600, rdev); xmknod(blk_info.block_dev, S_IFBLK | 0600, rdev);
return rdev; return rdev;
} }
// Wait 10ms and try again // Wait 10ms and try again
......
...@@ -322,8 +322,14 @@ void SARBase::patch_rootdir() { ...@@ -322,8 +322,14 @@ void SARBase::patch_rootdir() {
#define TMP_RULESDIR "/.backup/.sepolicy.rules" #define TMP_RULESDIR "/.backup/.sepolicy.rules"
void RootFSInit::patch_rootfs() { void RootFSInit::patch_rootfs() {
// Create hardlink mirror of /sbin to /root
mkdir("/root", 0777);
clone_attr("/sbin", "/root");
link_path("/sbin", "/root");
// Handle custom sepolicy rules // Handle custom sepolicy rules
xmkdir(TMP_MNTDIR, 0755); xmkdir(TMP_MNTDIR, 0755);
xmkdir("/dev/block", 0755);
mount_rules_dir("/dev/block", TMP_MNTDIR); mount_rules_dir("/dev/block", TMP_MNTDIR);
// Preserve custom rule path // Preserve custom rule path
if (!custom_rules_dir.empty()) { if (!custom_rules_dir.empty()) {
...@@ -346,11 +352,6 @@ void RootFSInit::patch_rootfs() { ...@@ -346,11 +352,6 @@ void RootFSInit::patch_rootfs() {
patch_init_rc("/init.rc", "/init.p.rc", "/sbin"); patch_init_rc("/init.rc", "/init.p.rc", "/sbin");
rename("/init.p.rc", "/init.rc"); rename("/init.p.rc", "/init.rc");
// Create hardlink mirror of /sbin to /root
mkdir("/root", 0750);
clone_attr("/sbin", "/root");
link_path("/sbin", "/root");
// Dump magiskinit as magisk // Dump magiskinit as magisk
int fd = xopen("/sbin/magisk", O_WRONLY | O_CREAT, 0755); int fd = xopen("/sbin/magisk", O_WRONLY | O_CREAT, 0755);
write(fd, self.buf, self.sz); write(fd, self.buf, self.sz);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment