Commit graph

1756 commits

Author SHA1 Message Date
Rob Barnes
da77c2e1dc Change owner of ACPI BERT tables to system
Changes the owner of the following files to system:system:

* /sys/firmware/acpi/tables
* /sys/firmware/acpi/tables/BERT
* /sys/firmware/acpi/tables/data/BERT

This allows the bert_collector deamon to read these files for error reporting.

Bug: 357626966
Test: m && atest bert_collector_test

Change-Id: Iba3a169f1851566ee6fed6d41b538dae448bf811
2024-10-03 13:54:52 +00:00
Maciej Żenczykowski
b4b3950e52 Fix the trigger name for loading bpf programs.
The trigger name should be load-bpf-programs, not load_bpf_programs.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I00cff0a3dd971de39dfc3226b140be972854ea28
2024-09-23 21:34:33 +00:00
Maciej Żenczykowski
3e8f0b53e4 Merge "start netd earlier" into main 2024-09-23 21:16:05 +00:00
Maciej Żenczykowski
e60b760e74 start netd earlier
In this change we're moving the asynchronous netd startup ahead of
the async statd and *synchronous* update_verifier.

This is desirable as we want a netd failure (which could
happen due to some mainline incompatibility wrt. bpf
or mainline shipped shared libs: resolver or netd updatable)
to be considered a signal for a bad boot.

It's still asynchronous though, so it's not ideal.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib3e252f085f569864feddaf20ac80858a3bb969d
2024-09-23 21:15:01 +00:00
Inseob Kim
f5af00e79f Mount /mnt/vm earlier
To support early VM in the init stage.

Bug: 331320802
Test: boot and check /mnt/vm
Change-Id: If6f20a616ad24ae194e6fae292c9be200b63185b
2024-09-13 14:02:10 +09:00
Nick Kralevich
1220d17108 init.rc: Fix entropy pool initialization
Init is responsible for initializing the /dev/[u]random entropy
pool, to ensure that high quality random numbers are available
to all Android processes. Previously Android mixed in data
from /system/etc/prop.default, which included properties which
differed on a device-by-device basis. That file no longer exists,
and init generates the following error at boot:

  init: Command 'copy /system/etc/prop.default /dev/urandom'
  action=init (/system/etc/init/hw/init.rc:106) took 0ms and
  failed: Could not read input file '/system/etc/prop.default':
  open() failed: No such file or directory

Instead of reading a property file, this change modifies init.rc
to read from /proc/bootconfig. The bootconfig file contains
per-device data which was previously on the command line, such
as androidboot.serialno. Additionally, it contains device-class
information such as androidboot.hardware,
androidboot.hardware.platform, and data which frequently churns
such as androidboot.vbmeta.digest. These help ensure that the
random number initialization is at least unique on a per
device-class basis.

Relying on /proc/bootconfig accomplishes the same goal that
relying on /system/etc/prop.default was intended to accomplish.
And /proc/bootconfig is in a more stable location than
/system/etc/prop.default, hopefully preventing future regressions.

Bug: 361624398
Test: Device boots and error above goes away
Change-Id: Id5c891e871217d62ff6517c5804b4acc2d723622
2024-08-23 11:17:41 -07:00
Jooyung Han
148f602f23 init: clean up unused Service[List]::post_data
post_data was used by Userspace Reboot, which was removed.

Bug: 293377020
Test: atest CtsInitTestCases
Change-Id: I1a5bf328f62b8afbe58eef62c64689471e6b018c
2024-08-19 14:30:37 +09:00
Rick Yiu
673e6bb089 Create a new group for foreground of multi-window
In multi-window mode, currently the focused window will be top-app,
and others will be foreground. However, the cpu resource we assign to
typical foreground group may not meet the performance need of those
windows. Therefore, create a new group for them so that we could
distinguish their performance need.

