summaryrefslogtreecommitdiff
path: root/init/builtins.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* init: fix DumpState() loggingTom Cherry2017-03-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix two formatting issues in Action::DumpState(), Old: on ro.crypto.state=encrypted ro.crypto.type=file zygote-start New: on ro.crypto.state=encrypted && ro.crypto.type=file && zygote-start Old: on boot %sifup lo %shostname localhost %sdomainname localdomain %swrite /proc/sys/vm/overcommit_memory 1 New: on boot ifup lo hostname localhost domainname localdomain write /proc/sys/vm/overcommit_memory 1 Also, now that we're importing many small rc files, it no longer makes sense to call Parser::DumpState() after each import. Therefore, move the conditional to call Parser::DumpState() to after /init.rc and its imports are parsed and after the late imports are parsed. Test: Boot bullhead with DumpState() enabled and check the output Change-Id: I0b81305b8938aa1a7133d7dd2055f34f47609cf9
* add ro.boottime.init.mount_all.* for measuring mount timeKeun-young Park2017-03-031-0/+7
| | | | | | | | | | - three properties: .early, .default, .late - for tracking critical early boot times bug: 35949600 Test: manual, getprop after boot Change-Id: I851891518428e6e21cb43a2a6f982ab7db281d4c
* Treblize init.rc locationJaekyun Seok2017-02-251-9/+12
| | | | | | | | | | | | | | | Treblization requires to locate partner-specific modules in its own partition. So their own init.rc file could be located in /odm or /vendor. This CL is to support those locations for the init.rc. Additionally thic CL modified import parser to support importing a relative path. Test: building succeeded and tested on sailfish with enabling early mount. Bug: 35269867 Change-Id: I1bce924a32c8a2b53fb5d981d35d758cf9ddd9a6
* init: clean up exec commandWei Wang2017-02-031-2/+6
| | | | | | | | | Add wait time log for exec service execution time Fix memory leak when exec service failed to start Test: on marlin Bug: 34518530 Change-Id: I01736bd9b1429414f3dc91dd5d02d88a681f0985
* init: add wait_for_prop builtin commandWei Wang2017-02-011-0/+24
| | | | | | | | | | | There are many use cases from vendors to exec service in background and then use a shell scriprt to wait for the command done. This CL is to add a wait_for_prop command to suppor those use cases. Bug: 34746108 Test: on marlin Change-Id: Ia81290b0928f9d375710d2daa546714f0cd65b72
* init: Make 'write_file' return bool to match 'read_file'.Jorge Lucangeli Obes2016-12-281-3/+3
| | | | | | | | | The mismatch of return values makes reasoning about the correctness of CLs like https://android-review.googlesource.com/317923 quite hard. Bug: 33941660 Test: Init builds, HiKey boots. Change-Id: Ia4b8a9af420682997b154a594892740181980921
* Ask the user before wiping if crypto policy fails.Paul Crowley2016-12-211-4/+10
| | | | | | | | | If crypto policy fails, instruct recovery to prompt the user before wiping all data. Test: adb shell rmdir /data/ota && adb shell mkdir -p /data/ota/forcefail && adb reboot Bug: 28693324 Change-Id: I4d09b35a20c513a76c9ba56fe826114449a9ad68
* Merge "Improve init bootcharting."Elliott Hughes2016-12-161-1/+1
|\
| * Improve init bootcharting.Elliott Hughes2016-12-081-1/+1
| | | | | | | | | | | | | | | | | | Most notably, there's no longer any need to guess an end time. Bug: http://b/23478578 Bug: http://b/33450491 Test: rebooted with bootcharting on/off Change-Id: Icb7d6859581da5526d77dfc5aa4d57c9bfbfd7e2
* | init: Specify the data wipe reason.Tao Bao2016-12-141-1/+1
| | | | | | | | | | | | | | We should say that if the data wipe is triggered by fs_mgr_mount_all. Test: mmma system/core/init Change-Id: I3998d9493611ecc286de0913a95cf22fc41100b5
* | Merge "Replace the "coldboot" timeout with a property."Elliott Hughes2016-12-051-6/+4
|\| | | | | | | | | | | am: e218fc673f Change-Id: Ibaf1f7ad3a90e5216db04506288df51258e19f4b
| * Replace the "coldboot" timeout with a property.Elliott Hughes2016-12-031-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also rename init's existing boot-time related properties so they're all "ro.*" properties. Example result: # Three properties showing when init started... [ro.boottime.init]: [5294587604] # ...how long it waited for ueventd... [ro.boottime.init.cold_boot_wait]: [646956470] # ...and how long SELinux initialization took... [ro.boottime.init.selinux]: [45742921] # Plus one property for each service, showing when it first started. [ro.boottime.InputEventFind]: [10278767840] [ro.boottime.adbd]: [8359267180] [ro.boottime.atfwd]: [10338554773] [ro.boottime.audioserver]: [10298157478] [ro.boottime.bootanim]: [9323670089] [ro.boottime.cameraserver]: [10299402321] [ro.boottime.cnd]: [10335931856] [ro.boottime.debuggerd]: [7001352774] [ro.boottime.debuggerd64]: [7002261785] [ro.boottime.drm]: [10301082113] [ro.boottime.fingerprintd]: [10331443314] [ro.boottime.flash-nanohub-fw]: [6995265534] [ro.boottime.gatekeeperd]: [10340355242] [ro.boottime.healthd]: [7856893380] [ro.boottime.hwservicemanager]: [7856051088] [ro.boottime.imscmservice]: [10290530758] [ro.boottime.imsdatadaemon]: [10358136702] [ro.boottime.imsqmidaemon]: [10289084872] [ro.boottime.installd]: [10303296020] [ro.boottime.irsc_util]: [10279807632] [ro.boottime.keystore]: [10305034093] [ro.boottime.lmkd]: [7863506714] [ro.boottime.loc_launcher]: [10324525241] [ro.boottime.logd]: [6526221633] [ro.boottime.logd-reinit]: [7850662702] [ro.boottime.mcfg-sh]: [10337268315] [ro.boottime.media]: [10312152687] [ro.boottime.mediacodec]: [10306852530] [ro.boottime.mediadrm]: [10308707999] [ro.boottime.mediaextractor]: [10310681177] [ro.boottime.msm_irqbalance]: [7862451974] [ro.boottime.netd]: [10313523104] [ro.boottime.netmgrd]: [10285009351] [ro.boottime.oem_qmi_server]: [10293329092] [ro.boottime.per_mgr]: [7857915776] [ro.boottime.per_proxy]: [8335121605] [ro.boottime.perfd]: [10283443101] [ro.boottime.qcamerasvr]: [10329644772] [ro.boottime.qmuxd]: [10282346643] [ro.boottime.qseecomd]: [6855708593] [ro.boottime.qti]: [10286196851] [ro.boottime.ril-daemon]: [10314933677] [ro.boottime.rmt_storage]: [7859105047] [ro.boottime.servicemanager]: [7864555881] [ro.boottime.ss_ramdump]: [8337634938] [ro.boottime.ssr_setup]: [8336268324] [ro.boottime.surfaceflinger]: [7866921402] [ro.boottime.thermal-engine]: [10281249924] [ro.boottime.time_daemon]: [10322006542] [ro.boottime.ueventd]: [5618663938] [ro.boottime.vold]: [7003493920] [ro.boottime.wificond]: [10316641073] [ro.boottime.wpa_supplicant]: [18959816881] [ro.boottime.zygote]: [10295295029] [ro.boottime.zygote_secondary]: [10296637269] Bug: http://b/31800756 Test: boots Change-Id: I094cce0c1bab9406d950ca94212689dc2e15dba5
* | Merge "Add flags to restorecon_recursive to traverse filesystems"Paul Lawrence2016-11-171-14/+39
|\| | | | | | | | | | | am: 5fbd1cfd34 Change-Id: I539d7e9d441c7bb3f5602b892408a85436b857e8
| * Merge "Add flags to restorecon_recursive to traverse filesystems"Treehugger Robot2016-11-171-14/+39
| |\
| | * Add flags to restorecon_recursive to traverse filesystemsPaul Lawrence2016-11-161-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use to solve the problem of tracefs conditionally being mounted under debugfs and needing restorecon'd without boot performance penalty. Also move skip-ce to a flag for consistency. Test: Check that trace_mount has correct attributes after boot Bug: 32849675 Change-Id: Ib6731f502b6afc393ea5ada96fa95b339f14da49
| * | Merge changes from topic 'slow_log'Wei Wang2016-11-171-3/+3
| |\ \ | | |/ | |/| | | | | | | | | | * changes: init: fix undefined behavior in ExecuteCommand Revert "Revert "init: warn slow action""
| * | Only restorecon CE storage after unlocked.Jeff Sharkey2016-11-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On FBE devices, the filenames inside credential-encrypted directories are mangled until the key is installed. This means the initial restorecon at boot needs to skip these directories until the keys are installed. This CL changes the implementation of the "restorecon_recursive" built-in command to use the new SKIPCE flag to avoid labeling files in CE directories. vold will request a restorecon when the keys are actually installed. (cherrypicked from commit 1635afe83d1ebd6b5f1fac1e9c6c6b5cd1c93204) Bug: 30126557 Test: Cherry-picked from master Change-Id: I320584574a4d712c493b5bbd8a79b56c0c04aa58
* | | init: fix undefined behavior in ExecuteCommandWei Wang2016-11-171-3/+3
|\ \ \ | | |/ | |/| | | | | | | | | | am: d67a4abc64 Change-Id: I1ecbb1d083af62dd5e69b4cff19ec411016054f3
| * | init: fix undefined behavior in ExecuteCommandWei Wang2016-11-161-3/+3
| |/ | | | | | | | | | | | | | | | | ExecuteCommand may change command_ vector which leads undefined behavior This bug is found when adding logs in ExecuteCommand printing our Command class fields Bug: 32838381 Test: on emulator Change-Id: I96468bd2192ca80013871a3a6ac4132149363fff
* | Merge "Switch fastboot/init/libprocessgroup to std::this_thread::sleep_for."Elliott Hughes2016-11-151-7/+6
|\| | | | | | | | | | | am: f3e731b3c5 Change-Id: I2028bb8835c5e55e1bf8c88c3395253ded9d66d3
| * Switch fastboot/init/libprocessgroup to std::this_thread::sleep_for.Elliott Hughes2016-11-141-7/+6
| | | | | | | | | | | | Bug: http://b/32878766 Test: boots Change-Id: Ie0ddfb7e60f2da5f6eefbb10c83a92e88c137ae3
* | Merge "init start time tracking."Elliott Hughes2016-11-141-5/+5
|\| | | | | | | | | | | am: 601bf9e7c9 Change-Id: Idd707d4694a4339e26884fe72b8f0c08c4100daf
| * Merge "init start time tracking."Elliott Hughes2016-11-141-5/+5
| |\
| | * init start time tracking.Elliott Hughes2016-11-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, init sets a property "init.start" to show the CLOCK_BOOTTIME time at which init itself started, and for each service an "init.svc.<name>.start" property to show the CLOCK_BOOTTIME time at which that service was most recently started. These times can be used by tools like bootstat to track boot time. As part of this change, move init over to std::chrono. Also, rather than make the command-line argument handling more complex, I've switched to using an environment variable for communication between first- and second-stage init, and added another environment variable to pass the start time of the first stage through to the second stage. Bug: http://b/32780225 Test: manual Change-Id: Ia65a623e1866ea688b9a5433d6507926ce301dfe
* | | Merge "Implement Reboot bootloader via bootloader_message"Vineela Tummalapalli2016-11-101-0/+9
|\| | | | | | | | | | | | | | | | | am: e759c83bde Change-Id: Id0a0e9e9c10f3df206138f297d2acafa87dc4ebf
| * | Implement Reboot bootloader via bootloader_messageVineela Tummalapalli2016-11-081-0/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | - Write reboot bootloader message to misc - Clarify naming for reboot to recovery BUG: https://issuetracker.google.com/issues/32474515 Change-Id: I4e42509bfcf572e37c8fc070d6571afe406a48b6 Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Reviewed-on: https://android.intel.com/548494
| * init: use libbootloader_message.Yabin Cui2016-10-181-1/+1
| | | | | | | | | | | | Bug: 29582118 Change-Id: I6285b29774a11d6dda8496c7c73e4c1d17a672bd (cherry picked from commit 0b1252cca0ecd5603e0fc0d5dadde91410b6b557)
* | resolve merge conflicts of a4398c1 to stage-aosp-master am: 195669febcElliott Hughes2016-10-141-17/+22
|\| | | | | | | | | | | am: b2ab1c43cb Change-Id: I412943235ad6cd908aca04c56aa19a3d2bbb5413
| * Move off std::sto* function which abort on failure.Elliott Hughes2016-10-131-17/+22
| | | | | | | | | | | | Bug: http://b/31403370 Test: builds, boots, libbase tests pass Change-Id: I89cd7ca3d8f1c8a1bad0ddf3043439449d19a293
* | Merge "Update the header path for ext4_utils." am: 5bc3ce85cf am: 148b85b050Tao Bao2016-10-101-2/+2
|\| | | | | | | | | | | am: 2815ac5584 Change-Id: I966296de6eb4ff7518b9cfcd5853fe919765b826
| * Update the header path for ext4_utils.Tao Bao2016-10-091-2/+2
| | | | | | | | | | | | Test: `mmma system/core` Change-Id: I6291d10d6c8d4972aeca55596baa83f555496193
| * Split fstab mount into 2 phasesWei Wang2016-09-061-20/+69
| | | | | | | | | | | | | | | | | | | | This will make it possible to start some key services before mounting data partition (cherry picked from commit abfbec342fdd2fc9d139a88a2d950953918e1b4e) Bug: 30118894 Change-Id: Ia9f8cc035de6cc0df9a61605864915efa0266d7f
* | Split fstab mount into 2 phasesWei Wang2016-09-061-20/+69
| | | | | | | | | | | | | | | | | | This will make it possible to start some key services before mounting data partition Bug: 30118894 Change-Id: Ia9f8cc035de6cc0df9a61605864915efa0266d7f (cherry picked from commit abfbec342fdd2fc9d139a88a2d950953918e1b4e)
* | Move init's kernel logging into libbase. am: 7bc87a5a78 am: e2a7eb17b5Elliott Hughes2016-08-051-13/+25
|\| | | | | | | | | | | am: b7252fc35a Change-Id: Ibfba937cede98ceb8f4b76d3a636e5b8035689c0
| * Move init's kernel logging into libbase.Elliott Hughes2016-08-051-13/+25
| |\ | | | | | | | | | | | | | | | am: 7bc87a5a78 Change-Id: Ie5e359e8bd7dee4c0549072c7e955eeefe57d785
| | * Move init's kernel logging into libbase.Elliott Hughes2016-08-041-13/+25
| | | | | | | | | | | | | | | | | | | | | This will let other stuff (such as adbd and recovery) use it too. Bug: http://b/28467098 Change-Id: Idab51f438ed3edd6fe65a56c4b396eaff5f3833e
* | | Merge \"Only restorecon CE storage after unlocked.\" into nyc-mr1-devJeff Sharkey2016-07-181-1/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | am: 96f387e8c0 Change-Id: I3a1c31334d32e7bdff8e05558356d2833fcfb831
| * | | Only restorecon CE storage after unlocked.Jeff Sharkey2016-07-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On FBE devices, the filenames inside credential-encrypted directories are mangled until the key is installed. This means the initial restorecon at boot needs to skip these directories until the keys are installed. This CL changes the implementation of the "restorecon_recursive" built-in command to use the new SKIPCE flag to avoid labeling files in CE directories. vold will request a restorecon when the keys are actually installed. Bug: 30126557 Change-Id: I320584574a4d712c493b5bbd8a79b56c0c04aa58
* | | | Merge \"init: use libbootloader_message.\" into nyc-mr1-devYabin Cui2016-06-301-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | am: ca4cf4e4af Change-Id: I8234e796a8b35115ef1ecf33c987882f8fe286cd
| * | | Merge "init: use libbootloader_message." into nyc-mr1-devYabin Cui2016-06-301-1/+1
| |\ \ \
| | * | | init: use libbootloader_message.Yabin Cui2016-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 29582118 Change-Id: I6285b29774a11d6dda8496c7c73e4c1d17a672bd
* | | | | Add umount call to init to unmount a filesystemAlex Light2016-06-291-0/+6
|\| | | | | |_|/ / |/| | | | | | | | | | | | | | | am: 68ab20febd Change-Id: I1166f88814193092f10dad8a2fa841028613e03e
| * | | Add umount call to init to unmount a filesystemAlex Light2016-06-291-0/+6
| |/ / | | | | | | | | | | | | Bug: 29278988 Change-Id: Ia14ab1bcad9513688df97f7b4d9162a9ab282480
* | | resolve merge conflicts of 54c1219 to stage-aosp-masterElliott Hughes2016-06-271-19/+19
|\ \ \ | | |/ | |/| | | | Change-Id: I4b3b2a8690cfe147929fd096de380a9d4b79f1ec
| * | Move init to libbase logging.Elliott Hughes2016-06-271-19/+19
| | | | | | | | | | | | Change-Id: Ibfbefeff587a69e948978a037c555fd12a5ade6a
* | | Merge \"Remove MTD cruft from init.\"Elliott Hughes2016-06-251-16/+1
|\| | | | | | | | | | | | | | | | | am: 90db709a2f Change-Id: I027708dd324000cbfad1a2a6e970f742db97bae5
| * | Remove MTD cruft from init.Elliott Hughes2016-06-241-16/+1
| | | | | | | | | | | | | | | Bug: http://b/29250988 Change-Id: I38ab263192944e4ff291fd91b25db163a8848d75
* | | resolve merge conflicts of 66277db to stage-aosp-masterHung-ying Tyan2016-06-241-10/+12
|\| | | | | | | | | | | Change-Id: I58b1f7fec779c707ac4048ae5401087ec4b7c8b0
| * | Add -f to insmodHung-ying Tyan2016-06-241-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the flag is on, insmod will bypass vermagic and symbol version checking in the kernel. This is to make it possible to update kernel without recompiling kernel modules. BUG=28803994 Change-Id: Ib4be6999ef52baefd4210ee0d242360e43318907
* | | Merge "Wipe device on policy error" into nyc-devPaul Crowley2016-05-101-13/+20
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | am: 8a59fa8524 * commit '8a59fa85243a5f748108279f6d30b01292518b0a': Wipe device on policy error Change-Id: I35205b2ddf8b3e8d049525e3717d27836d6c59a2