Commit Graph

2859 Commits

Author SHA1 Message Date
Youkichi Hosoi 63fdd1ba24 ueventd: Fix property variable for ro.hardware in ueventd.rc
Property variables should be written ${x.y} to be expanded.

Bug: 175645356
Test: The property ro.hardware is expanded properly.
Change-Id: Idf7ff7ecc002e6e4de4ccef70e89dcc1c10e63d0
2020-12-16 15:54:15 +09:00
John Stultz efb6e07e0a ueventd.rc: Add /dev/dma_heap/system-uncached permissions
Add permissions for dev/dma_heap/system-uncached dmabuf heap.

This should match the dmabuf system heap.

Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I9253d56c72d45e228539f709e76ba0862ae03d96
2020-12-14 23:29:55 +00:00
John Stultz dc01a02a1a ueventd.rc: Reduce permissions for /dev/dma_heap/system to 444
Jeffrey Vander Stoep noted the permissions for the system dmabuf
heap should be 444 instead of 666, as we only need to open and
call ioctl on the device.

Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I650c9fabfffd1eac5f59bbc7fa1e0ae1f5646bd9
2020-12-14 23:29:35 +00:00
Elliott Hughes 21de4e727e Add new owners to various sub-projects.
Test: treehugger
Change-Id: Ia2a99c0499633ccc5d23c37a1ec93867c876d637
2020-12-11 12:45:45 -08:00
Treehugger Robot 24adfede52 Merge "Add execute permission to /data/app-staging folder" 2020-12-10 17:04:42 +00:00
Mohammad Samiul Islam 64fe2c66e2 Add execute permission to /data/app-staging folder
Package verifiers (e.g, phonesky) needs to access the folders inside
/data/app-staging to be able to verify them. Without the execute
permission on app-staging folder, it cannot stat any of the sub-dirs
inside app-staging.

This also aligns with permission of /data/app folder.

Bug: 175163376
Test: manual
Test: installed a staged session and observed that Phonesky did not log
about not finding the apks in /data/app-staging folder

Change-Id: I9774ed800da9f15401d3cee653142a37bf54ef4a
2020-12-09 21:05:28 +00:00
Tom Cherry 5b271797de ueventd: add the import option from the init parser
Vendors have an interest in importing ueventd files based on certain
property values.  Instead of baking this logic in the ueventd binary,
add the import option from the init parser to the ueventd parser, to
allow vendors to expand as needed.

Test: imported files are parsed
Change-Id: I674987fd48f3218e4703528c6d905b1afb5fb366
2020-12-08 13:21:26 -08:00
Martijn Coenen cd91f86618 Merge "Split fsverity_init in two phases." 2020-12-07 13:55:48 +00:00
Treehugger Robot f38f0fdd2d Merge "Adding 'postinstall' root dir unconditionally." 2020-12-05 01:15:47 +00:00
Bowgo Tsai 2e228936f4 Adding 'postinstall' root dir unconditionally.
It is required to pass update_engine_unittests in GSI
compliance test. And it's clean to just add this mount
dir unconditionally.

Bug: 172696594
Test: `m init.environ.rc` and checks that $OUT/root/postinstall exists
Change-Id: Ib340a78af442ea66c45cecb373a9eb3c428f8dda
2020-12-04 17:07:26 +08:00
Kiyoung Kim 2f3e936f72 Merge "Use bootstrap linkerconfig from early init" 2020-12-04 01:00:33 +00:00
Wei Wang 673b6d47bc Merge changes I13c9660a,I41745e7b,I0e6722b8
* changes:
  init.rc: correct the obsolete comment
  Add system-background cpu group
  init.rc: create camera-deamon stune cgroup
2020-12-03 18:57:25 +00:00
Treehugger Robot 0029d3f6c0 Merge "Follow vdc naming convention: earlyBootEnded" 2020-12-02 07:49:38 +00:00
Wei Wang aed52ef138 init.rc: correct the obsolete comment
system-background cpuset is mapped in tasks_profiles.json.

Bug: 170507876
Test: Build
Change-Id: I13c9660a1288e22382ced4dd31f079f31bf7c8dc
2020-12-01 19:46:02 -08:00
Wei Wang ab87979a00 Add system-background cpu group
Add system-background cgroup hierarchy for uclamp and cpu bandwidth
tuning.

