| # Chrome OS arc-setup. | |
| ## `/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, only | |
| `ANDROID_DEBUGGABLE` is defined in this file, which is rewritten by | |
| `board_specific_setup.py` at image build time. | |
| 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: | |
| * Anything that detects the build type at compile-time will be unaffected, in | |
| particular SELinux rules that are relaxed, or the conditional compilation of | |
| some system tools. | |
| * `adb root` will still be unavailable. | |
| * `su` will be missing. | |
| * `strace` won't work. | |
| * The build type will still be -user. | |
| Be careful when adding, removing, or renaming the entries. |