History log of /system/core/init/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3ac3c02b258ac9f9fb794506b519c1beed075bd5 01-May-2017 Tom Cherry <tomcherry@google.com> init: add an initializer for keychord_id_

Add unit test to ensure all POD types of Service are initialized.

Bug: 37855222
Test: Ensure bugreport is triggered via keychord properly.
Test: New unit tests
Merged-In: If2cfea15a74ab417a7b909a60c264cb8eb990de7
Change-Id: If2cfea15a74ab417a7b909a60c264cb8eb990de7
(cherry picked from commit 7da548578c25683fe0082283303e16961df312da)
/system/core/init/Android.mk
682f8ba398aaba3f6d1aab493233fcfd7bd0e7c4 17-Apr-2017 Bowgo Tsai <bowgotsai@google.com> init: moving early mount logic into init_first_stage.cpp

Also renames "early mount" to "first stage mount" to prevent confusion
with "mount_all --early", which is run in the init second stage.

Also creates a base class: FirstStageMount and two derived classes:
FirstStageMountVBootV1 and FirstStageMountVBootV2 to replace/refactor
existing functions:

- early_mount() -> DoFirstStageMount() and FirstStageMount::DoFirstStageMount()

- vboot_1_0_early_partitions -> FirstStageMountVBootV1::GetRequiredDevices()
- vboot_2_0_early_partitions -> FirstStageMountVBootV2::GetRequiredDevices()

- vboot_1_0_mount_partitions ->
FirstStageMount::MountPartitions() and
FirstStageMountVBootV1::SetUpDmVerity()

- vboot_2_0_mount_partitions ->
FirstStageMount::MountPartitions() and
FirstStageMountVBootV2::SetUpDmVerity()

Bug: 37413399
Test: first stage mount /vendor with vboot 2.0 (avb) on bullhead
Test: first stage mount /system with without verity on bullhead
Test: first stage mount /vendor with vboot 1.0 on sailfish
Change-Id: I6584bdf7d832c9fbc8740f97c9b8b94e68a90783
Merged-In: I6584bdf7d832c9fbc8740f97c9b8b94e68a90783
(cherry picked from commit d262017fef0761e6cf6d1e449fa088338cdc68e6)
/system/core/init/Android.mk
29ab67b0c142d7ceeccc73d532206ff54b4631bc 15-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Send property_service AVC messages to the kernel audit system"" into oc-dev
a39515ce8d2d1a050a5835314597142f6ba92429 14-Apr-2017 Elliott Hughes <enh@google.com> Revert "Send property_service AVC messages to the kernel audit system"

This reverts commit 8adb4d9d12d077ee87d1ce97742c6a5ba9aaaf9f.

(cherrypick of d8f9356bec6725dfbfb8b02d553c720c91f3f142)

Change-Id: I0db29617f323ef31ca5a270d02b7668092e9c9e1
/system/core/init/Android.mk
92ca58b5bddd07075faa8179302013f9c13e85b7 01-Mar-2017 Bowgo Tsai <bowgotsai@google.com> fs_mgr: support AVB in fs_mgr_update_verity_state()

fs_mgr_update_verity_state() is invoked by 'verity_update_state' in
init.rc. It will then set property "partition.system.verified" and
"partition.vendor.verified" to verify_mode. We should support this for
AVB as well.

Also change the order of static libs in init to fix the build error
after this change:
system/extras/ext4_utils/ext4_crypt.cpp:69: error: undefined reference to 'property_get'

Bug: 35416769
Test: Mount /system and /vendor with vboot 2.0 (AVB), check the following properties exist.
- [partition.system.verified]: [2]
- [partition.vendor.verified]: [2]
Test: Mount /system and /vendor with vboot 1.0, check the following properties exist.
- [partition.system.verified]: [0]
- [partition.vendor.verified]: [0]

Change-Id: I4328d66a8cb93f26e7960e620a0b2292d5f15900
Merged-In: I4328d66a8cb93f26e7960e620a0b2292d5f15900
(cherry picked from commit aaf70e77dc232fde152249bb6f66a227eab35a10)
/system/core/init/Android.mk
0e90dee9e0998f8515df36f95c5197e16a69dd01 29-Mar-2017 Keun-young Park <keunyoung@google.com> poll umount completion from /proc/mounts

- umount operation is asynchronous except for root partition.
Returning from umount does not guarantee completion of
umount. Poll /proc/mounts to confirm completion of umount.
- Treat all devices mounting to /data as emulated devices. This is
future proof when fs other than sdcardfs is used.
- Drop quota sync from sync step. There is no differences in
frequencies of quota error.
- Run umount in reverse order from mounting order so that any
hidden dependency can be auto-resolved.
- Add dump of lsof and /proc/mounts when umount fails. lsof only runs
when selinux is toggled into permissive mode. The dump is enabled
only for non-user build.
- Keep logcat until vold shutdown in case vold has any error to report.

bug: 36551218
Test: python packages/services/Car/tools/bootanalyze/bootanalyze.py -r -c packages/services/Car/tools/bootanalyze/config.yaml -n 1000 -f -e 20 -w 30

Change-Id: I87b17b966d7004c205452d81460b02c6acf50d45
(cherry picked from commit 2ba5c8103d0cf748fdf03c9e5be975ccc36fb56a)
/system/core/init/Android.mk
54df8375ba408b7a0486a66dbc5125830cce21f1 28-Mar-2017 Keun-young Park <keunyoung@google.com> set zero shutdown timeout for eng build

- still it will take time to kill services, < 3 secs in tested device.

bug: 36678028
Test: reboot

(cherry picked from commit 56425ed87e1ad7c63437d67c3b17ed7e2ba8d340)

Change-Id: I75b5843b08cdcdbf67c4fe500aa0dd7302dd44d7
/system/core/init/Android.mk
7ef28f4e4fcfb2b78b5b7b811307d60d6cabfb80 23-Mar-2017 Jeff Vander Stoep <jeffv@google.com> Move selinux policy build decisions to sepolicy Makefile

Test: Test build/boot Marlin with split policy
Test: Test build/boot Bullhead with combined policy
Bug: 36138508
Change-Id: I84654d19c4d8e9fe9086fde742ee80cd043dfbe1
/system/core/init/Android.mk
8d01f63f50fb001f41835a0dab636981f2ba76dd 13-Mar-2017 Keun-young Park <keunyoung@google.com> remove emergency shutdown and improve init's reboot logic

- Emergency shutdown just marks the fs as clean while leaving fs
in the middle of any state. Do not use it anymore.

- Changed android_reboot to set sys.powerctl property so that
all shutdown can be done by init.

- Normal reboot sequence changed to
1. Terminate processes (give time to clean up). And wait for
completion based on ro.build.shutdown_timeout.
Default value (when not set) is changed to 3 secs. If it is 0, do not
terminate processes.
2. Kill all remaining services except critical services for shutdown.
3. Shutdown vold using "vdc volume shutdown"
4. umount all emulated partitions. If it fails, just detach.
Wait in step 5 can handle it.
5. Try umounting R/W block devices for up to max timeout.
If it fails, try DETACH.
If umount fails to complete before reboot, it can be detected when
system reboots.
6. Reboot

- Log shutdown time and umount stat to log so that it can be collected after reboot

