tree: 265fe72cf12ccd62842695e80c89e8884598cbfb [path history] [tgz]
  1. init/
  2. rust/
  3. testdata/
  4. tmpfiles.d/
  5. xml/
  6. .project_alias
  7. android_binary_xml_tokenizer_fuzzer.cc
  8. android_sdk_version.h
  9. android_xml_util_find_fingerprint_and_sdk_version_fuzzer.cc
  10. arc_apply_per_board_config_main.cc
  11. arc_prepare_host_generated_dir_main.cc
  12. arc_property_util.cc
  13. arc_property_util.h
  14. arc_property_util_expand_property_contents_fuzzer.cc
  15. arc_property_util_test.cc
  16. arc_remove_data_main.cc
  17. arc_remove_stale_data_main.cc
  18. arc_setup.cc
  19. arc_setup.h
  20. arc_setup_metrics.cc
  21. arc_setup_metrics.h
  22. arc_setup_metrics_test.cc
  23. arc_setup_test.cc
  24. arc_setup_util.cc
  25. arc_setup_util.h
  26. arc_setup_util_find_all_properties_fuzzer.cc
  27. arc_setup_util_test.cc
  28. arcvm_prepare_data_main.cc
  29. art_container.cc
  30. art_container.h
  31. art_container_test.cc
  32. BUILD.gn
  33. config.cc
  34. config.h
  35. config_test.cc
  36. main.cc
  37. OWNERS
  38. README.md
arc/setup/README.md

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.