From 2b37e5ddbc451e312d6a4bcc36964d429e1342e3 Mon Sep 17 00:00:00 2001 From: Victor Bo Date: Wed, 3 Mar 2021 06:31:17 -0500 Subject: [PATCH] Restore /sbin for Magisk compatibility Squash of: - Revert "Do not create /sbin" - Revert "Remove sbin from fs_config.cpp" - add /sbin to the PATH Change-Id: I1224c9b64ce8eb14f7d15c8441c0633a7e6a20de --- CleanSpec.mk | 2 -- libcutils/fs_config.cpp | 3 +++ rootdir/Android.mk | 2 +- rootdir/init.environ.rc.in | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CleanSpec.mk b/CleanSpec.mk index 0a534a2bd..81150a0fa 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -80,8 +80,6 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/vndksp.libraries.txt) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/sbin/charger) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sbin/charger) -$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/sbin) -$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sbin) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/product_services) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/product_services.img) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/product_services) diff --git a/libcutils/fs_config.cpp b/libcutils/fs_config.cpp index 5805a4d19..b30707fc8 100644 --- a/libcutils/fs_config.cpp +++ b/libcutils/fs_config.cpp @@ -80,6 +80,7 @@ static const struct fs_path_config android_dirs[] = { { 00771, AID_SYSTEM, AID_SYSTEM, 0, "data" }, { 00755, AID_ROOT, AID_SYSTEM, 0, "mnt" }, { 00751, AID_ROOT, AID_SHELL, 0, "product/bin" }, + { 00750, AID_ROOT, AID_SHELL, 0, "sbin" }, { 00777, AID_ROOT, AID_ROOT, 0, "sdcard" }, { 00751, AID_ROOT, AID_SDCARD_R, 0, "storage" }, { 00751, AID_ROOT, AID_SHELL, 0, "system/bin" }, @@ -164,6 +165,7 @@ static const struct fs_path_config android_files[] = { { 00600, AID_ROOT, AID_ROOT, 0, "system_ext/build.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, system_ext_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, system_ext_conf_file + 1 }, + { 00750, AID_ROOT, AID_SHELL, 0, "sbin/fs_mgr" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump32" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump64" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/debuggerd" }, @@ -209,6 +211,7 @@ static const struct fs_path_config android_files[] = { { 00750, AID_ROOT, AID_SHELL, 0, "init*" }, { 00755, AID_ROOT, AID_SHELL, 0, "odm/bin/*" }, { 00755, AID_ROOT, AID_SHELL, 0, "product/bin/*" }, + { 00750, AID_ROOT, AID_SHELL, 0, "sbin/*" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/*" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/xbin/*" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/apex/*/bin/*" }, diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 7d383f522..6d518dcb3 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -77,7 +77,7 @@ endif # # create some directories (some are mount points) and symlinks LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \ - dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \ + sbin dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \ linkerconfig postinstall $(BOARD_ROOT_EXTRA_FOLDERS)); \ ln -sf /system/bin $(TARGET_ROOT_OUT)/bin; \ ln -sf /system/etc $(TARGET_ROOT_OUT)/etc; \ diff --git a/rootdir/init.environ.rc.in b/rootdir/init.environ.rc.in index fdaaf1abe..72ba861a8 100644 --- a/rootdir/init.environ.rc.in +++ b/rootdir/init.environ.rc.in @@ -10,6 +10,7 @@ on early-init export ANDROID_TZDATA_ROOT /apex/com.android.tzdata export EXTERNAL_STORAGE /sdcard export ASEC_MOUNTPOINT /mnt/asec + export PATH /sbin:/product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin export BOOTCLASSPATH %BOOTCLASSPATH% export DEX2OATBOOTCLASSPATH %DEX2OATBOOTCLASSPATH% export SYSTEMSERVERCLASSPATH %SYSTEMSERVERCLASSPATH% -- 2.25.1