- To umount emulated partitions, all pending writes inside kernel should
be completed.
- To umount /data partition, all emulated partitions on top of /data should
be umounted and all pending writes should be completed.
- umount retry will only wait up to timeout. If there are too many pending
writes, reboot will discard them and e2fsck after reboot will fix any file system
issues.

bug: 36004738
bug: 32246772

Test: many reboots combining reboot from UI and adb reboot. Check last_kmsg and
fs_stat after reboot.

Change-Id: I6e74d6c68a21e76e08cc0438573d1586fd9aaee2
/system/core/init/Android.mk
663fdfc1b2406fd6f88a89b998b300e5de8d5b05 10-Mar-2017 Tom Cherry <tomcherry@google.com> init: reboot to bootloader on crash for development builds

Currently, if init crashes, the kernel panics. During development, we
would like to catch this crash before the kernel panics and reboot
into bootloader. This will prevent boot looping bad configurations,
particularly desired in test labs where manual intervention would
otherwise be required to reset the devices.

Keep the existing behavior for user builds, as init crashes should be
rare for production builds and rebooting the device is the correct
behavior for end users.

Bug: 34147472
Test: Boot bullhead userdebug, force init to crash, check that the
device is in bootloader
Test: Boot bullhead user, force init to crash, check that the kernel
panics and the device reboots as it did previously
Change-Id: Iab3d45ed0d1f82ffaad2a0835d9ca537c0516421
/system/core/init/Android.mk
2bc00140be22f08964102068a736358fe8dde5da 13-Mar-2017 Tom Cherry <tomcherry@google.com> init: enable C++17

Test: Boot bullhead
Change-Id: I40961ff765461e8aef211d27158ffb7c4be76493
/system/core/init/Android.mk
0cbbb8381eff4de5288bd11684b501600cf1029c 09-Mar-2017 Jeff Vander Stoep <jeffv@google.com> Build split file_contexts on TREBLE builds

Build file_contexts.bin on legacy builds.
Test: Marlin and Bullhead build and boot with no new denials.
Test: Marlin and Bullhead recovery boots with no new denials.
Test: Bullhead boots with file_contexts.bin in /
Test: Marlin boot with /system/etc/selinux/plat_file_contexts and
/vendor/etc/selinux/nonplat_file_contexts.
Bug: 36002414

Change-Id: I66f138fc3ad808df0480e0467cee03fd40177f31
/system/core/init/Android.mk
2d19aeb13a666fc3e5317e19ea0e0d0a1730c425 07-Mar-2017 Alex Klyubin <klyubin@google.com> Use precompiled sepolicy when available

NOTE: This change affects only devices which use SELinux kernel policy
split over system and vendor directories/partitions.

Prior to this change, init compiled sepolicy from *.cil files on every
boot, thus slowing boot down by about 400 ms. This change enables init
to skip the step compilation and thus avoid spending the 400 ms. The
skipping occurs only if the device's vendor partition includes an
acceptable precompiled policy file. If no acceptable policy is found,
the compilation step takes place same as before.

Because such devices support updating system and vendor partitions
independently of each other, the vendor partition's precompiled policy
is only used if it was compiled against the system partition's policy.
The exact mechanism is that both partitions include a file containing
the SHA-256 digest of the system partition's policy
(plat_sepolicy.cil) and the precompiled policy is considered usable
only if the two digests are identical.

Test: Device with monolithic policy boots up just fine
Test: Device with split policy and with matching precompiled policy
boots up just fine and getprop ro.boottime.init.selinux returns
a number below 100 ms. No "Compiling SELinux policy" message in
dmesg.
Test: Device with split policy and with non-matching precompiled
policy boots up just fine and getpropr ro.boottime.init.selinux
returns a number above 400 ms. There is a "Compiling SELinux
policy" message in dmesg. The non-matching policy was obtained
by adding an allow rule to system/sepolicy, building a new
system image using make systemimage and then flashing it onto
the device.
Bug: 31363362
Change-Id: Ic2e81a83051689b5cd5ef1299ba6aaa1b1df1bdc
/system/core/init/Android.mk
b51f9abf45a58c1ec3a1917eb19b9b8bc6886b8f 02-Mar-2017 Alex Klyubin <klyubin@google.com> Include correct type of SELinux policy

This makes the build system include split SELinux policy (three CIL
files and the secilc compiler needed to compile them) if
PRODUCT_FULL_TREBLE is set to true. Otherwise, the monolitic SELinux
policy is included.

Split policy currently adds around 400 ms to boot time (measured on
marlin/sailfish and bullhead) because the policy needs to be compiled
during boot. This is the main reason why we include split policy only
on devices which require it.

Test: Device boots, no additional SELinux denials. This test is
performed on a device with PRODUCT_FULL_TREBLE set to true, and
on a device with PRODUCT_FULL_TREBLE set to false.
Test: Device with PRODUCT_FULL_TREBLE set to true contains secilc and
the three *.cil files, but does not contain the sepolicy file.
Device with PRODUCT_FULL_TREBLE set to false contains sepolicy
file but does not contain the secilc file or any *.cil files.
Bug: 31363362

Change-Id: I419aa35bad6efbc7f936bddbdc776de5633846fc
/system/core/init/Android.mk
b005d908167c9b44847ff490c66a90e029bcb5e4 22-Feb-2017 Elliott Hughes <enh@google.com> Address property service DoS.

Bug: http://b/35166374
Test: ran new test
Change-Id: I94cf5750f0d2dc87f4a118b2c63b16255ef30fd2
/system/core/init/Android.mk
c8ac0677734270f0b12d85ecf23b1de49054890c 14-Feb-2017 James Hawkins <jhawkins@google.com> Revert "bootstat: Refactor init/utils/boot_clock into base/chrono_utils."

This reverts commit 7c92e484503f239000ef97ef5b067907fbeaa4a6.

Mac sdk still broken (despite testing locally).

Change-Id: I7d9206e15997cd0efe081bd3fa17d53d2b20ec32
/system/core/init/Android.mk
7c92e484503f239000ef97ef5b067907fbeaa4a6 14-Feb-2017 James Hawkins <jhawkins@google.com> bootstat: Refactor init/utils/boot_clock into base/chrono_utils.

Use this for bootstat and init. This replaces the custom uptime parser in
bootstat.

This is a reland of aosp/332854 with a fix for Darwin.

Bug: 34352037
Test: chrono_utils_test
Change-Id: Ib2567d8df0e460ab59753ac1c053dd7f9f1008a7
/system/core/init/Android.mk
28e980b59c8e309d248b361829ed34408632720f 20-Dec-2016 Jorge Lucangeli Obes <jorgelo@google.com> Add a sample service for testing init.

I find myself using something like this every time I add functionality
to init. I cannot possibly be the only one doing this. On the other
hand, if this hasn't been added for so long, maybe there's a reason
for that.

The advantage of using a test service versus modifying an existing
service is that the test service doesn't *require* any permissions or
privileges, so you can add and/or remove whatever you need to test
without breaking the service.

I found it useful to have the service check its own /proc/<pid>/status
from command-line arguments, so that's what the service does.

This CL also adds a .clang-format file for init.

Bug: None
Test: Service runs and exits successfully.

