/usr/sbin/arc-setup
arc-setup
handles setup/teardown of ARC container or upgrading container. For example, mount point creation, directory creation, setting permissions uids and gids, selinux label setting, config file creation.
Often, script language is used for such stuff in general, but ARC uses native executable just for performance and better testability.
/usr/share/arc-setup/config.json
config.json
is the configuration file for arc-setup
. Currently, the following configurations are in the file:
USE_ESDFS
Setting this value to true
will switch the implementation of the sdcard mount from a FUSE to esdfs.
ANDROID_DEBUGGABLE
Setting this value to true
will make Android boot with ro.debuggable
. This should make Android behave mostly like an -userdebug image.
A non-comprehensive list of caveats:
adb root
will still be unavailable.su
will be missing.strace
won't work.WRITABLE_MOUNT
Setting this value to true
will make the Android root, and images for sdcard etc. filesystems read-write. Note that the images themselves need to be in a format that supports being mounted this way (e.g. ext4), which is not true of the default format (squashfs).
config.json
and build/debug scriptsSeveral scripts modify the variables in config.json
:
arc-setup-9999.ebuild
rewrites USE_ESDFS
at package build time depending on the type of the BOARD.board_specific_setup.sh
rewrites ANDROID_DEBUGGABLE
at image build time.setup_writable_android_mount.sh
which is a debug script in Android repository rewrites WRITABLE_MOUNT
.Be careful when adding, removing, or renaming the entries.