Commit graph

995 commits

Author SHA1 Message Date
Jaesoo Lee
6ed19d1675 disable module loading after BOOT_COMPLETED broadcast
This CL disables module loading by writing 1 to
/proc/sys/kernel/modules_disabled when the property sys.boot_completed
is set to 1 by ActivityManagerService (at the broadcast of
PHASE_BOOT_COMPLETED).

Bug: 36515654
Test: tested on sailfish and verified that module loading is disabled in
userdebug and enabled in eng mode
Change-Id: Id38d34a6395966ab21e440614337c0cfca791ad0
2017-04-11 10:22:47 +09:00
Janis Danisevskis
1ad8d21947 Move early_hal start to late-fs trigger action
The class early_hal is essentially for the keymaster hal which needs
to be up before vold tries to unlock a storage encryption key (FDE or
FBE). The current position is too early in the boot process, because
on devices with legacy HAL the wrapper service uses system properties
to find the legacy HAL.

This patch moves the start of the early_hal class to the late-fs trigger
action which runs right after the system property action.

Test: Manually tested and update tested on bullhead, sailfish, and
      another device.
Bug: 35764921

Change-Id: I34b45b85f8450e9ef18861535fdb2ee963df8c9b
2017-04-07 02:30:18 +00:00
Steven Moreland
38b5735987 init.rc: add class_start early_hal
This class is used to start hals which are required in order to mount
data (for instance keymaster).

Test: works to start early_hal in internal
Bug: 36278706
Change-Id: If06908135e59b187683d8cf4cc4a00b490559081
(cherry picked from commit 5d56bad4bd)
2017-04-04 15:35:05 -07:00
Tom Cherry
aaeb792312 init.rc: launch update_verifier with exec_start
This allows update_verifier to raise it's priority and ioprio.

Bug: 36511808
Bug: 36102163
Test: Boot bullhead
Test: Verify boottime decrease on sailfish
Change-Id: I5710c6a98dc7acee9063d1fa1d1c80668f0f1528
(cherry picked from commit 1e2d8c7fce)
2017-03-29 13:37:54 -07:00
Steven Moreland
da48f4938a Merge "Revert "Revert "Start hwservicemanager earlier.""" am: ca622b4e78 am: e326cb121e
am: 352b3d737c

Change-Id: I7cb77ed1a7e4d7d8cee945a1ddee0c448f350452
2017-03-27 17:37:30 +00:00
Steven Moreland
d627502bb0 Revert "Revert "Start hwservicemanager earlier.""
This reverts commit 5011270225.

Now starting even earlier.

Reason for revert: Needed change, reverted b/c broken device.

Bug: 36278706
Test: original DOA device boots
Test: angler, bullhead, fugu, marlin, ryu
Test: all these devices boot with wipe
Test: all these devices boot with w/o wipe
Test: lshal shows all included services

Change-Id: Ic639aedf7834b1bd3a26d23d109727f5559317e9
2017-03-24 20:52:44 -07:00
Thierry Strudel
7d84086639 Merge "Revert "Start hwservicemanager earlier."" am: 3ba313597d am: 263cf5c8d9
am: ea6de14c5e

Change-Id: Ia0b57d328df2fc47e7f5dee35930e43bb514c4f5
2017-03-24 14:42:14 +00:00
Thierry Strudel
3ba313597d Merge "Revert "Start hwservicemanager earlier."" 2017-03-24 14:33:18 +00:00
Steven Moreland
5011270225 Revert "Start hwservicemanager earlier."
This reverts commit 9e36331174.

Reason for revert: a DOA device

Bug: 36546734

Change-Id: I0456247d362fe43b8c37623d04432eb494f68f68
2017-03-24 06:05:41 +00:00
Jeff Vander Stoep
5659c9cf1d Merge "Create dir in /data for vendor customization" am: c39a31f002 am: bfc4da8369
am: bc4d384d49

Change-Id: Ic14d961fb28c1cbad6a2082a321a679580a69d2c
2017-03-23 19:48:45 +00:00
Treehugger Robot
c39a31f002 Merge "Create dir in /data for vendor customization" 2017-03-23 19:36:52 +00:00
Jeff Vander Stoep
61efb0dab8 Create dir in /data for vendor customization
Vendor owns /data/vendor.

