当前位置:   article > 正文

2023-12-01 AndroidR 系统在root目录下新建文件夹和创建链接,编译的时候需要修改sepolicy权限_r:system_data_

r:system_data_

一、想在android 系统的根目录下新建一个tmp 文件夹,建立一个链接usr链接到data目录。

二、在system/core/rootdir/Android.mk里面的LOCAL_POST_INSTALL_CMD 增加

  1. dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk tmp
  2. ln -sf /data $(TARGET_ROOT_OUT)/usr; \

三、编译的时候会遇到set_selinux_xattr: No such file or directory searching for label "/usr"问题,需要修改selinux的权限问题。在最下面的修改内容里面有。

四、最后实现的效果图。

五、修改的内容

  1. diff --git a/system/core/rootdir/Android.mk b/system/core/rootdir/Android.mk
  2. old mode 100644
  3. new mode 100755
  4. index a9d0ed08a9..36214f2e53
  5. --- a/system/core/rootdir/Android.mk
  6. +++ b/system/core/rootdir/Android.mk
  7. @@ -77,12 +77,13 @@ endif
  8. #
  9. # create some directories (some are mount points) and symlinks
  10. LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \
  11. - dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \
  12. + dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk tmp \
  13. linkerconfig $(BOARD_ROOT_EXTRA_FOLDERS)); \
  14. ln -sf /system/bin $(TARGET_ROOT_OUT)/bin; \
  15. ln -sf /system/etc $(TARGET_ROOT_OUT)/etc; \
  16. ln -sf /data/user_de/0/com.android.shell/files/bugreports $(TARGET_ROOT_OUT)/bugreports; \
  17. ln -sfn /sys/kernel/debug $(TARGET_ROOT_OUT)/d; \
  18. + ln -sf /data $(TARGET_ROOT_OUT)/usr; \
  19. ln -sf /storage/self/primary $(TARGET_ROOT_OUT)/sdcard
  20. ifdef BOARD_USES_VENDORIMAGE
  21. LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/vendor
  22. diff --git a/system/sepolicy/prebuilts/api/30.0/private/file_contexts b/system/sepolicy/prebuilts/api/30.0/private/file_contexts
  23. old mode 100644
  24. new mode 100755
  25. index 9620b75127..76f8ce2a44
  26. --- a/system/sepolicy/prebuilts/api/30.0/private/file_contexts
  27. +++ b/system/sepolicy/prebuilts/api/30.0/private/file_contexts
  28. @@ -36,6 +36,7 @@
  29. # Symlinks
  30. /bin u:object_r:rootfs:s0
  31. /bugreports u:object_r:rootfs:s0
  32. +/usr u:object_r:system_data_root_file:s0
  33. /charger u:object_r:rootfs:s0
  34. /d u:object_r:rootfs:s0
  35. /etc u:object_r:rootfs:s0
  36. @@ -471,6 +472,8 @@
  37. #
  38. /data u:object_r:system_data_root_file:s0
  39. /data/(.*)? u:object_r:system_data_file:s0
  40. +/tmp u:object_r:system_data_root_file:s0
  41. +/tmp/(.*)? u:object_r:system_data_file:s0
  42. /data/system/packages\.list u:object_r:packages_list_file:s0
  43. /data/unencrypted(/.*)? u:object_r:unencrypted_data_file:s0
  44. /data/backup(/.*)? u:object_r:backup_data_file:s0
  45. diff --git a/system/sepolicy/private/file_contexts b/system/sepolicy/private/file_contexts
  46. old mode 100644
  47. new mode 100755
  48. index 9620b75127..76f8ce2a44
  49. --- a/system/sepolicy/private/file_contexts
  50. +++ b/system/sepolicy/private/file_contexts
  51. @@ -36,6 +36,7 @@
  52. # Symlinks
  53. /bin u:object_r:rootfs:s0
  54. /bugreports u:object_r:rootfs:s0
  55. +/usr u:object_r:system_data_root_file:s0
  56. /charger u:object_r:rootfs:s0
  57. /d u:object_r:rootfs:s0
  58. /etc u:object_r:rootfs:s0
  59. @@ -471,6 +472,8 @@
  60. #
  61. /data u:object_r:system_data_root_file:s0
  62. /data/(.*)? u:object_r:system_data_file:s0
  63. +/tmp u:object_r:system_data_root_file:s0
  64. +/tmp/(.*)? u:object_r:system_data_file:s0
  65. /data/system/packages\.list u:object_r:packages_list_file:s0
  66. /data/unencrypted(/.*)? u:object_r:unencrypted_data_file:s0
  67. /data/backup(/.*)? u:object_r:backup_data_file:s0

六、参考文章

Android系统在root目录下新建文件夹并创建链接_在root目录创建文件file6的软链接-CSDN博客

基于rk3588s andriod在根目录下创建软连接-CSDN博客

Android在rootdir根目录创建自定义目录和挂载点的方法_android高通平台根目录下创建目录_阿迷创客的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/228146
推荐阅读
相关标签
  

闽ICP备14008679号