Bug: 200769420
Test: group created
Change-Id: I84c61f9ed4d167e156dafb7a816b6482e80a8523
2024-08-15 01:29:48 +00:00
Jooyung Han
b29f0dcb5b Merge changes I00deb50c,I82650277 into main
* changes:
  Clean up userspace-reboot (#2)
  Clean up userspace-reboot
2024-08-12 00:40:07 +00:00
Jooyung Han
e34549af33 Clean up userspace-reboot
The feature was deprecated last year.

Bug: 292469129
Test: atest CtsInitTestCases
Change-Id: I826502770ab3fa566be57a33829f1103efa893fb
2024-08-09 15:58:53 +09:00
Inseob Kim
b6e4179dab Add /mnt/vm and mount tmpfs onto it for early VM
It will be used as a storage for early boot virtmgr.

Bug: 354059281
Test: boot and check /mnt/vm
Change-Id: I4a0c604161356b631c21913a0f8c3f2d796a3c65
2024-08-09 15:20:18 +09:00
Mike McTernan
b525463558 init: set a new trigger when a vold checkpoint is committed
Add post-fs-data-checkpointed trigger when vold completes checkpointing
after an OTA update.

Bug: 350362101
Test: ABTD
Change-Id: I647a73a942174015b46c5f40bd8f8d3347977ecd
2024-07-19 16:40:23 +00:00
Bart Van Assche
0b2f24ceb1 Merge "Revert "Make foreground and background I/O priority different"" into main 2024-06-11 23:14:34 +00:00
Bart Van Assche
4cb11951e2 Revert "Make foreground and background I/O priority different"
It has been reported that CL "Make foreground and background I/O
priority different" causes Android devices equipped with eMMC storage
to reboot if there is sufficient I/O activity. Hence revert commit
7f3fe0aaf2.

Bug: 186902601
Bug: 342034992
Change-Id: I4fa9c782eb0e801b410cb358e20fe41acebe1094
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-06-11 20:17:44 +00:00
Dennis Shen
230f639275 init.rc: add a new maps dir under /metadata/aconfig dir
Bug: b/312444587
Test: m and avd
Change-Id: Idf19d314b51cc409e58d6a2f2ae1831bfc3d717d
2024-05-22 13:30:26 +00:00
Dennis Shen
208fccdae8 init.rc: set up init.rc for aconfigd to initialize mainline storage
aconfigd-mainline-init is the service target to initialize mainline
storage files. aconfigd is the service target to start aconfigd socket
for incoming messages.

Bug: b/312444587
Test: m and avd
Change-Id: Ic8052eaf933501da3371812c482ad816ec353b27
2024-05-17 00:56:29 +00:00
Ellen Arteca
6f7e39526c Merge "Create and support isolation for /data/storage_area" into main 2024-04-26 20:59:43 +00:00
William Loh
188b64778c Create app-metadata directory
App metadata bundles, also known as Android Safety Labels (ASL),
contains information about the app's privacy and security practices.
This information is used to help users make more informed choices when,
for example, granting access to permissions.

ASL can currently only be preloaded on the system image or distributed
by the installer and written to a file in the app's codePath. To support
embedded ASL in APK we need to extract ASLs from APKs to a writeable
location. For non-preloaded apps we can write to the app's codePath like
the installer provided ASLs, however, we need to create a new writable
directory for preloaded apps located on read only partitions.

Bug: 336618214
Test: manual
Change-Id: I651b2dab45c3132d8467c507dc4ee304001f73f5
2024-04-25 19:21:27 +00:00
Ellen Arteca
f885d551c2 Create and support isolation for /data/storage_area
Creating the directory /data/storage_area (which will store each user's directory
of app directories of storage areas) on startup, and adding this directory
/data/storage_area to the tmpfs mirror so it can be protected by app data isolation
in zygote.

Bug: 325121608
Test: atest StorageAreaTest
Change-Id: Ia938e89fd8b794dbcbb844b01b790db7c0a62319
2024-04-22 20:51:44 +00:00
Treehugger Robot
6901df0eb3 Merge "init.rc: remove 4.9/4.14 support" into main 2024-04-22 17:01:10 +00:00
Maciej Żenczykowski
a95be37d2c init.rc: remove 4.9/4.14 support
U requires 4.14+
V requires 4.19+

as such this is no longer useful

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I39d01cc16897c6c9174cf074e27c888bc758f1cc
2024-04-20 07:06:54 +00:00
Maciej Żenczykowski
8b29034b89 init.rc: remove xt_qtaguid configuration
which has been fully replaced by eBpf
(started in android P, finished in android S)

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie38e54600a9bb01c7ecdde63d9a9256bed047f41
2024-04-20 06:58:05 +00:00
Ted Bauer
e6eda1f80e Merge "Create new file for test_mission_1 marker file" into main 2024-04-10 21:16:43 +00:00
Ted Bauer
7443b82ce7 Create new file for test_mission_1 marker file
Test: m
Bug: 328444881
Change-Id: I4329fa161922f3dda2e3d7c9a5231f56ac716fac
2024-04-10 15:26:28 +00:00
Michael Bestas
867f0ada9a
init: Remove encryption=DeleteIfNecessary from /data/misc/bootanim
/data/misc already sets encryption=Require and this causes certain
devices not being able to boot with the following error:

init: Failed to set encryption policy of /data/misc/bootanim to
    a5a40d896b46d8c6 v1 modes 127/4 flags 0x0: The directory already
    has a different encryption policy.
init: Setting a5a40d896b46d8c6 policy on /data/misc/bootanim failed!
init: Setting policy failed, deleting: /data/misc/bootanim
init: Failed to set encryption policy of /data/misc/bootanim to
    a5a40d896b46d8c6 v1 modes 127/4 flags 0x0: The directory already
    has a different encryption policy.
init: Setting a5a40d896b46d8c6 policy on /data/misc/bootanim failed!
init: Rebooting into recovery
init: Got shutdown_command 'reboot,recovery' Calling
    HandlePowerctlMessage()

Test: m; fastboot flashall, observe device boots successfully
Change-Id: I86a2b2b8fe8e438ca405a0e901739d11550d3ebd
2024-04-04 19:11:21 +03:00
Hansen Kurli
6ec79b5605 Merge "Create directory for /data/misc/connectivityblobdb" into main 2024-03-20 20:27:18 +00:00
Dennis Shen
9e17d3a032 turn on aconfigd in init
Bug: b/312444587
Test: avd
Change-Id: Ibc88b57f88f924318d54ae81c70fd8da1fc1b437
2024-03-20 16:33:28 +00:00
Dennis Shen
a8a6d67f29 Merge "Revert "start aconfig storage daemon"" into main 2024-03-15 19:16:42 +00:00
Android Culprit Assistant
71179955f7 Revert "start aconfig storage daemon"
This revert was created by Android Culprit Assistant. The culprit was identified in the following culprit search session (http://go/aca-get/2def2bc9-4177-4451-930d-96612adf7d95).

Change-Id: I232a36309883bff892fff5a5d43fd1432d7f1c6e
2024-03-15 19:06:14 +00:00
Dennis Shen
e7abebc01d Merge "start aconfig storage daemon" into main 2024-03-14 12:17:53 +00:00
Dennis Shen
07afcabf67 start aconfig storage daemon
Bug: b/312444587
Test: m and launch AVD
Change-Id: I92946fc4ec2100d995300c58ef6045ae5b40f13a
2024-03-13 19:16:29 +00:00
Bart Van Assche
7f3fe0aaf2 Make foreground and background I/O priority different
The default I/O priority is "best effort" so the combination of "none"
and "restrict-to-be" is not sufficient to make foreground and background
I/O priorities different. This CL makes sure that foreground and
background I/O priorities are different.

As one can see, this CL has the intended effect in Cuttlefish:
$ adb -s 0.0.0.0:6520 shell 'cd /dev/blkio && grep -aH . blkio.prio.class background/blkio.prio.class'
blkio.prio.class:promote-to-rt
background/blkio.prio.class:restrict-to-be

Bug: 186902601
Change-Id: I24d30d360280d8c398684b0b5e88635f658ff870
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-03-12 13:30:40 -07:00
Jiakai Zhang
22ddb0aec5 Allow other processes to run snapshotctl through init.
Running snapshotctl involves talking to gsid, which requires the UID to
be 0. To allow other processes to run snapshotctl without running as the
root user, this change adds system properties "sys.snapshotctl.map" and
"sys.snapshotctl.unmap" that proxy snapshotctl calls.

Bug: 311377497
Test: adb shell setprop sys.snapshotctl.map requested
Test: adb shell setprop sys.snapshotctl.unmap requested
Change-Id: Ia29dde30021a94511b8e699c2c8f3816b851bf5c
2024-03-08 18:53:47 +00:00
Jiakai Zhang
699f27913f Create /mnt/pre_reboot_dexopt on init for Pre-reboot Dexopt.
Bug: 311377497
Test: manual - Boot the device and see the directory.
Change-Id: I083e0dc3c8d16839122a42fc3d00cdcac07a5cb8
2024-02-29 21:41:41 +00:00
Treehugger Robot
87e978bc47 Merge "aconfig_storage: fix aconfig storage dir permissions" into main 2024-02-29 01:01:11 +00:00
Dennis Shen
6884e27d8e aconfig_storage: fix aconfig storage dir permissions
Bug: b/312444587
Test: m and launch AVD
Change-Id: I8db6bf8ffde40c9266e17d818d1e88d7e095a93e
2024-02-28 21:20:35 +00:00
Florian Mayer
877d1f6694 Make tombstones 664.
They are still restricted by SELinux, and apps still cannot open them
because they don't have `open` SELinux permission.

Bug: 312740614
Change-Id: I83b7e6ed39f5af64f161af3b3e8e33af0d125b20
2024-02-23 15:31:30 -08:00
Dennis Shen
61d9e2ab8d init.rc: create /metadata/aconfig, /metadata/aconfig/flags and
/metadta/aconfig/boot dirs

Create aconfig dirs on /metadata to store aconfig storage related files.

Under /metadata/aconfig we will store the following pb files:

1, aconfig_storage_location.pb, store the location of the storage files for
each container.

2, aconfig_flag_persistent_overrides.pb, store the local flag value overrides.

Under /metadata/aconfig/flags we will store flag value and info files
for each container, this include:

1, <container_name>.val flag value file
2, <container_name>.info flag info file

Under /metadata/aconfig/boot we will store read only flag value files
copied from /metadata/aconfig/flags at boot. These read only files are
used to serve flag read queries.

Bug: 312444587
Test: m
Change-Id: I8ae06e56fc9b9e8c0b06f86e3deb4219d7f49660
2024-02-13 20:47:13 +00:00
Bart Van Assche
0cf102b703 Restore I/O priority support
CL aosp/2929791 removed I/O priority support to prepare for a clean
revert of the CL that migrates the blkio controller from the v1 to the
v2 cgroup hierarchy. Since there was no other reason to revert the I/O
priority CL, restore I/O priority support.

Bug: 186902601
Change-Id: I1a4053140ab55973878bfeacfb546da3c601a895
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-02-01 10:52:13 -08:00
Treehugger Robot
761db93167 Merge changes from topic "b314861914" into main
* changes:
  Revert "Migrate the blkio controller to the v2 cgroup hierarchy"
  Revert "task_profiles.json: Set io.prio.class"
2024-01-26 15:38:44 +00:00
Youngtae Cha
6392be617b Merge "A new folder to store OTA telephony config update" into main 2024-01-26 15:37:46 +00:00
Randall Huang
d0ce4ca33c Revert "Migrate the blkio controller to the v2 cgroup hierarchy"
This reverts commit f99ca8aeb1.

Reason for revert: b/2768906

Change-Id: I9ce259a2c96e9f8dd8c7598204c35922b56f7a0a
2024-01-26 03:54:47 +00:00
Kangping Dong
236c7060cd [Thread] create dir /dev/socket/ot-daemon
ot-daemon may use multiple unix sockets so create a dir for it.

Bug: 320451788
Test: verified that ot-daemon can create socket
/dev/socket/ot-daemon/thread-wpan.sock

Change-Id: I43ccb11ed664cf0d59fc02e2efc721ed7284e2a0
2024-01-22 01:22:36 +08:00
Yu-Ting Tseng
80b2bf16c9 Merge "Add AID_UPROBESTATS and set up its config dir." into main 2024-01-20 03:59:30 +00:00
youngtaecha
63da53fdde A new folder to store OTA telephony config update
Bug: 320002105
Test: Build, checked /data/misc/telephonyconfig is system radio

Change-Id: Id8efee15594f372fa6aaf3fe9b9081a3cefe327b
2024-01-13 14:58:58 +00:00
Kangping Dong
680c4a332f Revert "init.rc: create /data/misc/threadnetwork folder"
This reverts commit 40e1666fb9.

Reason for revert: this directory is for the Thread stack which is
in the Tethering mainline module. Per mainline guideline, the data
should be saved in a APEX specific directory (i.e.
/data/misc/apexdata/com.android.tethering). It's safe to remove this
directory directly given this is a new feature targeting Android V

Bug: 309932508
Test: manually verified that Thread settings file can be written to
      /data/misc/apexdata/com.android.tethering/threadnetwork
Change-Id: I3a7e24b4cdc1c99ca36a22414507538279dd31cd
2024-01-03 23:02:58 +08:00
Hansen Kurli
731972b086 Create directory for /data/misc/connectivityblobdb
Create a new folder for connectivity blobs, to be used by
ConnectivityBlobStore for VPN and WIFI to replace legacy
keystore. System server and Settings app will need permissions
to manage databases in the folder.

Bug: 307903113
Test: build and manual test to confirm folder is created.
Change-Id: I3b558d8d5913e0d3d1efe5cb56d5f7f2e84fd22a
2023-12-19 19:27:31 +08:00
Peter Collingbourne
cee7fcd001 Mount /tmp as tmpfs.
/tmp is a volatile temporary storage location for the shell user.
As with /data/local/tmp, it is owned by shell:shell and is chmod 771.

Bug: 311263616
Change-Id: Ice0229d937989b097971d9db434d5589ac2da99a
2023-12-15 16:46:46 -08:00
Yu-Ting Tseng
38cb94d32a Add AID_UPROBESTATS and set up its config dir.
Test: m, flash and reboot
Bug: 296108553
Change-Id: Ied5e688db8e93874ad66610c4d98c39d892d268b
2023-11-29 10:56:37 -08:00
Bart Van Assche
f99ca8aeb1 Migrate the blkio controller to the v2 cgroup hierarchy
There are multiple use cases in Android for which background writes need
to be controlled via the cgroup mechanism. The cgroup mechanism can only
control background writes if both the blkio and memcg controllers are
mounted in the v2 cgroup hierarchy. Hence this patch that migrates the
blkio controller from the v1 to the v2 cgroup hierarchy.

The changes compared to the previous version of this CL are as follows:
- The JoinCgroup actions for the "io" controller have been left out
  since these caused processes to be migrated to the v2 root cgroup.
- The BfqWeight / CfqGroupIdle / CfqWeight settings have been included
  in this CL instead of applying these settings as a separate CL.

Change-Id: I67e06ce3462bb1c1345dba78f8d3d655b6519c74
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2023-11-17 11:37:24 -08:00