HAL data must go in /data/vendor/hardware/.

Bug: 34980020
Test: build and boot AOSP Marlin. Observe /data/vendor and
      /data/vendor/hardware exist and are empty.
Change-Id: I6fe96e3c76a10a5eb480ba10e10d4d006de56c12
2017-03-23 10:30:34 -07:00
Steven Moreland
2b9a3391d0 Merge "Start hwservicemanager earlier." am: fcd509298d am: 0a85db775e
am: 6c546660d9

Change-Id: Ifd4e04fef289f8ece3884434efa1a3c6d47890fa
2017-03-23 03:53:01 +00:00
Treehugger Robot
fcd509298d Merge "Start hwservicemanager earlier." 2017-03-23 03:39:40 +00:00
Steven Moreland
9e36331174 Start hwservicemanager earlier.
Also start hals where hwservicemanager was started before.

Bug: 36278706
Test: internal marlin+angler boots
Change-Id: Ia55d2ef747fcbd086a09e1bb856824b14343118b
2017-03-22 11:19:31 -07:00
Wei Wang
33a55b3d52 init.rc: remove bg_non_interactive cgroup am: a27a91a5fd am: 20943abad0
am: 7d4d63ca18

Change-Id: I5c1d3a860c64dae63be5edcc91734805863d6f85
2017-03-22 00:34:33 +00:00
Wei Wang
a27a91a5fd init.rc: remove bg_non_interactive cgroup
We have seen cases when threads in this cgroup not scheduled for more than
a few seconds in heavy workload situation and causing device freeze.
In Linux, multiple threads placed in ROOT cgroup cause the CPU resource to
be split per thread, rather than per group.
Currently we have many threads in ROOT cgroup, which makes threads in
bg_non_interactive cgroup to have "tiny" CPU resource other than 5%
quota defined.

Bug: 34193533
Test: on marlin
Change-Id: I7721f6196560fbedf6265e8b6db130cec9edefd7
2017-03-20 22:13:07 -07:00
David Lin
a44f638a01 Merge "init.rc: enable ledtrig-transient support for vibrator" am: 75b66a6f2a am: 64af4183a1
am: f357e1989a

Change-Id: I98daea756aceeaeaca099bfb6dd668c68c58a8dd
2017-03-11 01:35:24 +00:00
Treehugger Robot
75b66a6f2a Merge "init.rc: enable ledtrig-transient support for vibrator" 2017-03-11 01:23:18 +00:00
Wei Wang
8c1e3292a8 Merge "init.rc: make sure netd start after post-fs-data" am: f58280e7dc am: 449b59873f
am: 07ace62093

Change-Id: I68103aafa9a23e0bf177d91544e4fbd743d222e4
2017-03-09 23:56:30 +00:00
Wei Wang
bae9ba3402 init.rc: make sure netd start after post-fs-data
Current init doesn't order the triggeres it scaned, and there is no
guarantee that general event trigger exec first and then event+property
triggers.

This CL will make sure netd started after post-fs-data trigger is done.

Bug: 35110957
Test: marlin boots
Change-Id: I7bb55af4e00f336682388abfa8a06eac2136b7d4
2017-03-09 13:53:39 -08:00
David Lin
27b2c1e678 init.rc: enable ledtrig-transient support for vibrator
This change makes the init process to always attempts to enable
transient trigger for vibrator. This allows the exported properties to
change the ownership later at the on boot stage.

Test: device vibrates with the driver supports ledtrig-transient

Change-Id: If5eb7b7feaefe803f2ead634fbe4fc7b48da84ea
Signed-off-by: David Lin <dtwlin@google.com>
2017-03-09 18:42:33 +00:00
Wei Wang
36baabf07b Merge "init.rc: start netd and zygote early for file based encryption devices" am: 4bf2bc078f am: 1a65e43878
am: 3b272c7bf8

Change-Id: Ie44f4fd8a04b1fa1d0a5c6f7e01410246589c9d9
2017-03-09 06:24:27 +00:00
Wei Wang
7f32aa4d04 init.rc: start netd and zygote early for file based encryption devices
Bug: 35110957
Test: marlin boots
Change-Id: Ibe4c413e41fcf25a68b50d99ee66d9b70706a6a1
2017-03-08 14:48:53 -08:00
Wei Wang
43a356d213 Merge "init.rc: add a new zygote-start trigger" am: 4e5e797d26 am: 0d9416ba2e
am: 2980bc1139

