summaryrefslogtreecommitdiffstats
path: root/rootdir/Android.mk
diff options
context:
space:
mode:
authorBowgo Tsai <bowgotsai@google.com>2017-11-15 18:06:48 +0800
committerBowgo Tsai <bowgotsai@google.com>2018-03-13 08:41:50 +0800
commitca8b2c699584cc498ff5f761fca9789c54ea1219 (patch)
tree129afea6781f6d9b0e82c35c871f98027eb5a5ec /rootdir/Android.mk
parent23d45d1cc73ffb7a74bad4552c826fd497c83a97 (diff)
downloadsystem_core-ca8b2c699584cc498ff5f761fca9789c54ea1219.tar.gz
system_core-ca8b2c699584cc498ff5f761fca9789c54ea1219.tar.bz2
system_core-ca8b2c699584cc498ff5f761fca9789c54ea1219.zip
Adding /odm support
Treble system-as-root GSI needs to work on devices with and without /odm partition. This change creates the following symlinks for devices without /odm partition: /odm/app ->/vendor/odm/app /odm/bin ->/vendor/odm/bin /odm/etc ->/vendor/odm/etc /odm/firmware ->/vendor/odm/firmware /odm/framework ->/vendor/odm/framework /odm/lib -> /vendor/odm/lib /odm/lib64 -> /vendor/odm/lib64 /odm/overlay -> /vendor/odm/overlay /odm/priv-app -> /vendor/odm/priv-app For devices with odm partition, /odm will be used as the mount point and those symlinks will be hidden after mount. Bug: 70678783 Test: boot a A/B device without /odm partition, checks those symlinks exist Test: boot a A/B device with /odm partition, checks those symlinks don't exist Change-Id: I4d960b52e2754f461188f3ab562c751f502046ea (cherry picked from commit 00749affc4a9185953d7444c88f614c5b7694504)
Diffstat (limited to 'rootdir/Android.mk')
-rw-r--r--rootdir/Android.mk17
1 files changed, 17 insertions, 0 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index feb100ef6..f488ed5a4 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -93,6 +93,23 @@ ifdef BOARD_USES_PRODUCTIMAGE
else
LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product $(TARGET_ROOT_OUT)/product
endif
+
+# For /odm partition.
+LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/odm
+# For Treble Generic System Image (GSI), system-as-root GSI needs to work on
+# both devices with and without /odm partition. Those symlinks are for devices
+# without /odm partition. For devices with /odm partition, mount odm.img under
+# /odm will hide those symlinks.
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/app $(TARGET_ROOT_OUT)/odm/app
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/bin $(TARGET_ROOT_OUT)/odm/bin
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/etc $(TARGET_ROOT_OUT)/odm/etc
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/firmware $(TARGET_ROOT_OUT)/odm/firmware
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/framework $(TARGET_ROOT_OUT)/odm/framework
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/lib $(TARGET_ROOT_OUT)/odm/lib
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/lib64 $(TARGET_ROOT_OUT)/odm/lib64
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/overlay $(TARGET_ROOT_OUT)/odm/overlay
+LOCAL_POST_INSTALL_CMD += ; ln -sf /vendor/odm/priv-app $(TARGET_ROOT_OUT)/odm/priv-app
+
ifdef BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE
LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/cache
else