Bug: 170507876
Bug: 171740453
Test: boot and check cgroup
Change-Id: I41745e7b3ac5c1d7ea7dd77f5db39c6895047446
2020-12-01 19:46:02 -08:00
Wei Wang 6a28572648 init.rc: create camera-deamon stune cgroup
camera-daemon is referred in task-profiles.json so the hierarchy should
be created in aosp's init.rc.

Bug: 170507876
Bug: 171740453
Test: boot and check cgroup
Change-Id: I0e6722b88922abf4ccae3b19623d8b889a6e3cb6
2020-12-01 19:46:02 -08:00
Wei Wang 84719713c7 Merge "rootdir/init.rc: Create camera-daemon groups" 2020-12-02 03:38:01 +00:00
Kiyoung Kim 03b9bcabff Use bootstrap linkerconfig from early init
Linkerconfig will be moved into Runtime APEX, so
/system/bin/linkerconfig would not be available before APEX is mounted.
Use bootstrap linkerconfig instead during early init.

Bug: 165769179
Test: Cuttlefish boot succeeded
Change-Id: Iae41f325bbd5f5194aaf4613141860f913dfbff1
2020-12-02 11:41:06 +09:00
Paul Crowley 3fe1a8c76c Follow vdc naming convention: earlyBootEnded
vdc commands use camelCase, not kebab-case.

Test: EarlyBootKeyTest.CannotCreateEarlyBootKeys
Change-Id: I5bcc9c435c848f5054e81ffaf87ae32577548570
2020-12-01 14:37:48 -08:00
Martijn Coenen 3b68bf2d34 Split fsverity_init in two phases.
First load the verified keys, and then only lock the keyring after apexd
has run. This is in preperation for on-device signing, which will need
to add another key to the fs-verity keyring before it's locked.

Note that I've moved loading of the verified keys up a bit; fsverity_init
used to load keys from Keymaster, but it currently doesn't, so there's
no need to wait for it.

Bug: 165630556
Test: boot, cat /proc/keys
Change-Id: I077673575ae3dafcf3126d8c544fe7f8d34c0225
2020-12-01 14:39:22 +00:00
Rick Yiu a983f8ab1e rootdir/init.rc: Create camera-daemon groups
In task_profiles.json, camera-daemon is referred for both cpu and
cpuset controller, so create them in init.rc officially.

Test: build pass
Bug: 170507876
Change-Id: I655154ab739ffde6fdfd2d499cbaa974597d3ee7
2020-12-01 15:45:01 +08:00
Kiyoung Kim 344b46a5b3 Remove provide libs from file
Remove provide libs of system image from file, and generate it at build
time instead

Bug: 172889962
Test: Build cuttlefish and confirmed list is generated in
/system/etc/linker.config.pb

Change-Id: I365252dcb2e8735fd8f6345c9ec2c985b0489d64
2020-12-01 10:41:09 +09:00
Rick Yiu 1848e5e69c rootdir/init.rc: Remove duplicated settings
Bug: 170507876
Test: build pass
Change-Id: I2cfa886eb84982f03df9bf0db95dc1aae2117418
2020-11-23 07:29:55 +00:00
Wei Wang 77cb6a0015 init.rc: migrate tasks from root cpu cgroup to a subgroup
Migrate tasks from root group to a subgroup would help us to put soft
cpu bandwidth control correctly. There are few tasks now failed to
migrate due to PF_NO_SETAFFINITY which is the default kernel behavior
which we are not overriding at this moment.

This CL also fixed an issue that most of RT thread lost RT attribute
when kernel with CONFIG_RT_GROUP_SCHED enabled, as the subgroup would be
initialized with 0 RT runtime by default. CONFIG_RT_GROUP_SCHED is not
enabled in GKI kernels but there could be devices with
CONFIG_RT_GROUP_SCHED enabled, so setting some budget for those devices
to make they can still function. OEM can either set proper budget by
themselves or remove CONFIG_RT_GROUP_SCHED completely.