Change-Id: I56e6907db4063f6b527be710b00de9200aa8914a
2017-03-08 22:28:24 +00:00
Treehugger Robot
4e5e797d26 Merge "init.rc: add a new zygote-start trigger" 2017-03-08 22:18:11 +00:00
Wei Wang
a2058036ed init.rc: add a new zygote-start trigger
Bug: 35110957
Test: marlin boots
Change-Id: I12b41588371486e79938df2f7a2152cda18530d1
2017-03-08 12:39:41 -08:00
David Lin
ae31fd48b0 Merge "init.rc: remove duplicated chown entry for timed_output" am: e88882e16e am: 9c23fcbcd9
am: 197b3f736c

Change-Id: I4a87933290c31305b03fbcaa5c719503d8928b32
2017-03-08 18:50:09 +00:00
David Lin
489450abe3 init.rc: remove duplicated chown entry for timed_output
Test: build

Change-Id: Ib15be4188cdce270a15bd90304be0704d9e54cbf
Signed-off-by: David Lin <dtwlin@google.com>
2017-03-07 21:31:42 -08:00
Ryan Campbell
a4f5d12b71 Merge "Add global GCOV_PREFIX option." am: df0f792a9e am: 2d3378350a
am: 11339c7e34

Change-Id: I10d53220ea5e433ae0f027bf21750a239a588e9c
2017-02-28 23:37:10 +00:00
Ryan Campbell
0b36473272 Add global GCOV_PREFIX option.
When native coverage is enabled, add a global GCOV_PREFIX
environment variable specifying that gcda files be output
with path prefix /data/local/tmp.

Bug: 35635587
Test: make NATIVE_COVERAGE=true; check init.environ.rc
Change-Id: I40972aea3ca3168d0687bdc93e9d4b7b3a1071b9
2017-02-27 15:00:18 -08:00
Todd Poynor
1cf50050e6 Merge "init.rc: create /data/misc/reboot for storing reboot reason" am: e499403bf4 am: 4dbefe4d4c am: 23b31ba7e3
am: 0561551951

Change-Id: I5ea693f7f34903305e34391fcd7d7a7174c2ffd8
2017-02-10 21:43:22 +00:00
Todd Poynor
44ee2b0ef8 init.rc: create /data/misc/reboot for storing reboot reason
Create /data/misc/reboot if not already.

Bug: 30994946
Test: manual: reboot command; modified thermal-engine.conf
Change-Id: I66418beba539f76759b44742af7700f26a2c1f87
2017-02-10 19:26:13 +00:00
Steven Moreland
314bb2faf2 Merge "init.rc, typo: fs-post-data -> post-fs-data" am: 5b202c4376 am: e0ac5d8304 am: 311e4295dc
am: 06e9f5de8c

Change-Id: I1525db8d43c3c27fe7ae1b17dd97a99f28321c13
2017-01-26 00:58:46 +00:00
Steven Moreland
f38aab4621 init.rc, typo: fs-post-data -> post-fs-data
Test: pass
Change-Id: Icafdb7ec61935b35db85096b49e7f232a456f620
2017-01-25 10:52:40 -08:00
Josh Gao
5150a8fb85 Actually don't start tombstoned until /data is mounted. am: 0ad5107e51 am: 1170d8201d am: bf8bd27bb3
am: 32d18e2204

Change-Id: I45fe22d5b83e6399aadc374976986e7f660d9eba
2017-01-24 02:51:34 +00:00
Josh Gao
0ad5107e51 Actually don't start tombstoned until /data is mounted.
Bug: http://b/34461270
Test: boot is actually faster
Test: tombstoned still started by init
Change-Id: I4976abef108bbb6fad264f9b68cbc1fba711085b
2017-01-23 16:01:14 -08:00
Josh Gao
8c98938853 Merge "init: don't start tombstoned until /data is mounted." am: b479a5002e am: f83489c02c am: d7db8378d0
am: 5d6ea5a9bd

