| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keeping these means that every build has different init and debuggerd
binaries, even if the source was the same. So OTAs that don't touch
these sources would still need to update the binaries.
Both of these messages are only informational, so can be safely removed.
Bootchart already encodes build-specific information from the system
properties.
Bug: 24204119
Change-Id: I7ebd65a20a3e031e7528c9f741616e20b3cd7446
(cherry picked from commit 30622bbb209db187f6851e4cf0cdaa147c2fca9f)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Triggers of the form on property:a=b && property:b=c are only
triggered on the transition of a->b (given that b=c), but not on the
transition of b->c (given that a=b).
This commit allows both transitions to trigger the property as expected
Bug 23631258
Change-Id: I9f70b4cbf36f8a99d10c37ad049ae8ceb378d610
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
(cherry-picked from commit b94032b79c3cded501e2d5f7c328cf8c0c3911c4)
Bug: 19704432
Change-Id: Ife4928ffbee39c8ae69e6ba66d9ce5ef5a0beb76
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
File level encryption must get the key between mounting userdata and
calling post_fs_data when the directories are created. This requires
access to keymaster, which in turn is found from a system property.
Split property loaded into system and data, and load in right order.
Bug: 22233063
|
| |
| |
| |
| |
| |
| | |
This reverts commit d815178b7512cb44d8b5f234e3f823b5a3e44dea.
Change-Id: I7e3f55d3092fcd04ea9f62f1971c9d42570f096c
|
|/
|
|
|
|
|
|
|
|
|
| |
File level encryption must get the key between mounting userdata and
calling post_fs_data when the directories are created. This requires
access to keymaster, which in turn is found from a system property.
Split property loaded into system and data, and load in right order.
Bug: 22233063
Change-Id: I8a6c40d44e17de386417a443c9dfc3b4e7fe59a5
|
|
|
|
|
|
|
|
|
|
| |
This adds the "writepid" option that instructs init to write the child's
pid to the given filenames (such as /dev/cpuctl/bg_non_interactive/cgroup.procs
and/or /dev/cpuset/foreground/cgroup.procs).
Bug: http://b/21163745
Change-Id: I121bb22aa208bc99c4fb334eb552fdd5bcc47c1a
(cherry picked from commit d62f0608d9d67bf647cf15debbd163e84584fe44)
|
|
|
|
|
|
|
|
|
|
|
| |
This new property is used as a control verb for running a recursive
restorecon at the path contained in the property value.
Shifts both SELinux actions to occur before the actual property set
occurs, so setters can watch for completion.
Bug: 21121357
Change-Id: I3db3eb876ae66e144b3bfd648349b66a028511fd
|
|
|
|
|
|
|
|
| |
(cherry pick from commit 17fff893c04971b519d25d52b07f51111353cba5)
Allow SECLABEL to be - to denote default
Change-Id: I58cdc6c805dc6e50dc42b7e13e72d0eaf4864f11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(chery-picked from commit 806d10be2336f32cdca16c2540cbf3d548f2fec7)
Move all key management into vold
Reuse vold's existing key management through the crypto footer
to manage the device wide keys.
Use ro.crypto.type flag to determine crypto type, which prevents
any issues when running in block encrypted mode, as well as speeding
up boot in block or no encryption.
This is one of four changes to enable this functionality:
https://android-review.googlesource.com/#/c/148586/
https://android-review.googlesource.com/#/c/148604/
https://android-review.googlesource.com/#/c/148606/
https://android-review.googlesource.com/#/c/148607/
Bug: 18151196
Change-Id: I6a8a18f43ae837e330e2785bd26c2c306ae1816b
|
|
|
|
|
|
| |
Bug: http://b/20501816
Change-Id: I1839b48ee4f891b8431ecb809e37a4566a5b3e50
(cherry picked from commit 47b0134ec2b5e8c8b5b5671cd4a3e41261275532)
|
|
|
|
|
|
|
|
|
|
| |
As 1s timeout can be requested, using second resolution time to check
for timeout prevent from being accurate on the actual time we wait.
Use available gettime_ns instead.
Bug: 21374269
Change-Id: I8be1b69e02beacc7196427f97855e036addf54d1
Signed-off-by: Thierry Strudel <tstrudel@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
5s was already a ridiculously long time to delay booting, and some OEMs are
trying to make it even more insane:
https://www.codeaurora.org/cgit/quic/la/platform/system/core/commit/?h=lp&id=fd23edd48272976d2fb333f377242173f92aa343
Let's at least ensure that Nexus and Android One devices don't take forever
to boot...
Bug: http://b/19899875
Change-Id: I9680c166a759360f34118e51cd0645e12b6bd5c8
(cherry picked from commit c7331d02d1c6b1e51b3a1210506f38fd61819495)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
read_file() used to append a new line character to the end of the buffer it
returns, because parse_config() isn't able to cope with input that's not
'\n'-terminated. Fix read_file() to be less insane, and push the workarounds
into the parse_config() callers.
Longer term we should rewrite parse_config().
Bug: http://b/21079470
Change-Id: Ie9d9a7adcd33b66621726aef20c4b8cc51c08be7
(cherry picked from commit eaa3b4ec6f79fe06163b8dd6fe8ba2581d3b9c0b)
|
|
|
|
|
|
|
|
|
|
|
| |
Useful for dynamic kernel module location.
This permits to use init rule like:
insmod ${persist.modules.location}/<module_name>
Change-Id: If7479bdcb4e69ea7666f52a0075c785be025c2e9
Signed-off-by: Emmanuel Berthier <emmanuel.berthier@intel.com>
(cherry picked from commit ac41230cbc10bae95a049282238adb03605579c2)
|
|
|
|
| |
Change-Id: I9dc1f325e353375d9c1c8ed949636e2404601076
|
|
|
|
|
|
| |
merged with default.prop
Change-Id: I18fcd37ddc63e3607278d0741181d0779118132d
|
|\
| |
| |
| |
| | |
* commit 'ecf184c901b78994773d687763c1478752e9375e':
init: get rid of the remaining double mounts
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't double mount /dev and its subdirectories anymore. Instead, the
first stage init is solely responsible for mounting it.
Don't have init prepare the property space. This is the responsibility
of the second stage init.
Don't have SELinux use the property space to determine how we should
be running. Instead, create a new function and extract the data we
need directly from /proc/cmdline. SELinux needs this information in
the first stage init process where the property service isn't available.
Change-Id: I5b4f3bec79463a7381a68f30bdda78b5cc122a96
|
|\ \
| |/
| |
| |
| | |
* commit '45a49d0eb7e2e9fc3d2c48884c84f6a6c7397720':
init: use SELinux /dev/null if available
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
SELinux provides it's own /dev/null character device at
/sys/fs/selinux/null. This character device is exactly the same
as /dev/null, including the same major/minor numbers, and can
be used wherever /dev/null is used.
Use /sys/fs/selinux/null instead of trying to create our own
/dev/__null__ device. This moves us one step closer to eliminating
all uses of mknod() by init.
/sys/fs/selinux/null is only available once the /sys/fs/selinux filesystem
is mounted. It's not available to the first stage init, so we
still have to fall back to mknod then.
Change-Id: Ic733767ea6220a130537de33cc478ae79578ce20
|
|\ \
| |/
| |
| |
| | |
* commit 'b31c3a5a453cd9f472698068af9909e80a96ab2c':
init: don't double mount /proc and /sys
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The first stage init mounts /proc and /sys, and then the second
stage init also mounts /proc and /sys on top of the existing mount.
Only mount these two directories once, in the first stage init.
Not yet fixed: the double mounting of /dev. Removing the double
mounting doesn't work right now because both init stages are trying
to create a property space, and if the double mount of /dev goes away,
the property service in the second stage init fails to work.
Change-Id: I13719027a47526d074390c2b1a605ad99fb43a8f
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* commit '6b6df1733711ace006e0f4f9d44c718f85d2f70d':
init: fix write_file checkreqprot logic error
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
write_file() returned -errno on error, not -1. Callers who check for
-1 would falsely believe that the write was successful when it wasn't.
Fixup write_file so that it return -1 on error consistent
with other functions.
Change-Id: Ic51aaf8678d8d97b2606bd171f11b3b11f642e39
|
|\ \
| |/
| |
| |
| | |
* commit 'ecfb3664fea6cbe39d94459ceb06a91f57006820':
init: remove mkdir /dev /proc /sys
|
| |
| |
| |
| |
| |
| |
| | |
These directories are already present in the initial ramdisk, and
these mkdir calls are no-ops.
Change-Id: I528f9e96a3471de904845a2f9e09c1b6ff83a708
|
|\ \
| |/
| |
| |
| | |
* commit 'ae3154e3968e991fb1e9a6b47bedd1e0819f7925':
Switch init to epoll.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Not just because it's what the cool kids are doing --- it also lets us
simplify the inner loop and decouple it from whatever systems want to
be woken to perform some activity if there's data to be read on some fd.
Currently this is just used to clean up the existing signal handling,
keychord, and property service code.
Change-Id: I4d7541a2c4386957ad877df69e3be08b96a7dec5
|
|\ \
| |/
| |
| |
| | |
* commit '0a4f0be2aaf697ca4b0938b31fc19bb007e87d0d':
Clean up property service initialization.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All the code that was being delayed does is create a socket. We can
do that straight away, avoid the overhead, and simplify our main loop.
The keychord fd, on the other hand, seems a little tricky. It looks
like /dev/keychord isn't immediately available, at least not on N9;
we have to wait for ueventd to set us up the bomb.
Change-Id: I020e75b8e4b233497707f0a3cbbb6038b714161f
|
|\ \
| |/
| |
| |
| | |
* commit 'd503cc21ec663b39e8d84feb373d3a287bb02d63':
Clean up init signal handling a little.
|
| |
| |
| |
| |
| |
| |
| | |
We can set it up earlier, and error reporting like this helped me find
the SELinux problem with the last change to this code.
Change-Id: If0f38bc5ff0465c4030e2d39d34f31f49b2d8487
|
|\ \
| |/
| |
| |
| | |
* commit 'bdf133de65a1fbb2d5e91fcd854d9824bcff4ea1':
Setup signal handler before any exec command
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes init deadlock when an exec command was called
in an on-init section.
The exec command handling relies on that the signal handler
mechanism is working to know when to continue executing
commands.
Change-Id: Ib0ce75ffad7cf3bf926c93d0506b2fe3e5a92630
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
\'setcon\' command."""
* commit 'e6433c12456324812a9ea791da3bf462ee2476d7':
Revert "Revert "Remove now-unusable 'setcon' command.""
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit b862bd00a4192d48c3ae82156d8c35b32283e9e4.
This change was fine but an earlier change it depended on was broken.
That change has been fixed and resubmitted.
Bug: http://b/19702273
Change-Id: I17e565721026e48e2a73526f729f2481d4d6edb5
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
for its SELinux domain transition."""
* commit 'ec389902980c88956ab8e3e630e3503cbb22d39b':
Revert "Revert "Make init re-exec itself for its SELinux domain transition.""
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 4217374611ada50f33aee544f015f6f9dfbf7ced.
It turns out that the kernel passes any unrecognized arguments on to init,
and (at least) N6 and N9 have such arguments. My lazy check of argc was
thus insufficient to recognize what stage of init we were in, so we'd
skip to stage 2 and not set up SELinux. And apparently you can get a
very long way with SELinux off... We'll fix that in a later change.
Bug: 19702273
Change-Id: I43b3fb722fed35dd217cb529cbcac9a29aff4e4b
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
find_platform_device"
* commit '92b826357692988407018c5754584ef2da9e390e':
init: consider all platform devices for find_platform_device
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Certain platforms list their platform devices with a path other than
the current /devices or /devices/platform. Additionally, sometimes
these paths are a platform device themselves. An example are devices
with a path /devices/soc.0/... where /devices/soc.0 is also a platform
devices.
Instead of continuing to special case these path prefixes, we can
consider the entire path, given that no mmc or usb devices create
platform devices as subdevices, which they should not by their very
nature.
This keeps the symlinks for block devices named identically for
current platform devices and places them in /dev/block/<full path to
device> for devices in locations other than /devices or
/devices/platform, eg /dev/block/platform/soc.0/7824900.sdhci
This keeps the symlinks for character deviced named identically for
all cases.
Change-Id: Ifc8eedf1086db1826dbc8f7e96cdfcfa5da876b3
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
SELinux domain transition.""
* commit '2db3cd3e5e5957da4cf8429b7bbc9b6d36c934a5':
Revert "Make init re-exec itself for its SELinux domain transition."
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
shamu isn't booting.
This reverts commit adf0d1bbfa4bc560c2106f14afa8258a11c48bf6.
Change-Id: I89d568838cebbe14cc4a8ae3843f0f1ac54987af
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
command.""
* commit 'ac6995690a329fd07d434c7fce417d75b794df48':
Revert "Remove now-unusable 'setcon' command."
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Temporarily revert because device isn't booting.
This reverts commit 7b15ac99f3bfef33c82ea109487c99a77b41ebfb.
Change-Id: Ice986bac62e20c70f7bedf1744a617b97392ae8c
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* commit '301691c258cb7e1901eec835a55f227a5af8e5eb':
Remove now-unusable 'setcon' command.
|
| |/ /
| | |
| | |
| | |
| | | |
Bug: http://b/19702273
Change-Id: Icd340c80ba074476dcc63f1c1dd5c61a5c768893
|