Loading init/init.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,9 @@ static void LoadBootScripts(ActionManager& action_manager, ServiceList& service_ if (!parser.ParseConfig("/product/etc/init")) { late_import_paths.emplace_back("/product/etc/init"); } if (!parser.ParseConfig("/product-services/etc/init")) { late_import_paths.emplace_back("/product-services/etc/init"); } if (!parser.ParseConfig("/odm/etc/init")) { late_import_paths.emplace_back("/odm/etc/init"); } Loading init/property_service.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -691,6 +691,7 @@ void property_load_boot_defaults() { } } load_properties_from_file("/product/build.prop", NULL); load_properties_from_file("/product-services/build.prop", NULL); load_properties_from_file("/odm/default.prop", NULL); load_properties_from_file("/vendor/default.prop", NULL); Loading libcutils/fs_config.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -149,6 +149,7 @@ static const struct fs_path_config android_files[] = { { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_file + 1 }, { 00600, AID_ROOT, AID_ROOT, 0, "product/build.prop" }, { 00600, AID_ROOT, AID_ROOT, 0, "product-services/build.prop" }, { 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" }, Loading rootdir/Android.mk +6 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,11 @@ ifdef BOARD_USES_PRODUCTIMAGE else LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product $(TARGET_ROOT_OUT)/product endif ifdef BOARD_USES_PRODUCT_SERVICES_IMAGE LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/product-services else LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product-services $(TARGET_ROOT_OUT)/product-services endif # For /odm partition. LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/odm Loading Loading @@ -202,6 +207,7 @@ $(2): $(1) $$(hide) sed -i -e 's?%SANITIZER_RUNTIME_LIBRARIES%?$$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES)?g' $$@ $$(hide) sed -i -e 's?%VNDK_VER%?$$(PRIVATE_VNDK_VERSION)?g' $$@ $$(hide) sed -i -e 's?%PRODUCT%?$$(TARGET_COPY_OUT_PRODUCT)?g' $$@ $$(hide) sed -i -e 's?%PRODUCTSERVICES%?$$(TARGET_COPY_OUT_PRODUCTSERVICES)?g' $$@ llndk_libraries_list := vndksp_libraries_list := Loading rootdir/etc/ld.config.txt +14 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ dir.system = /system/bin/ dir.system = /system/xbin/ dir.system = /%PRODUCT%/bin/ dir.system = /%PRODUCTSERVICES%/bin/ dir.vendor = /odm/bin/ dir.vendor = /vendor/bin/ Loading Loading @@ -40,6 +41,7 @@ namespace.default.isolated = true namespace.default.search.paths = /system/${LIB} namespace.default.search.paths += /%PRODUCT%/${LIB} namespace.default.search.paths += /%PRODUCTSERVICES%/${LIB} # We can't have entire /system/${LIB} as permitted paths because doing so # makes it possible to load libs in /system/${LIB}/vndk* directories by Loading @@ -52,6 +54,7 @@ namespace.default.permitted.paths = /system/${LIB}/drm namespace.default.permitted.paths += /system/${LIB}/extractors namespace.default.permitted.paths += /system/${LIB}/hw namespace.default.permitted.paths += /%PRODUCT%/${LIB} namespace.default.permitted.paths += /%PRODUCTSERVICES%/${LIB} # These are where odex files are located. libart has to be able to dlopen the files namespace.default.permitted.paths += /system/framework namespace.default.permitted.paths += /system/app Loading @@ -66,6 +69,9 @@ namespace.default.permitted.paths += /oem/app namespace.default.permitted.paths += /%PRODUCT%/framework namespace.default.permitted.paths += /%PRODUCT%/app namespace.default.permitted.paths += /%PRODUCT%/priv-app namespace.default.permitted.paths += /%PRODUCTSERVICES%/framework namespace.default.permitted.paths += /%PRODUCTSERVICES%/app namespace.default.permitted.paths += /%PRODUCTSERVICES%/priv-app namespace.default.permitted.paths += /data namespace.default.permitted.paths += /mnt/expand Loading @@ -73,6 +79,8 @@ namespace.default.asan.search.paths = /data/asan/system/${LIB} namespace.default.asan.search.paths += /system/${LIB} namespace.default.asan.search.paths += /data/asan/product/${LIB} namespace.default.asan.search.paths += /product/${LIB} namespace.default.asan.search.paths += /data/asan/product-services/${LIB} namespace.default.asan.search.paths += /product-services/${LIB} namespace.default.asan.permitted.paths = /data namespace.default.asan.permitted.paths += /system/${LIB}/drm Loading @@ -92,6 +100,10 @@ namespace.default.asan.permitted.paths += /%PRODUCT%/${LIB} namespace.default.asan.permitted.paths += /%PRODUCT%/framework namespace.default.asan.permitted.paths += /%PRODUCT%/app namespace.default.asan.permitted.paths += /%PRODUCT%/priv-app namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/${LIB} namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/framework namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/app namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/priv-app namespace.default.asan.permitted.paths += /mnt/expand ############################################################################### Loading Loading @@ -328,6 +340,7 @@ namespace.system.isolated = false namespace.system.search.paths = /system/${LIB} namespace.system.search.paths += /%PRODUCT%/${LIB} namespace.system.search.paths += /%PRODUCTSERVICES%/${LIB} namespace.system.asan.search.paths = /data/asan/system/${LIB} namespace.system.asan.search.paths += /system/${LIB} Loading @@ -346,3 +359,4 @@ namespace.system.asan.search.paths += /product/${LIB} namespace.default.isolated = false namespace.default.search.paths = /system/${LIB} namespace.default.search.paths += /%PRODUCT%/${LIB} namespace.default.search.paths += /%PRODUCTSERVICES%/${LIB} Loading
init/init.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,9 @@ static void LoadBootScripts(ActionManager& action_manager, ServiceList& service_ if (!parser.ParseConfig("/product/etc/init")) { late_import_paths.emplace_back("/product/etc/init"); } if (!parser.ParseConfig("/product-services/etc/init")) { late_import_paths.emplace_back("/product-services/etc/init"); } if (!parser.ParseConfig("/odm/etc/init")) { late_import_paths.emplace_back("/odm/etc/init"); } Loading
init/property_service.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -691,6 +691,7 @@ void property_load_boot_defaults() { } } load_properties_from_file("/product/build.prop", NULL); load_properties_from_file("/product-services/build.prop", NULL); load_properties_from_file("/odm/default.prop", NULL); load_properties_from_file("/vendor/default.prop", NULL); Loading
libcutils/fs_config.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -149,6 +149,7 @@ static const struct fs_path_config android_files[] = { { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_file + 1 }, { 00600, AID_ROOT, AID_ROOT, 0, "product/build.prop" }, { 00600, AID_ROOT, AID_ROOT, 0, "product-services/build.prop" }, { 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" }, Loading
rootdir/Android.mk +6 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,11 @@ ifdef BOARD_USES_PRODUCTIMAGE else LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product $(TARGET_ROOT_OUT)/product endif ifdef BOARD_USES_PRODUCT_SERVICES_IMAGE LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/product-services else LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product-services $(TARGET_ROOT_OUT)/product-services endif # For /odm partition. LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/odm Loading Loading @@ -202,6 +207,7 @@ $(2): $(1) $$(hide) sed -i -e 's?%SANITIZER_RUNTIME_LIBRARIES%?$$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES)?g' $$@ $$(hide) sed -i -e 's?%VNDK_VER%?$$(PRIVATE_VNDK_VERSION)?g' $$@ $$(hide) sed -i -e 's?%PRODUCT%?$$(TARGET_COPY_OUT_PRODUCT)?g' $$@ $$(hide) sed -i -e 's?%PRODUCTSERVICES%?$$(TARGET_COPY_OUT_PRODUCTSERVICES)?g' $$@ llndk_libraries_list := vndksp_libraries_list := Loading
rootdir/etc/ld.config.txt +14 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ dir.system = /system/bin/ dir.system = /system/xbin/ dir.system = /%PRODUCT%/bin/ dir.system = /%PRODUCTSERVICES%/bin/ dir.vendor = /odm/bin/ dir.vendor = /vendor/bin/ Loading Loading @@ -40,6 +41,7 @@ namespace.default.isolated = true namespace.default.search.paths = /system/${LIB} namespace.default.search.paths += /%PRODUCT%/${LIB} namespace.default.search.paths += /%PRODUCTSERVICES%/${LIB} # We can't have entire /system/${LIB} as permitted paths because doing so # makes it possible to load libs in /system/${LIB}/vndk* directories by Loading @@ -52,6 +54,7 @@ namespace.default.permitted.paths = /system/${LIB}/drm namespace.default.permitted.paths += /system/${LIB}/extractors namespace.default.permitted.paths += /system/${LIB}/hw namespace.default.permitted.paths += /%PRODUCT%/${LIB} namespace.default.permitted.paths += /%PRODUCTSERVICES%/${LIB} # These are where odex files are located. libart has to be able to dlopen the files namespace.default.permitted.paths += /system/framework namespace.default.permitted.paths += /system/app Loading @@ -66,6 +69,9 @@ namespace.default.permitted.paths += /oem/app namespace.default.permitted.paths += /%PRODUCT%/framework namespace.default.permitted.paths += /%PRODUCT%/app namespace.default.permitted.paths += /%PRODUCT%/priv-app namespace.default.permitted.paths += /%PRODUCTSERVICES%/framework namespace.default.permitted.paths += /%PRODUCTSERVICES%/app namespace.default.permitted.paths += /%PRODUCTSERVICES%/priv-app namespace.default.permitted.paths += /data namespace.default.permitted.paths += /mnt/expand Loading @@ -73,6 +79,8 @@ namespace.default.asan.search.paths = /data/asan/system/${LIB} namespace.default.asan.search.paths += /system/${LIB} namespace.default.asan.search.paths += /data/asan/product/${LIB} namespace.default.asan.search.paths += /product/${LIB} namespace.default.asan.search.paths += /data/asan/product-services/${LIB} namespace.default.asan.search.paths += /product-services/${LIB} namespace.default.asan.permitted.paths = /data namespace.default.asan.permitted.paths += /system/${LIB}/drm Loading @@ -92,6 +100,10 @@ namespace.default.asan.permitted.paths += /%PRODUCT%/${LIB} namespace.default.asan.permitted.paths += /%PRODUCT%/framework namespace.default.asan.permitted.paths += /%PRODUCT%/app namespace.default.asan.permitted.paths += /%PRODUCT%/priv-app namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/${LIB} namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/framework namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/app namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/priv-app namespace.default.asan.permitted.paths += /mnt/expand ############################################################################### Loading Loading @@ -328,6 +340,7 @@ namespace.system.isolated = false namespace.system.search.paths = /system/${LIB} namespace.system.search.paths += /%PRODUCT%/${LIB} namespace.system.search.paths += /%PRODUCTSERVICES%/${LIB} namespace.system.asan.search.paths = /data/asan/system/${LIB} namespace.system.asan.search.paths += /system/${LIB} Loading @@ -346,3 +359,4 @@ namespace.system.asan.search.paths += /product/${LIB} namespace.default.isolated = false namespace.default.search.paths = /system/${LIB} namespace.default.search.paths += /%PRODUCT%/${LIB} namespace.default.search.paths += /%PRODUCTSERVICES%/${LIB}