Change-Id: I5ad79b54f9f42e6b04d81ca8123e5b41b03e92fb
2017-01-20 22:27:44 +00:00
Treehugger Robot
b479a5002e Merge "init: don't start tombstoned until /data is mounted." 2017-01-20 22:13:38 +00:00
Josh Gao
42a0fed78b init: don't start tombstoned until /data is mounted.
When vold mounts the encrypted /data partition, it first checks for and
kills processes that have open fds to the tmpfs placeholder at /data.
This resulted in a 20 second boot-time regression (vold's timeout period)
when tombstoned was started before vold.

Bug: http://b/34461270
Test: boot is faster, no messages from vold in console spew
Test: tombstoned still started by init
Change-Id: Ib5e9ddb05f40c9da852f00e103861c6ff2d94888
2017-01-20 13:18:51 -08:00
Dave Weinstein
4b499a1b13 Merge "Move the kptr_restrict setting from init.rc to init.cpp." am: c734a0a9ee am: 776978788b am: 7e79a571fd
am: a69b7ea3a4

Change-Id: Iabde07f1c50e62b5394386f5718ae5a3d40e7c3b
2017-01-20 20:34:40 +00:00
Dave Weinstein
44f7e4f421 Move the kptr_restrict setting from init.rc to init.cpp.
Also ensure that it uses the highest supported value, and
abort if the value is not above a minimum threshold.

Test: Tested against the curent kernel (maximum value of 2,
      set to 0 by the kernel initially) and against a
      modified kernel (maximum value of 4, set to 4 by the
      kernel initially)

Bug: 30368199
Change-Id: I608db577258b68b390ffe96f452e1f7c0bc9ad8a
2017-01-20 09:40:43 -08:00
Paul Lawrence
8cf0eba307 Merge "Set right attributes on tracing folder" am: 5d8bf9e6e2 am: f014e41731 am: 36eeceec84
am: 87b62dc44c

Change-Id: Ie1eeaf4d1e0dc63c80262376720abe96684a2590
2017-01-12 01:52:03 +00:00
Paul Lawrence
3d8ade3f24 Set right attributes on tracing folder
Since splitting tracefs out from debugfs, we now need to set the
attributes explicitly on tracing folder.

Test: Run adb shell atrace -c -b 16000 -t 5 gfx
Bug: 34197733
Change-Id: If2a962332b6d1ec227e289bdf952213756e26186
2017-01-11 15:51:25 -08:00
Elliott Hughes
b0aea04065 Merge "Improve init bootcharting." am: 4ee7861ee1 am: a6532b4717 am: 1a947725b8
am: 352b9c6282

Change-Id: I58b258cbf13bdcc874bcce35d4bb07378a8a1864
2016-12-16 18:03:12 +00:00
Elliott Hughes
4ee7861ee1 Merge "Improve init bootcharting." 2016-12-16 17:32:27 +00:00
Sandeep Patil
9b2e207099 Merge "socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE" am: 0a2080bced am: 571e246983 am: c345388bea
am: e432dc58c1

Change-Id: Iab5bafe3e156dfb2fc75634c8d25b5f67991915e
2016-12-14 19:54:35 +00:00
Sandeep Patil
5fee496e62 socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE
The SO_RCVBUFFORCE option requires the caller of uevent_create_socket()
to have net_admin capabilities.

Set platform default rcv/snd buffer sizes to 256kb that will always be
overridden by the device/target. However, it will allow
ueventd / healthd to use the uevent_create_socket() API w/o requiring
the net_admin capability.

Note: All devices override the buffer sizes according to the technology
maximum to at least ~8MB. So, the init.rc change here is to make sure
platform code can work w/o any overrides.

Test: no SELinux failures for healthd with 'net_admin' removed.

Bug: https://b/32733887

Change-Id: Ida346468cd550ad07901bf3a78ad508939849906
Signed-off-by: Sandeep Patil <sspatil@google.com>
2016-12-09 15:16:28 -08:00
Elliott Hughes
a3641af22f Improve init bootcharting.
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
2016-12-08 17:35:45 -08:00
Nick Kralevich
107b8ec454 Merge "change /data/bugreports to /bugreports" am: 1b2e6abf3b am: 5fae86b5fa am: cb9fbb4cf6
am: c3f9d38a4c

Change-Id: Ie10d1db864543ad6cc8695267344453599408c52
2016-11-23 00:19:04 +00:00