Change-Id: I3e7841a7283158e10c0bf55e0103c03902afb1f0
/system/core/init/Android.mk
0e3167e203ae89817cc30ba4a5a2d328716b4826 08-Feb-2017 James Hawkins <jhawkins@google.com> Revert "bootstat: Remove custom uptime parser in favor of elapsedRealtime."

This reverts commit 26f40c04c3ad80e2bc449990010d39d1c1b9a5f0.

This change broke the Darwin SDK target.

Test: none
Change-Id: Ia54fe2c31da8d8fa2825e023b035fb8321dcd457
/system/core/init/Android.mk
26f40c04c3ad80e2bc449990010d39d1c1b9a5f0 06-Feb-2017 James Hawkins <jhawkins@google.com> bootstat: Remove custom uptime parser in favor of elapsedRealtime.

Refactored init/utils/boot_clock into base/chrono_utils.

Bug: 34352037
Test: none
Change-Id: Ied0c00867336b85922369d7ff37520e3d28fc61e
/system/core/init/Android.mk
c4af05f8a3d67b9a4288a2b37c7fc16755497f6b 01-Feb-2017 Paul Lawrence <paullawrence@google.com> Revert "Enable seccomp in init with generated policy"

This reverts commit db929bf9b740b3b7c02cf0acc07fee94406f3b3f.

Seccomp is now inserted at the zygote level, not in init

Bug: 34710876
Test: Boots, seccomp policy in zygote & zygote64 but not init
Change-Id: I9075a79793171a4eaccf6228e9ff3398c791f8bd
/system/core/init/Android.mk
b51722b4e2c31355971100c21628a9e881756c3a 11-Jan-2017 bowgotsai <bowgotsai@google.com> fs_mgr: support using libavb to enable dm-verity

external/avb/libavb provides the new Android Verified Boot (AVB) flow.
It has different verity metadata format than previous formats in
fs_mgr_verity.cpp fs_mgr should support using libavb to read the metadata
(a.k.a. HASHTREE descriptor in AVB) to enable dm-verity in kernel.

Two important files in this commit:

- fs_mgr_avb_ops.c: an implementation of struct AvbOps* for libavb to do
platform dependent I/O operations, e.g., read_from_partition.

- fs_mgr_avb.cpp: it reads the metadata (a.k.a. vbmeta images in AVB) from
all partitions, verifies its integrity against the values of
androidboot.vbmeta.{hash_alg, size, digest} passed from bootloader in
kernel command line. Then enable dm-verity for partitions having the
corresponding HASHTREE descriptor and with an 'avb' fstab flag.

Bug: 31264231
Test: Enable dm-verity on /system partition
Test: Enable dm-verity with FEC on /system partition

Change-Id: I4652806984fe5a30c61be0839135b5ca78323d38
/system/core/init/Android.mk
cfb8800e188a306d828357bed87134f61d2d3c19 20-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Enable seccomp in init with generated policy"
b0c395955df706c4c453c0dddc13a4f5f7ca44bf 11-Jan-2017 Alex Deymo <deymo@google.com> Remove "_host" and "_static" suffix from libsparse definition.

This now combines all the "libsparse" libraries into the same soong
target. A minor side-effect of this change is that the libsparse
static library depends on the libz shared library instead of the libz
static library. This minor change has no effect since targets using
the static libsparse library need to explicitly include either the
static libz or the shared one.

Bug: 34220783
Change-Id: I8f41586cf4c3336791cfa57ab4f5ae59a76d7ffa
/system/core/init/Android.mk
705353ae277e408e70169c0811c5d104a3b733f6 11-Jan-2017 Alex Deymo <deymo@google.com> Remove "_static" and "_host" suffix from libext4_utils.

Bug: 34220783
Change-Id: I967dbaa9c48ad1feed2369c3a40f745b86a350f8
/system/core/init/Android.mk
db929bf9b740b3b7c02cf0acc07fee94406f3b3f 21-Oct-2016 Paul Lawrence <paullawrence@google.com> Enable seccomp in init with generated policy

Test: Ran script to test performance - https://b.corp.google.com/issues/32313202#comment3
Saw no significant regression with this change on or off
Removed chroot from SYSCALLS.TXT - chroot blocked
Boot time appears reasonable
Device boots with no SECCOMP blockings
Measured per syscall time of 100ns
Empirically counted <100,000 syscalls a second under heavy load

Bug: 32313202
Change-Id: Icfcfbcb72b2de1b38f1ad6a82e8ece3bd1c9e7ec
/system/core/init/Android.mk
8adb4d9d12d077ee87d1ce97742c6a5ba9aaaf9f 03-Jan-2017 Nick Kralevich <nnk@google.com> Send property_service AVC messages to the kernel audit system

The property service uses an SELinux userspace check to determine if a
process is allowed to set a property. If the security check fails, a
userspace SELinux denial is generated. Currently, these denials are only
sent to dmesg.

Instead of sending these denials to dmesg, send it to the kernel audit
system. This will cause these userspace denials to be treated similarly
to kernel generated denials (eg, logd will pick them up and process
them). This will ensure that denials generated by the property service
will show up in logcat / dmesg / event log.

After this patch, running "setprop asdf asdf" from the unprivileged adb
shell user will result in the following audit message:

type=1107 audit(39582851.013:48): pid=1 uid=0 auid=4294967295
ses=4294967295 subj=u:r:init:s0 msg='avc: denied { set } for
property=asdf pid=5537 uid=2000 gid=2000 scontext=u:r:shell:s0
tcontext=u:object_r:default_prop:s0 tclass=property_service'

Test: manual
Bug: 27878170
Change-Id: I0b8994888653501f2f315eaa63d9e2ba32d851ef
/system/core/init/Android.mk
a26a98726e2553aae7990ea4813c238d26144044 17-Dec-2016 Daniel Cashman <dcashman@google.com> Revert "Compile sepolicy on-device at early boot."

This reverts commit 2fae5d65d503a9487438a107caa01265c61d23c5.

Change-Id: Id8bfc0f85d19e98df3759a2fcc6b3a331b4eec29
/system/core/init/Android.mk
2fae5d65d503a9487438a107caa01265c61d23c5 01-Dec-2016 dcashman <dcashman@google.com> Compile sepolicy on-device at early boot.

Compile policy from disparate sources at beginning of init and use to load
rather than relying on prebuilt policy.

Bug: 31363362
Test: Policy builds on-device and boots.
Change-Id: I681ec3f7da351d0b24d1f1e81e8a6b00c9c9d20c
/system/core/init/Android.mk
978fd0ea254f11f84e38b41a74bbe70c81edc197 02-Dec-2016 Mark Salyzyn <salyzyn@google.com> init: service file command only opens existing files

Mixing open or create, along with attribute(MAC) and permissions(DAC)
is a security and confusion issue.

Fix an issue where fcntl F_SETFD was called to clear O_NONBLOCK, when
it should have been F_SETFL. Did not present a problem because the
current user of this feature does writes and control messages only.

Test: gTest logd-unit-tests and check dmesg for logd content.
Bug: 32450474
Bug: 33242020
Change-Id: I23cb9a9be5ddb7e8e9c58c79838bc07536e766e6
/system/core/init/Android.mk
62767fe29f8aaf62470781a3cf419ba11187d178 27-Oct-2016 Mark Salyzyn <salyzyn@google.com> init: service file keyword