Bug: 171740453
Test: boot and check cgroup
Change-Id: I83babad2751c61d844d03383cb0af09e7513b8e9
2020-11-20 12:59:20 -08:00
Oliver Nguyen 279a719fe6 Merge "Revert "Create a pool of 20 measurement files per library for coverage."" 2020-11-18 07:52:31 +00:00
Martijn Coenen 0de764d716 Merge "Call early-boot-ended from init." 2020-11-18 07:51:31 +00:00
Oliver Nguyen 0c4fb3dd4b Revert "Create a pool of 20 measurement files per library for coverage."
This reverts commit ca54a7b7a6.

Reason for revert: Missing coverage measurements for some tests

Change-Id: I5d5e364eb7ecb5b870cd3d5f529b39d78082c0ea
2020-11-17 19:01:14 +00:00
Yifan Hong 9210ee391d Fix comments.
Test: none
Change-Id: I1f2446ac31d9466ba01cef59079b49815571d6a1
2020-11-16 10:07:16 -08:00
Yifan Hong a1ee8cea9d Merge "Fix AVB key path again." 2020-11-16 18:06:53 +00:00
Yifan Hong 5d83d87ee6 Fix AVB key path again.
If device specifies moving AVB keys to vendor ramdisk, but
doesn't have a dedicated recovery partition, install to
vendor-ramdisk/first_stage_ramdisk.

Test: manual
Bug: 156098440
Change-Id: I05a8731236996dda0d1ab3c09828f7dac46f4ac7
2020-11-13 19:08:43 -08:00
JW Wang 5fc74a490e Create the rollback directories in init (1/n)
/data/rollback-history is used to store deleted rollbacks
for debugging purpose.

Bug: 172644981
Test: Boot device without this, then try to boot with it without wiping.
Change-Id: I79da5190aad455448ccd73fe42abdc79b3649e86
2020-11-13 16:20:00 +08:00
Treehugger Robot 13e33f7f80 Merge "Create a pool of 20 measurement files per library for coverage." 2020-11-12 19:57:36 +00:00
Martijn Coenen afe86cc088 Call early-boot-ended from init.
To make sure it's always called after apexd has run.

Bug: 168585635
Bug: 173005594
Test: inspect logs
Change-Id: Iaff175dea6a658523cdedb8b6894ca23af62bcbf
2020-11-12 11:04:34 +01:00
Oliver Nguyen ca54a7b7a6 Create a pool of 20 measurement files per library for coverage.
Reduces disk space usage for commonly used libraries by merging coverage
data across processes.

Bug: 171338125
Test: Forrest run of coverage tests
Change-Id: I2b9e94871fc5d66971c5b7e725b296bcd721ccf2
2020-11-11 14:55:58 -08:00
Kiyoung Kim f81058343d Merge "List up libraries with system dependency in the configuration file" 2020-11-10 05:49:35 +00:00
Suren Baghdasaryan c6baa19d6c init: Add cpu controller hierarchy to use utilclamp controller
For devices using utilclamp create cpu controller hierarchy. Do not
remove schedtune hierarchy yet because init.rc is generic and should
work with devices which still use schedtune.

Bug: 170507876
Test: cpuctl groups worked
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I8494b0b64336e0c882847d555c262814bef2ffa1
2020-10-29 16:52:18 +00:00
Kiyoung Kim 235ae0d931 List up libraries with system dependency in the configuration file
List up libraries which has dependency with system image in the
configuration file. The list was located in linkerconfig source code,
but this makes dependency between linkerconfig and system image. This
change will remove the dependency.

Bug: 168262631
Test: cuttlefish and crosshatch boot succeeded
Change-Id: Id0abc0070b475d834096a85b90a8e88e535c6171
2020-10-29 14:50:44 +09:00
Woody Lin 45215ae6e5 init/service_parser: Add arguments `window' and `target' for `critical'
The critical services can now using the interface `critical
[window=<fatal crash window mins>] [target=<fatal reboot target>]` to
setup the timing window that when there are more than 4 crashes in it,
the init will regard it as a fatal system error and reboot the system.

Config `window=${zygote.critical_window.minute:-off}' and
`target=zygote-fatal' for all system-server services, so platform that
configures ro.boot.zygote_critical_window can escape the system-server
crash-loop via init fatal handler.