Solve one more issue where privilege is required to open a file and
we do not want to grant such to the service. This is the service side
of the picture, android_get_control_file() in libcutils is the client.
The file's descriptor is placed into the environment as
"ANDROID_FILE_<path>". For socket and files where non-alpha and
non-numeric characters in the <name/path> are replaced with _. There
was an accompanying change in android_get_control_socket() to match
in commit 'libcutils: add android_get_control_socket() test'

Add a gTest unit test for this that tests create_file and
android_get_control_file().

Test: gTest init_tests --gtest_filter=util.create_file
Bug: 32450474
Change-Id: I96eb970c707db6d51a9885873329ba1cb1f23140
/system/core/init/Android.mk
24b29132a017f7fbfd009c3e6aec499d1b815dbf 27-Oct-2016 Jorge Lucangeli Obes <jorgelo@google.com> init: Add support for ambient capabilities.

Ambient capabilities are inherited in a straightforward way across
execve(2):

"
If you are nonroot but you have a capability, you can add it to pA.
If you do so, your children get that capability in pA, pP, and pE.
For example, you can set pA = CAP_NET_BIND_SERVICE, and your
children can automatically bind low-numbered ports.
"

This will allow us to get rid of the special meaning for AID_NET_ADMIN
and AID_NET_RAW, and if desired, to reduce the use of file capabilities
(which grant capabilities to any process that can execute the file). An
additional benefit of the latter is that a single .rc file can specify
all properties for a service, without having to rely on a separate file
for file capabilities.

Ambient capabilities are supported starting with kernel 4.3 and have
been backported to all Android common kernels back to 3.10.

I chose to not use Minijail here (though I'm still using libcap) for
two reasons:

1-The Minijail code is designed to work in situations where the process
is holding any set of capabilities, so it's more complex. The situation
when forking from init allows for simpler code.

2-The way Minijail is structured right now, we would not be able to
make the required SELinux calls between UID/GID dropping and other priv
dropping code. In the future, it will make sense to add some sort of
"hook" to Minijail so that it can be used in situations where we want
to do other operations between some of the privilege-dropping
operations carried out by Minijail.

Bug: 32438163
Test: Use sample service.
Change-Id: I3226cc95769d1beacbae619cb6c6e6a5425890fb
/system/core/init/Android.mk
1051e107f234cd5ce1fe159fd90756693555a5bd 25-Jun-2016 Yabin Cui <yabinc@google.com> init: use libbootloader_message.

Bug: 29582118
Change-Id: I6285b29774a11d6dda8496c7c73e4c1d17a672bd
(cherry picked from commit 0b1252cca0ecd5603e0fc0d5dadde91410b6b557)
/system/core/init/Android.mk
6d881d6db438208a1bce9806753defbb09811962 06-Oct-2016 Tao Bao <tbao@google.com> Update the header path for ext4_utils.

Test: `mmma system/core`

Change-Id: I6291d10d6c8d4972aeca55596baa83f555496193
/system/core/init/Android.mk
87ef590bc1ab795add250d6946ab18994b6b64a8 08-Aug-2016 Josh Gao <jmgao@google.com> Merge "libcrypto_utils: convert to Soong."
am: c1a9a21ffe

Change-Id: I9cf76646d4537750c4d4080234d3384fb307e610
47763c3a09e8581338c307c5a5de4ae359c3b6e7 06-Aug-2016 Josh Gao <jmgao@google.com> libcrypto_utils: convert to Soong.

Bug: http://b/30708454
Change-Id: Iaad64272ced766f87e67f2877e990afccc558065
/system/core/init/Android.mk
8d532e47376859e2ea8f953ebe75d24560e80464 07-Jun-2016 Elliott Hughes <enh@google.com> resolve merge conflicts of cea1d04 to nyc-dev-plus-aosp

Change-Id: I41cdca717664a16f00fd1b28076dd752fa96653d
f7e79b99c1e9e3128dd9921871f7740bebb755e6 01-Jun-2016 Collin Mulliner <collinrm@squareup.com> use process groups for processes started by init

Put every service into a process group, kill the process group
and all child processes created within the group when killing the
service. Removed libutil dependency in libprocessgroup.

Bug: 25355957
Change-Id: Ieed60ec41579f638ab9b1e66a7e6330ed578ab05
Signed-off-by: Collin Mulliner <collinrm@squareup.com>
/system/core/init/Android.mk
9c4a0e021607f9da6130658530110e84eefc8ed9 13-Apr-2016 Elliott Hughes <enh@google.com> Merge changes from topic \'boringssl_conversion\' am: 52eb93c
am: 0781351

* commit '07813516502d12cfeabef94838e916c0cf4f3b46':
Switch fs_mgr and adb to libcrypto_utils.
Add libcrypto_utils.

Change-Id: Ib50abd66d546a2b2c7a1249043e1b39c2147c674
097b6bbc76231f4148c9dd28b6ea0c1189d40fc3 31-Mar-2016 Mattias Nissler <mnissler@google.com> Switch fs_mgr and adb to libcrypto_utils.

Update code and dependencies to use BoringSSL + libcrypto_utils
instead of mincrypt.

Change-Id: Ic75164bd50c84b81b6310e27a67d4b3c174984f9
/system/core/init/Android.mk
46e037980bdcbd4d7cb73cbf67763d8fc7b75493 07-Apr-2016 Yabin Cui <yabinc@google.com> init: write bootloader message directly.

Bug: 27176738
Change-Id: I8c95a193f3436c0893d5103760b700f3052888db
/system/core/init/Android.mk
3b9c83a0f69778253f82730404363b5f5f795eb2 03-Feb-2016 Jeff Sharkey <jsharkey@android.com> User 0 directories are created by vold now.

This ensures that all users on device follow a consistent path for
setup and validation of encryption policy.

Also add remaining user-specific directories and fix linking order.

Bug: 25796509
Change-Id: I8c2e42a78569817f7f5ea03f54b743a6661fdb9c
/system/core/init/Android.mk
c1caf88f25a10a22e0582b2ee4724252f12c3a81 22-Dec-2015 Colin Cross <ccross@android.com> libinit: depend on libselinux

libinit uses headers from libselinux, add a LOCAL_STATIC_LIBRARIES
dependency.

Change-Id: I6b0a3183058c8593ef40e58abbf2d72bcce59e95
/system/core/init/Android.mk
bd2d961cc2875259677e34211d2e8ec071b0d8da 04-Aug-2015 William Roberts <william.c.roberts@intel.com> init/adb: correct static lib dependencies for libselinux

Now that libselinux uses libpackagelistparser, in order
for libpackagelistparser to be properly statically linked
liblog must come after libselinux for all the liblog
references to be defined in libpackagelistparser which
is included in libselinux. This patch corrects that order.

Change-Id: I7aee10c9395310919779ed2463aab6b2f8b380cc
Signed-off-by: William Roberts <william.c.roberts@intel.com>
/system/core/init/Android.mk
99e3a927e89bd0fa67a13511071260fa02d13fa1 22-May-2015 Sami Tolvanen <samitolvanen@google.com> Error correction: Use libfec in fs_mgr

Use libfec to read and parse verity metadata to protect against data
corruption.

Bug: 21893453
Change-Id: I3a3543e0d999316707302b3be8735a7133d22946
/system/core/init/Android.mk
092345346212f329010b453f4b1d2cb5292f7876 14-Oct-2015 Sami Tolvanen <samitolvanen@google.com> Revert "Error correction: Use libfec in fs_mgr"

This reverts commit 3de3a0f351ee07cbd31db56d49cef3fbeb7e633b.

Change-Id: I1f121cbc4431b8d8ff146eab29832a8dda1eb8ba
/system/core/init/Android.mk
3de3a0f351ee07cbd31db56d49cef3fbeb7e633b 22-May-2015 Sami Tolvanen <samitolvanen@google.com> Error correction: Use libfec in fs_mgr

Use libfec to read and parse verity metadata to protect against data
corruption.

Bug: 21893453
Change-Id: Ieee6a1441e2f68148ba635235216e36c69b13db1
/system/core/init/Android.mk
cda81d01c6d8df84c67e5a2391356bb8407921dc 01-Sep-2015 Tom Cherry <tomcherry@google.com> am 54c70ca1: Merge "init: Use classes for parsing and clean up memory allocations"

* commit '54c70ca15660529466b5b4e091209a20a3e75dff':
init: Use classes for parsing and clean up memory allocations
b7349902a945903f9e36a569051f5131beb0bc24 26-Aug-2015 Tom Cherry <tomcherry@google.com> init: Use classes for parsing and clean up memory allocations

Create a Parser class that uses multiple SectionParser interfaces to
handle parsing the different sections of an init rc.

Create an ActionParser and ServiceParser that implement SectionParser
and parse the sections corresponding to Action and Service
classes.

Remove the legacy keyword structure and replace it with std::map's
that map keyword -> (minimum args, maximum args, function pointer) for
Commands and Service Options.

Create an ImportParser that implements SectionParser and handles the
import 'section'.

Clean up the unsafe memory handling of the Action class by using
std::unique_ptr.

Change-Id: Ic5ea5510cb956dbc3f78745a35096ca7d6da7085
/system/core/init/Android.mk
d717f86a3ed9bf0878ce67c176755f656cec29c2 17-Aug-2015 Nick Kralevich <nnk@google.com> am 64c30a79: am 084c00b8: Merge "init: add LOCAL_SANITIZE := integer"

* commit '64c30a79def4dc29749a86c00a970243a2a45f1e':
init: add LOCAL_SANITIZE := integer
f90b653667b9314d8342caeb08e652d7d6bc236f 15-Aug-2015 Nick Kralevich <nnk@google.com> init: add LOCAL_SANITIZE := integer

Call abort() on undefined or sketchy integer behavior.
Protects against integer overflow attacks.

Change-Id: If73e6b382f2ee645fec406805739f9684ddbb5f0
/system/core/init/Android.mk
1deb03179c635c33778815e2fab950aadeeb6600 13-Aug-2015 Nick Kralevich <nnk@google.com> am 51ffedd2: am 1efef4c4: Merge "Revert "init: add LOCAL_SANITIZE := integer""

* commit '51ffedd264389730a76470408a122589f7ce3488':
Revert "init: add LOCAL_SANITIZE := integer"
c307b5b7f81dd66f24904ec8a3f09daa2a46d20a 13-Aug-2015 Nick Kralevich <nnk@google.com> Revert "init: add LOCAL_SANITIZE := integer"

flounder isn't booting

This reverts commit aea73db1e3e06ca75509b78a8610e15bfb10d7fe.

Bug: 23166814
Change-Id: I36c811d1ca30e2366066142d9282bb713dae315f
/system/core/init/Android.mk
864d4985ed0434974b8d0401dc9c670d186d594a 12-Aug-2015 Nick Kralevich <nnk@google.com> am 4d74f2cb: am 0b973da5: Merge "init: add LOCAL_SANITIZE := integer"

* commit '4d74f2cb4c30aaf4dfd176b2f970dbf54e5c697d':
init: add LOCAL_SANITIZE := integer
aea73db1e3e06ca75509b78a8610e15bfb10d7fe 12-Aug-2015 Nick Kralevich <nnk@google.com> init: add LOCAL_SANITIZE := integer

Call abort() on undefined or sketchy integer behavior.
Protects against integer overflow attacks.

Change-Id: I5f542089753c8fcf7596fd70cfaa48a3caa5b140
/system/core/init/Android.mk
841066e778c8e6d8c401b843d9df050b94b69bb4 07-Aug-2015 Tom Cherry <tomcherry@google.com> am 4036f5ab: am 4bf3dc93: Merge "Create Service and ServiceManager classes"

* commit '4036f5ab2ffbe5a2e47d46aa376e9791385cc31b':
Create Service and ServiceManager classes
bac3299720623f4226bca103b26260052732ad30 31-Jul-2015 Tom Cherry <tomcherry@google.com> Create Service and ServiceManager classes

Change-Id: I363a5e4751ad83d2f4096882a6fbbeddca03acfe
/system/core/init/Android.mk
97d393bb2d7f2dad83a9e14f9a4aba5a018ef0b8 30-Jul-2015 Tom Cherry <tomcherry@google.com> am a21d8562: am d548e30f: Merge "init: Create classes for Action and Command"

* commit 'a21d85620560896bbed0cd43db9ed3224ab4e974':
init: Create classes for Action and Command
d548e30f04b2eb7aa00deab42f5559d08396c38e 30-Jul-2015 Tom Cherry <tomcherry@google.com> Merge "init: Create classes for Action and Command"
7158521377c57579d7c9af0f6de4c3a4d20d94d9 30-Jul-2015 Lee Campbell <leecam@google.com> am 1691d968: am 138c540f: Merge "init: Add C++ tokenizer."

* commit '1691d968f8ae5f25036251fd5978be637bbf0b4a':
init: Add C++ tokenizer.
fa0c21c94ccb98bfa5cf3cc7a6b220be4a5fa378 24-Jul-2015 Tom Cherry <tomcherry@google.com> init: Create classes for Action and Command

This creates the concept of 'event_trigger' vs 'property_trigger'

Previously these were merged into one, such that 'on property:a=b &&
property:b=c' is triggered when properties a=b and b=c as expected,
however combinations such as 'on early-boot && boot' would trigger
during both early-boot and boot. Similarly, 'on early-boot &&
property:a=b' would trigger on both early-boot and again when property
a equals b.

The event trigger distinction ensures that the first example fails to
parse and the second example only triggers on early-boot if
property a equals b.

This coalesces Actions with the same triggers into a single Action object

Change-Id: I8f661d96e8a2d40236f252301bfe10979d663ea6
/system/core/init/Android.mk
220ca84223dca5aa7a58c1a941d745c1387d29be 30-Jul-2015 Lee Campbell <leecam@google.com> init: Add C++ tokenizer.

Adds a C++ tokenizer along with unit tests.

This tokenizer will replace the current C implementation
which does a poor job of keeping track of pointers.

This CL is a prerequisite for up coming changes to
the parser. This CL does not wire up this tokenizer and
changes no exsiting code. All that builds is the unit tests.

Change-Id: Iec3740bce7153640adc5e5bbdc57e644cedf0038
TEST: Unit tests all pass. No leaks under valgrind
BUG: 22843198
/system/core/init/Android.mk
2f2e6cd07831a37ca3bef7d78bedb5c8f1c52e24 17-Jun-2015 Nick Kralevich <nnk@google.com> am 4c6269ce: am 106f92f5: Merge "Revert "init: Enable LOCAL_DETECT_INTEGER_OVERFLOWS""

* commit '4c6269ce280f33c7d080dbdbbfd3a8d9681d85ed':
Revert "init: Enable LOCAL_DETECT_INTEGER_OVERFLOWS"
21d605eff59d8218f5e38ea67fb00296c7052494 17-Jun-2015 Nick Kralevich <nnk@google.com> Revert "init: Enable LOCAL_DETECT_INTEGER_OVERFLOWS"

Shamu boots, but hammerhead doesn't. Likely cause is this change.

This reverts commit 18ae44bf3d9b1419f58d387daadcf502f150bf81.

Bug: 21880301
Change-Id: I490816060209c15aa07c783d05fe5b141c7c9023
/system/core/init/Android.mk
1bc2b09fd3f1f8947af62309754d7ed681b6f72d 16-Jun-2015 Nick Kralevich <nnk@google.com> am 135b6b08: am 6b27b7d6: Merge "init: Enable LOCAL_DETECT_INTEGER_OVERFLOWS"

* commit '135b6b08cd9fec32c266f3981d4af101f6e270f9':
init: Enable LOCAL_DETECT_INTEGER_OVERFLOWS
18ae44bf3d9b1419f58d387daadcf502f150bf81 16-Jun-2015 Nick Kralevich <nnk@google.com> init: Enable LOCAL_DETECT_INTEGER_OVERFLOWS

Call abort() if an integer overflow or underflow occurs.
See https://android-review.googlesource.com/154831

Change-Id: Icb6bdef55a5899144351b56d683f34f5da32a88d
/system/core/init/Android.mk
9371cf0e312b539e836c1233a904dc2a7123fedf 11-Jun-2015 Elliott Hughes <enh@google.com> am 67917cf5: am 57bd480c: Merge "Make it clearer to grep that init is built with clang."

* commit '67917cf590ae497ce7700dc7a6b618b3a6700a39':
Make it clearer to grep that init is built with clang.
1115c25d5ebfe0cae38dccfd8b9d9bdb3bc2ae6b 11-Jun-2015 Elliott Hughes <enh@google.com> Make it clearer to grep that init is built with clang.

Change-Id: Ic2abffd27e382cb691d772cdf088442645e59bf7
/system/core/init/Android.mk
b7f8b91040cc0910ca12b51ad7318515595705af 09-May-2015 Andres Morales <anmorales@google.com> am 86aeb11e: Merge "load ro.recovery_id property from recovery partition" into mnc-dev

* commit '86aeb11ed047b3698948c4eee8fbaccd20131ecb':
load ro.recovery_id property from recovery partition
cb3fce80fafa2848fd4962d9f242c21eef3d82f9 08-May-2015 Andres Morales <anmorales@google.com> load ro.recovery_id property from recovery partition

Change-Id: I9dc1f325e353375d9c1c8ed949636e2404601076
(cherry picked from commit db5f5d43679546ecde2b85151c0a8b8ccd605b07)
/system/core/init/Android.mk
db5f5d43679546ecde2b85151c0a8b8ccd605b07 08-May-2015 Andres Morales <anmorales@google.com> load ro.recovery_id property from recovery partition

Change-Id: I9dc1f325e353375d9c1c8ed949636e2404601076
/system/core/init/Android.mk
61c086e54e46eb82a6b0e4087474afcb178fe00c 28-Apr-2015 Nick Kralevich <nnk@google.com> am 3ef42dd2: am f0d24737: Merge "init: remove support for disabled SELinux"

* commit '3ef42dd20f8d54d98cc5e95995761d2f6b5b4950':
init: remove support for disabled SELinux
d34e407aeb5898f19d4f042b7558420bbb3a1817 28-Apr-2015 Nick Kralevich <nnk@google.com> init: remove support for disabled SELinux

Remove support for androidboot.selinux=disabled. Running with SELinux
disabled is not a supported configuration anymore. SELinux must be
in enforcing in shipping devices, but we also support permissive for
userdebug/eng builds.

Don't try security_setenforce() if we're already in enforcing mode.
A kernel compiled without CONFIG_SECURITY_SELINUX_DEVELOP does
not have a permissive mode, so the kernel will already be enforcing
once the policy is loaded.

Bug: 19702273
Change-Id: I07525a017ddb682020ec0d42e56a2702c053bdeb
/system/core/init/Android.mk
438443e742d9cfb91c1193144a3b41744ffad34b 14-Apr-2015 Ed Tam <etam@google.com> resolved conflicts for merge of 79f33846 to lmp-mr1-dev-plus-aosp

Change-Id: I24c60a2747931917a3ea09b953905ce0f4145280
79f338465213885900cea5a39f3aeeea083bbe51 05-Sep-2013 Chris Fries <cfries@motorola.com> fs_mgr: introduce fs_mgr_format to format wiped partitions

Move fastboot's format logic into fs_mgr, to consolidate the knowledge
about how to do this (and when to wipe metadata).

Try to format these formattable paritions if they are wiped.

If formatting fails, we will fall out to let recovery mode handle it.

Bug: 20082763
Change-Id: I397cc197550e78d932e8a154fd234695c46dbe7b
/system/core/init/Android.mk
030ef35966ab30bc36f1a047df4fd45e466427ef 09-Apr-2015 Mohamad Ayyash <mkayyash@google.com> Revert "Revert "fs_mgr_verity: Add support for squashfs""

This reverts commit 7b97c7a3fa0f1bdae5b45a70f625ff48f9dab0c1.

Change-Id: Id47e70479fe9247b7936f2e54d4dbfbb4f63f635
/system/core/init/Android.mk
7b97c7a3fa0f1bdae5b45a70f625ff48f9dab0c1 08-Apr-2015 Mohamad Ayyash <mkayyash@google.com> Revert "fs_mgr_verity: Add support for squashfs"

This reverts commit 807f47004f03653997edbe3c83d46350cb056cd4.

Change-Id: I2d7972c0828c842b44747dd08fbe44668f2a55db
/system/core/init/Android.mk
807f47004f03653997edbe3c83d46350cb056cd4 07-Apr-2015 Mohamad Ayyash <mkayyash@google.com> fs_mgr_verity: Add support for squashfs

- Cleanup the code to get filesystem size in a block device
- Add support to reading size of squashfs in a block device

Change-Id: I3848a705ed4dc2fc9afad20331f0fdecfee545c5
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
/system/core/init/Android.mk
27cda9a535c80470e913156e412cbf7e60c3217c 01-Apr-2015 Paul Lawrence <paullawrence@google.com> Merge "Revert "Revert "Adding e4crypt support"""
b8c9d273a07f3fc45780e763bb3f7f6266b8cab7 26-Mar-2015 Paul Lawrence <paullawrence@google.com> Revert "Revert "Adding e4crypt support""

Fix build break caused by original change

This reverts commit 84b0bab58fcc7f225e9a17a15c531b0c2fc509c5.

Change-Id: I99fbd7c3d1ed92db1f546033c8493bb71a327924
/system/core/init/Android.mk
9efd95b0297e8bd6d77bca2d08c450d426c76ba2 30-Mar-2015 Elliott Hughes <enh@google.com> Build init with clang.

Change-Id: I14d95b3fe0505dd7d7632e2eedc537f97553c715
/system/core/init/Android.mk
da40c00137f75543a69972f1be506e2d14a41845 28-Mar-2015 Elliott Hughes <enh@google.com> Log more timing information from init.

Also make important events in init's life NOTICE rather than INFO,
and ensure that NOTICE events actually make it to the kernel log.

Also fix the logging so that if you have a printf format string
error, the compiler now catches it.

Also give messages from init, ueventd, and watchdogd distinct tags.
(Previously they'd all call themselves "init", and dmesg doesn't
include pids, so you couldn't untangle them.)

Also include the tag in SELinux messages.

Bug: 19544788
Change-Id: Ica6daea065bfdb80155c52c0b06f346a7df208fe
/system/core/init/Android.mk
c007bc3856a4cf86b8f610eb045f26a9dedc2894 16-Mar-2015 Dan Albert <danalbert@google.com> Revert "Revert "Create libbase.""

This reverts commit a7870d88167f619e758b5bcd15b410d16da7c16b.
/system/core/init/Android.mk
a7870d88167f619e758b5bcd15b410d16da7c16b 16-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Create libbase."

Breaks internal master.

This reverts commit 98ff77204cef9bb8f0f27420833233622060a09e.

Change-Id: I18dc6021cb43efff8aa88486c2d980dc2b8eedba
/system/core/init/Android.mk
98ff77204cef9bb8f0f27420833233622060a09e 14-Mar-2015 Dan Albert <danalbert@google.com> Create libbase.

Move StringPrintf and the string based file I/O from libutils to
libbase.

Change-Id: I0297a6063874b9d92100e0dd5123fddfbda932fe
/system/core/init/Android.mk
8d82ea05cb0945ba6cb8bf321b9ffbd0b6932745 07-Feb-2015 Elliott Hughes <enh@google.com> Implement exec.

Change-Id: I20329bc9b378479d745b498d6a00eca0872cd5ab
/system/core/init/Android.mk
a197ff12dd336a9945ad1164402980296f9c235c 05-Dec-2014 Yongqin Liu <yongqin.liu@linaro.org> bootchart: fix bootchart can not be triggered problem

bootchart uses a file on the data partition to decide if it should collect
data for bootchart, but the data partition will be mounted by the mount_all
command in the "on fs" section, and it will be only added into the action
queue when command "trigger fs" is executed, but that's after the
bootchart_init action (late_init).

This change makes bootchart_init a builtin command of init,
and make it executed as the first command of "on post-fs" section
which will be triggered after the "on fs" section.

This change also refactors the bootchart code to all be in bootchart.cpp.

Change-Id: Ia74aa34ca5b785f51fcffdd383075a549b2a99d9
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
/system/core/init/Android.mk
f682b4786a4093efb23bf80d69bf80eb274b145b 06-Feb-2015 Elliott Hughes <enh@google.com> Clean up reading and writing in init.

This isn't particularly useful in and of itself, but it does introduce the
first (trivial) unit test, improves the documentation (including details
about how to debug init crashes), and made me aware of how unpleasant the
existing parser is.

I also fixed a bug in passing --- unless you thought the "peboot" and "pm"
commands were features...

Bug: 19217569
Change-Id: I6ab76129a543ce3ed3dab52ef2c638009874c3de
/system/core/init/Android.mk
c0e919c92062360a69b771722677d041c9998403 04-Feb-2015 Elliott Hughes <enh@google.com> Stop using #if for conditional compilation.

Use regular 'if' to prevent bitrot.

Also remove remaining typedefs.

Change-Id: I2e6ca928e2db29b88b643cf990ff05cfb0be94a6
/system/core/init/Android.mk
24627906bfee8c4a9eede3deefd12365a78351bf 04-Feb-2015 Elliott Hughes <enh@google.com> Use TEMP_FAILURE_RETRY, always build bootchart.cpp.

Also switch the revision parsing over to sscanf as promised. I haven't
done the hardware parsing because I don't yet know whether we actually need
to keep the space-stripping code.

Change-Id: Ic33378345cd515cb08d00c543acf44eb72673396
/system/core/init/Android.mk
f3cf438714aa1284d8a58e2f3b108ba93f6d3abb 04-Feb-2015 Elliott Hughes <enh@google.com> Build init as C++.

This is just the minimal change to keep it building.

Change-Id: I245c5b8413a1db114576c81462eb5737f5ffcef2
/system/core/init/Android.mk
d3e37d14e755f07c7d10925514fdf7267a6abf04 03-Feb-2015 Elliott Hughes <enh@google.com> Trivial cleanup of recent changes.

A typo in the documentation for one, and a couple of signed/unsigned warnings
in the implementation of the other.

Change-Id: I8fb4b7448ac901c543dea7420aabcedf13ec1bd8
/system/core/init/Android.mk
d3d47415842ef975b1696906f63feaff26a56050 16-Jan-2015 Chih-Hung Hsieh <chh@google.com> Enable clang for init, after fix of global .mk files.

LOCAL_FORCE_STATIC_EXECUTABLE was not working properly for clang
because -Bstatic was ignored by clang. We can now enable clang
for init after the -static flag is added to link static executable
files in build/core/definitions.mk.

BUG: 18008984
Change-Id: I3f361b83c1e0b313914603dff33fd090cd3b116a
/system/core/init/Android.mk
dbb78d65c09b7d731871af93cc91e8a64949608d 25-Nov-2014 Ying Wang <wangying@google.com> Use LOCAL_POST_INSTALL_CMD to simplify symlink creation.

Change-Id: I67ad7248c26561d394e66901e90ef5814ec69fb3
/system/core/init/Android.mk
84e07fb7a4a5be03193c750e4332dda54a7ecafb 04-Oct-2014 Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> Don't build init with clang for now

init doesn't start when built with clang.
Set LOCAL_CLANG:=false until this is analyzed and fixed.

Change-Id: I5a7944aef676ce88defe5c0449e712d9812fb5f3
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
/system/core/init/Android.mk
f3c85b2488529404a170a28f9bc72538b1ace97d 03-Jun-2014 Nick Kralevich <nnk@google.com> Only allow disabling SELinux on userdebug / eng builds

Only parse and honor the kernel command line on userdebug
or eng builds. On user builds, assume that selinux is always enabled
and enforcing.

Change-Id: I71c66e4365bdf2f226800634126a38b716d96599
/system/core/init/Android.mk
322445ce6d928f59ceaaaa303ceb606df750ba38 02-Apr-2014 Mark Salyzyn <salyzyn@google.com> init: unused paramter warning messages

Change-Id: I1667371106be4b230ac3850e9819e4549eea2973
/system/core/init/Android.mk
18ccc1b8ee8f74ec9dde20782948c78e8ba2667f 07-Mar-2014 Alex Ray <aray@google.com> ueventd: easier debug logging

Move ueventd debug flag into the Android.mk.
Boost klog level if event logging enabled.

Change-Id: Iae48edbc43c487092c2424023576af29c76ff401
/system/core/init/Android.mk
66ed50af6870210ce013a5588a688434a5d48ee9 22-Nov-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit '536dea9d61a032e64bbe584a97463c6638ead009' into HEAD

Change-Id: I5c469a4b738629d99d721cad7ded02d6c35f56d5
50dc936964e057ad779ce271c6d1c12e4d81f0aa 16-Oct-2013 Marcin Chojnacki <marcinch7@gmail.com> init: remove obsolete rle logo

Obsolete RLE 565 logo is used nowhere,
because 565 framebuffer isn't used for years.

It's not necessary to keep this thing alive anymore.

Change-Id: Ie61e168790f791230530cd3eb1c68b1f7344c9a7
/system/core/init/Android.mk
3ad3d1c4b5856d4e314febc5671c74e78a76db00 23-Feb-2013 Geremy Condra <gcondra@google.com> Add basic verity support to fs_mgr.

This change adds a "verify" fs_mgr flag specifying that
the device in question should be verified.

Devices marked with this flag are expected to have a
footer immediately after their data containing all
the information needed to set up a verity instance.

Change-Id: I10101f2c3240228ee0932e3767fe35e673d2e720
/system/core/init/Android.mk
bf021b4cd760a48b38c58347a35157180593c4b8 20-Mar-2013 Ken Sumrall <ksumrall@android.com> fs_mgr: Capture the output of e2fsck and add to the kernel log

Currently, the output of e2fsck is not saved, and we have no insight
into how many errors e2fsck is finding and fixing. Using the new
abbreviated logging feature in liblogwrap, up to the first 100 lines,
and last 4K bytes of the output of e2fsck is captured by fs_mgr, and
added to the kernel log.

Usually, the filesystem will be clean, and this will only add a few
lines to the kernel log on boot, but when things go wrong, it should
save enough to indicate what the problem is, without potentially
filling the kernel log with only e2fsck output if the filesystem is
really corrupted.

Change-Id: I9c264798e6fe721c8f818b5ce15d0975027ddbdd
/system/core/init/Android.mk
2a36ae5608e9d655b2bb14ce538f6fbdb910cada 17-Oct-2012 Kenny Root <kroot@google.com> am 7b88a90d: Merge "Remove HAVE_SELINUX guards"

* commit '7b88a90da2a27e347fc16c14fa577f4ae1ef07fd':
Remove HAVE_SELINUX guards
b5982bf7c65b30be981ecfe1847437b05e32b2bb 17-Oct-2012 Kenny Root <kroot@google.com> Remove HAVE_SELINUX guards

Change-Id: I8272c573b3c5dc663203bafab68fad5e94d89364
/system/core/init/Android.mk
d97d9074ba818de5af45ce4e0f5c30053ae467d0 14-Jun-2012 Arve Hjønnevåg <arve@android.com> Add watchdogd

"/sbin/watchdogd <interval> <margin>" will open /dev/watchdog, try
to set the timeout to <interval>+<margin> then write to it every
<interval> seconds to reset the watchdog.

Change-Id: I15571980cdb868ec19f20e80bf8274b32107d36d
/system/core/init/Android.mk
0e9dd90ac336278659477cad0b9e9f1004e2b338 18-Apr-2012 Ken Sumrall <ksumrall@android.com> Change init to use libfs_mgr to mount filesystems.

The new fs_mgr library moves much of the knowledge of what filesystems
to mount into a new fstab.<device> file, and just calls one function to
mount all the filesystems.

Change-Id: If3db37530a0676000cba3e679db27aca734227e5
/system/core/init/Android.mk
08ec39ecc68674c18cd11bc4d75b30309d6d970f 18-Apr-2012 Ken Sumrall <ksumrall@android.com> Change init to use libfs_mgr to mount filesystems.

The new fs_mgr library moves much of the knowledge of what filesystems
to mount into a new fstab.<device> file, and just calls one function to
mount all the filesystems.

Change-Id: If3db37530a0676000cba3e679db27aca734227e5
/system/core/init/Android.mk
6439693effbec06c6effcbd9b5acd405ccbeccb3 24-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am 3b04bde9: am ee79b455: am 93553073: Merge "Extend init and ueventd for SE Android."

* commit '3b04bde991d57765a830e06c6f5bb094722583bd':
Extend init and ueventd for SE Android.
e46f9d510db9351682cf17c49115110870147335 13-Jan-2012 Stephen Smalley <sds@tycho.nsa.gov> Extend init and ueventd for SE Android.

Add SE Android support for init and ueventd.

init:
- Load policy at boot.
- Set the security context for service daemons and their sockets.
- New built-in commands: setcon, setenforce, restorecon, setsebool.
- New option for services: seclabel.

ueventd:
- Set the security context for device directories and nodes.

Change-Id: I98ed752cde503c94d99dfa5b5a47e3c33db16aac
/system/core/init/Android.mk
0dbda7e1c5bcebc501b4943cd6483122297e1834 18-Jan-2012 Nick Kralevich <nnk@google.com> Don't read /data/local.prop on user builds

Creating a root owned /data/local.prop is one of the most common
ways to root an Android device. /data/local.prop is only intended
to assist developers on debuggable devices, and is never
intended to be used on production devices.

Change-Id: Ifcfa21c2ee9914b0b54445218b4cf0fea0a98e9c
/system/core/init/Android.mk
33680b106dcb7025de0c37340869e32db61ad190 22-Apr-2010 Colin Cross <ccross@android.com> init: Use a relative symlink for ueventd to init

make doesn't seem to handle the absolute symlink from
$OUT/root/sbin/ueventd to /init well - it follows the link during
dependency resolution, decides $OUT/root/sbin/ueventd doesn't exist
because /init doesn't exist, and relinks it every time.

Change-Id: I9ca1c14fe5fa80634f51ffc51a7c73146d29d42e
/system/core/init/Android.mk
44b65d047cc39baf30e21bfd8dd438f6bc1f77f5 20-Apr-2010 Colin Cross <ccross@android.com> init: Add ueventd.rc parsing to ueventd

Change-Id: Iea53050d6c10e8cabf563e5d80e84eaf78873695
/system/core/init/Android.mk
f83d0b9af5cbe4440cc41ceaa8a7806a13c86282 21-Apr-2010 Colin Cross <ccross@android.com> init: Move uevent handling to an external ueventd process

Change-Id: Iea6c56013062ade633a1754f7bcf8cf09b3dedc1
/system/core/init/Android.mk
6310a8261c922533a692fb3e74ece2da98d4bafa 20-Apr-2010 Colin Cross <ccross@android.com> init: Split parser into generic parser and init parser

Change-Id: I451ebc4ff12f2ac660eb533fa10ad561fa25c9dd
/system/core/init/Android.mk
9c5366ba55b1553b2d66f48e3d14fbd274a2944d 14-Apr-2010 Colin Cross <ccross@android.com> init: Move signal handling to signal_handler.c

Change-Id: I3a24afa28a1cd279c749d6f384f687b8de56067e
/system/core/init/Android.mk
a866695ebe3a396a0ec411c0f99e0921c74c0fd2 14-Apr-2010 Colin Cross <ccross@android.com> init: Move keychords to keychords.c

Change-Id: I8fba9f5f73439a451fc961f8111612dff4fb5dfd
/system/core/init/Android.mk
dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/init/Android.mk
e54eebbf1a908d65ee8cf80bab62821c05666d70 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/init/Android.mk
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/system/core/init/Android.mk