Bug: 146818493
Change-Id: Ib2dc253616be6935ab9ab52184a1b6394665e813
2020-10-26 11:38:01 +08:00
Primiano Tucci 253289fe07 Introduce security.lower_kptr_restrict property
This is to allow the tracing service to temporarily
lower kptr_restrict for the time it takes to build
its internal symbolization map (~200ms), only on
userdebug/eng builds.
kptr_restrict unfortunately cannot be lowered by
the tracing service itself. The main reason for that
is the fact that the kernel enforces a CAP_SYS_ADMIN
capability check at write() time, so the usual pattern
of opening the file in init and passing the FD to the
service won't work.

For more details see the design doc go/perfetto-kallsyms.
Bug: 136133013
Test: perfetto_integrationtests --gtest_filter=PerfettoTest.KernelAddressSymbolization in r.android.com/1454882

Change-Id: Ib2a8c69ed5348cc436223ff5e3eb8fd8df4ab860
2020-10-22 16:18:41 +01:00
Chiachang Wang 7396fed802 Prevent using abstract terms in the property name
In many cases, it's a common practice to use the name of the
domain type of a process or the type of the usage category
instead of using ambiguous terms like sys, system, etc.
Update the property name with net. prefix for better naming to
fit the usage of the system property.

Bug: 170917042
Test: 1. m -j10
      2. Check if /proc/sys/net/ipv4/tcp_default_init_rwnd is
         updated as expected
Change-Id: I0267880d62cc504a419827732780d2db97b2dfef
2020-10-20 19:45:02 +08:00
Yifan Hong 14096bd924 Merge "Move GSI AVB keys to vendor_boot if BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT" 2020-10-20 01:51:11 +00:00
Tom Cherry dd5184f858 Merge "init.rc: create /data/vendor* earlier" 2020-10-19 14:57:43 +00:00
Treehugger Robot ac46ab3c93 Merge "Load boot image props." 2020-10-16 19:23:08 +00:00
Tom Cherry 2c9c8eb5ff init.rc: create /data/vendor* earlier
A recent change moved creating /data/vendor/tombstone earlier than
/data/vendor was created, which would cause /data/vendor/tombstone to
not be created until the second time a device boots, instead of the
first.

This change moves the creation of /data/vendor* earlier, allowing
/data/vendor/tombstone to be created on the first boot.

Bug: 169659307
Test: boot CF for the first time and see /data/vendor/tombstone is
      created
Change-Id: I53ee8fbc282bc533d50756ebb4cc65a5ca582088
2020-10-16 10:39:21 -07:00
Jack Yu b5e565d29b Merge "Create folder to store nfc snoop data" 2020-10-16 07:56:10 +00:00
Yifan Hong a68ee762f7 Load boot image props.
This change does the following:

- Create /second_stage_resources empty dir at root.
- At runtime:
  - At first stage init:
    - mount tmpfs to /second_stage_resources.
    - Copy /system/etc/ramdisk/build.prop to
      /second_stage_resources/system/etc/ramdisk/build.prop
  - At second stage init:
    - Load prop from the above path
    - umount /second_stage_resources

Test: getprop -Z
Test: getprop
Bug: 169169031

Change-Id: I18b16aa5fd42fa44686c858982a17791b2d43489
2020-10-15 13:12:52 -07:00
Yifan Hong f536731e5a Merge "Refactor: Move GSI AVB keys selection logic to common code." 2020-10-14 18:25:31 +00:00
Yifan Hong 762d936911 Move GSI AVB keys to vendor_boot if BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT
If BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT is set, move GSI AVB keys
to vendor_boot. The existence of these keys are device-specific, and
should not exist in the generic boot image.

Test: manual
Bug: 156098440
Change-Id: Iabe002a9f1ecd2fdf109beed98db6edd3f092399
2020-10-12 13:01:14 -07:00
Yifan Hong d65e4851e2 Refactor: Move GSI AVB keys selection logic to common code.
Test: pass
Change-Id: I5ac139ad171432e903c400077f7855d4e4bcf041
2020-10-12 13:01:14 -07:00
Mohammad Islam f99f09eeda Merge "Activate encryption for /data/app-staging folder" 2020-10-05 16:01:59 +00:00