Commit graph

3555 commits

Author SHA1 Message Date
David Anderson
19872d0156 init: Add tests and document the new fnmatch behavior in ExternalFirmwareHandler.
Bug: N/A
Test: atest CtsInitTestCases
Change-Id: I232db8416318ba31ea3f78cc07f235d9a47efac4
2021-04-16 13:35:11 -07:00
Suchang Woo
22fdd0ae13 ueventd: Allow pattern matching to find external firmware handler
Only the exact same devpath uevent can launch external handler specified
in ueventd.rc. So, you should specify all possible devpaths, even
firmware with different filenames on the same device. Pattern mactching
can be used to simplify this.

Test: atest CtsInitTestCases
Signed-off-by: Suchang Woo <suchang.woo@samsung.com>
Change-Id: If3b7a2cabb8055bf4b768d928f0fc0012da3c177
2021-04-16 13:35:10 -07:00
Treehugger Robot
7f647a232a Merge "Do not populate ro.kernel. properties in init" am: 5e89a35ae3 am: f7c4f3b94b am: ff435d8995
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1676728

Change-Id: I136d3529e90f8f2ba869ac79da5d1cf54409f9de
2021-04-15 20:09:41 +00:00
luwei9
8a3653cfe2 [Bugfix]Fix userspace-reboot failure when backing_dev exists but zram not swapped on
'/sys/block/zram0/backing_dev' will exist even if zram is not swapped on in some devices. And there is no reason to ensure that zram is swapped on if '/sys/block/zram0/backing_dev' exists. So, if we want to kill backing_dev during userspace reboot, we should check if zram is swapped on first.

TEST: as follow
 - adb root
 - adb shell swapoff /dev/block/zram0
 - adb shell echo 1 > /sys/block/zram0/reset
 - adb shell setprop test.userspace.reboot.flag 1
 - adb reboot userspace
 - (wait reboot ending) adb shell getprop test.userspace.reboot.flag (1 will be show if successful)

Signed-off-by: luwei9 <luwei9@xiaomi.com>
Change-Id: Icca569cf8d64bc024b867dae2ab789fc9e76445a
2021-04-15 08:08:20 +00:00
Roman Kiryanov
f4adb894cc Do not populate ro.kernel. properties in init
`ro.kernel.` is deprecated, emulator migrated to
`ro.boot.`.

Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I074f9a63dc4e3edcc01930b2e8481efd1d85eb55
2021-04-14 20:45:55 -07:00
Yo Chiang
ad5c80fda5 Merge "Load *_compat_cil_file from system_ext as well" am: 3841fdfa3c am: 6e944a9484 am: 832c06c27c
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1650271

Change-Id: I62e8157a2a320ee0d8e46aca126ca03d433859d7
2021-04-13 07:40:22 +00:00
Yo Chiang
3841fdfa3c Merge "Load *_compat_cil_file from system_ext as well" 2021-04-13 05:48:04 +00:00
Hridya Valsaraju
1e0028a917 Merge "Use property ro.product.enforce_debugfs_restrictions to enable debugfs restrictions" am: 2a8b028c04 am: bdc512a21b am: 230df281ab
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1663702

Change-Id: Ie415770c7639361c9148db761cadf1b26a9c4513
2021-04-12 18:27:55 +00:00
Hridya Valsaraju
2a8b028c04 Merge "Use property ro.product.enforce_debugfs_restrictions to enable debugfs restrictions" 2021-04-12 17:11:23 +00:00
Treehugger Robot
d7f9768f25 Merge "Populate ro.boot.dalvik.vm.checkjni from android.checkjni" am: cd52a78472 am: a50cdc1d0a am: f69c016c5b
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1668586

Change-Id: I9693f111b0369ccb6fa485959ebcfdb8dfa51daa
2021-04-08 19:45:34 +00:00
Treehugger Robot
33156eea6f Merge "Populate ro.boot.debug.sf.nobootanimation from android.bootanim" am: a8b2ac4b30 am: 1e9abd4fff am: 5e496f269b
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1666095

Change-Id: I344fb7505478ed3fd00245708d3e3252e035c9e4
2021-04-08 19:45:21 +00:00
Roman Kiryanov
0312c20a71 Populate ro.boot.dalvik.vm.checkjni from android.checkjni
emulator passes `android.checkjni` in the kernel
command which we want to use in
frameworks/base/core/jni/AndroidRuntime.cpp

Bug: 182291166
Test: getprop ro.boot.dalvik.vm.checkjni
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: If9473aa9492fa09d8de7cc8fb08614380e4e15f3
2021-04-07 15:55:21 -07:00
Roman Kiryanov
c755e5edf9 Populate ro.boot.debug.sf.nobootanimation from android.bootanim
emulator passes `android.bootanim=0` in the kernel
command line to disable boot animation.

Bug: 182336906
Test: boot emulator with -np-boot-anim
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: Id89a6c92dd4724cac414ffbf8ee731b2bfcc7195
2021-04-06 20:44:57 -07:00
Treehugger Robot
35f9c0d65d Merge "ueventd: Fix wrong argument index in devpath comparison" am: 0cf8af6860 am: deca6caf46 am: aec92150f2
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1664601

Change-Id: I13b45f9c4544911cde704ca0ef891271eac220a7
2021-04-07 01:19:09 +00:00
Suchang Woo
8681f7e7a3 ueventd: Fix wrong argument index in devpath comparison
args[2](user name to run as) is used instead of args[1](devpath).

Test: atest CtsInitTestCases
Signed-off-by: Suchang Woo <suchang.woo@samsung.com>
Change-Id: Id271755993d55e332bad54d0414e2232071e5e8e
2021-04-06 11:15:28 +09:00
Hridya Valsaraju
6b7311fc99 Use property ro.product.enforce_debugfs_restrictions to enable debugfs
restrictions

Use the property ro.product.enforce_debugfs_restrictions to enable
debugfs restrictions instead of checking the launch API level. Vendors
can enable build-time as well as run-time debugfs restrictions by
setting the build flag PRODUCT_SET_DEBUGFS_RESTRICTIONS true which in
turn sets ro.product.enforce_debugfs_restrictions true as well enables
sepolicy neverallow restrictions that prevent debugfs access. The
intention of the build flag is to prevent debugfs dependencies from
creeping in during development on userdebug/eng builds.

Test: build and boot
Bug: 184381659
Change-Id: If555037f973e6e4f35eb7312637f58e8360c3013
2021-04-02 17:00:50 -07:00
Yo Chiang
6979590818 Merge "fs_mgr: Suppress SkipMountingPartitions log in ReadFstabFromFile" am: a2b662cf23 am: 14d8badf58 am: 6b4cb7a2dd
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1662019

Change-Id: I8398be0a36d9eed52b88592055c1518cbe10d20e
2021-04-02 07:15:21 +00:00
Yi-Yo Chiang
20579011cf fs_mgr: Suppress SkipMountingPartitions log in ReadFstabFromFile
Minor refactoring and renaming, goal is to make the follow-up patch
easier to read.

Bug: 184132970
Test: Presubmit
Change-Id: I66416161b30ac310934d901cbaf11bc926e2cbf7
2021-04-02 05:23:02 +00:00
Treehugger Robot
484234a373 Merge "Populate all other emulator properties as ro.boot.qemu.*" am: 6463f60a56 am: 07d6796b6f am: 2915bc3bc8
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1661935

Change-Id: Icf30f1bdecceec8bf857b35473f238d54a0168e6
2021-04-02 00:11:40 +00:00
Roman Kiryanov
bcc7946ef0 Populate all other emulator properties as ro.boot.qemu.*
Bug: 182291166
Test: getprop | grep "ro\.boot\.qemu\."
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I0d2a4a9edd87999b35fac8496e9cda93fc7d0cf1
2021-04-01 11:39:30 -07:00
Yi-Yo Chiang
731d2473da Load *_compat_cil_file from system_ext as well
So we can extend platform policies with target specific compat rules.
This use case surface in the context of system only upgrade, when the
vendor policy cannot be updated, then the system_ext partition can
contain target specific compat policies.

Bug: 183362912
Test: Presubmit
Change-Id: Ic6436eb8a269f07f932331dedf7dbaa629538ade
2021-03-30 13:05:50 +08:00
Treehugger Robot
752c3c7f83 Merge "Populate more emulator properties to ro.boot." am: 5d5e16db57 am: 669af0aa1e am: 68301b2ddd
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624567

Change-Id: I5a9a706afc8d5b87edbb85297b7be591bada972f
2021-03-23 21:12:50 +00:00
Treehugger Robot
942ceeb60a Merge "Do not populate ro.kernel.qemu in ProcessKernelCmdline" am: e37b6f4f67 am: fddb2e3b98 am: 5189edc2c2
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1649687

Change-Id: I58dc487de0ce1d3da041c58e3e6f41f77fa403ef
2021-03-23 11:35:34 +00:00
Roman Kiryanov
4ddfd023cc Populate more emulator properties to ro.boot.
ro.boot.config.low_ram
ro.boot.dalvik.vm.heapsize
ro.boot.debug.hwui.renderer
ro.boot.debug.stagefright.ccodec
ro.boot.opengles.version

Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I4d7ee19feb13a418a95f31be7534df98dfaeb3e3
2021-03-22 14:34:36 -07:00
Roman Kiryanov
94ce40a527 Do not populate ro.kernel.qemu in ProcessKernelCmdline
The emulator migrated to `ro.boot.qemu`.

Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: Iaa3bdff5cc1efa79c21ae2dc2bdf7ec74731f66c
2021-03-22 14:18:44 -07:00
Will McVicker
b8325c03a0 Merge "init: fix debuggable paths for recovery mode" am: fb9953e4d3 am: dc64a95871 am: f737aa8549
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1634601

Change-Id: Ia4b0829d0a921331444477e447ce9687d8a04dfb
2021-03-18 23:35:37 +00:00
Will McVicker
8891c2002e init: fix debuggable paths for recovery mode
Since recovery mode doesn't switch root to /first_stage_ramdisk, we need
to update the debuggable file paths for recovery mode. Without this,
adb needs to be authorized in recovery mode even with a debug
vendor_ramdisk.

Bug: 182612208
Test: verify adb is authorized on pixel 5
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I557429e1834efcdd92ba0e135377055ffa677137
2021-03-17 18:53:48 +00:00
Alistair Delva
1fa0bd44f0 Merge "init: check for verifiedbootstate in properties" am: fb1cffb46b am: daa9eebcf4 am: 0cf1df828e
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1625199

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifd08ea7daa8aff0f2f81a1b71867ca819068d392
2021-03-15 05:44:34 +00:00
Alistair Delva
fb1cffb46b Merge "init: check for verifiedbootstate in properties" 2021-03-15 04:03:17 +00:00
Inseob Kim
69bab73587 Merge "Allow precompiled sepolicy w/o system_ext/product" am: b56165cce3 am: cdac5b72f0 am: dc0a85cfe4
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1626229

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iff9e0ab96c9b9478d2a5d3d9d9de5bec16227afe
2021-03-14 16:52:08 +00:00
Inseob Kim
b56165cce3 Merge "Allow precompiled sepolicy w/o system_ext/product" 2021-03-14 15:28:42 +00:00
Roman Kiryanov
a69b993066 Merge "Populate ro.boot.qemu for the emulator device" am: dce1f88bfb am: b132468af1 am: e506d1862f
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624291

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0a0f8cf848e1a36c6e28d6207b1b4781f6272528
2021-03-12 07:34:07 +00:00
Roman Kiryanov
2f45ab60f7 Merge "Populate only emulator specific properties into ro.kernel." am: 7787e70417 am: 7cf1c09c6c am: 917c6e0daa
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1625179

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic5cadcc08201136e3918acd073e85ef752f875f5
2021-03-12 07:33:56 +00:00
Roman Kiryanov
2a2de564fb Merge "Move the androidboot. literal into its own variable" am: a3d37ac9b2 am: 8c1cd62d10 am: 49340ac490
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624290

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic15bdcb74224fa495b614d13f56960dcd4598d13
2021-03-12 06:13:42 +00:00
Roman Kiryanov
dce1f88bfb Merge "Populate ro.boot.qemu for the emulator device" 2021-03-12 06:06:03 +00:00
Roman Kiryanov
7787e70417 Merge "Populate only emulator specific properties into ro.kernel." 2021-03-12 06:05:35 +00:00
Roman Kiryanov
a3d37ac9b2 Merge "Move the androidboot. literal into its own variable" 2021-03-12 04:32:13 +00:00
Inseob Kim
d99d977f17 Allow precompiled sepolicy w/o system_ext/product
Some devices might not have system_ext or product partitions. But init
has been refusing to use precompiled sepolicy because init always checks
system / system_ext / product hashes, regardless of existence. This
makes system_ext and product optional, so hash check can be skipped for
non-existing partitions. Of course system is always checked.

Bug: 181640066
Test: boot microdroid and cuttlefish, see precompiled sepolicy works
Change-Id: I32c296fffd894c27097e8b4e10ade977a21d61ab
2021-03-12 11:40:15 +09:00
Roman Kiryanov
4a47c74b75 Populate ro.boot.qemu for the emulator device
Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: Ied78f42363c1f6580fe6e5660b14c257960aed98
2021-03-11 16:49:17 -08:00
Roman Kiryanov
1a705d4943 Populate only emulator specific properties into ro.kernel.
`ro.kernel.` is an emulator specific prefix.

Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: Ie4a19127f05f3074ccb02bd055711e9b70702ba6
2021-03-11 16:48:26 -08:00
Roman Kiryanov
ccc15c5dbd Move the androidboot. literal into its own variable
Bug: 182291166
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I19f25671c82fff34dd52e3557361c4340706aab0
2021-03-11 16:46:00 -08:00
Alistair Delva
4b03eee5ca Merge changes from topic "bootconfig-selinux-property" am: c19a7dd30e am: aff8b2da5c am: 3104a550af
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624584

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie71107e6f7797c0c4026cbc1786c5d683ea7b42d
2021-03-11 17:00:55 +00:00
Alistair Delva
4ea63b727e Allow android_dt_dir to be set by bootconfig am: 3bb240bd4c am: 7d0bfb1956 am: 696017ac7c
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624583

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I282bd9e51c8c6947e026a4ac3268d967394a804f
2021-03-11 17:00:52 +00:00
Alistair Delva
7d0bfb1956 Allow android_dt_dir to be set by bootconfig am: 3bb240bd4c
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624583

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I08c06f25e2098dbf8e27028a0984fea4d26ee9c8
2021-03-11 16:16:53 +00:00
Alistair Delva
c19a7dd30e Merge changes from topic "bootconfig-selinux-property"
* changes:
  Allow selinux to be set by bootconfig
  Allow android_dt_dir to be set by bootconfig
2021-03-11 15:52:02 +00:00
Devin Moore
7cb6333dc2 Merge "Handle "hardware" bootconfig parameter as "androidboot.hardware"" am: 394a1ede40 am: 330ade5851 am: 0ca6f1617b
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1624139

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib37e60a69e8d2b631a5d6d3e5a6659d482885169
2021-03-11 03:21:52 +00:00
Devin Moore
0a799bdfd6 Handle "hardware" bootconfig parameter as "androidboot.hardware"
The parameter "androidboot.hardware" has been removed from bootconfig
and replaced by "hardware" parameter.

Test: launch_cvd with 4.19 and 5.10 kernels
Test: atest CtsFsMgrTestCases
Bug: 173815685
Change-Id: I627426ae1bd0a165b70b8f2584ec184abfb4236f
2021-03-09 14:10:48 -08:00
Devin Moore
6c01baf075 init: check for verifiedbootstate in properties
This check in export_oem_lock_status happens after PropertyInit() so
all of the ro.boot.* properties will be set. There is no need to import
the kernel cmdline again.

Test: build and boot cuttlefish
Bug: 173815685
Change-Id: I5df7c0105566d4617442dbb8e77eb26e465775f1
2021-03-09 13:56:25 -08:00
Alistair Delva
63594a4dbc Allow selinux to be set by bootconfig
The androidboot.selinux property is loaded in a special way, because it
happens in the "selinux_setup" stage, and not the true second stage.
Allow it to be passed through bootconfig instead of only via the kernel
cmdline.

Bug: 173815685
Test: launch_cvd -extra_kernel_cmdline androidboot.selinux=permissive
Test: launch_cvd -guest_enforce_security=false [bootconfig method]
[..]
init: Permissive SELinux boot, forcing sys.init.perf_lsm_hooks to 1.
[..]
Change-Id: I92003c7a2dac5d6e7d0e0f4ee2757f86cc0087c7
2021-03-09 19:18:50 +00:00
Alistair Delva
3bb240bd4c Allow android_dt_dir to be set by bootconfig
The androidboot.android_dt_dir property is special, because it is loaded
to find out where to get the other DT properties from, and those DT
properties are supposed to override the cmdline/bootconfig ones. So, it
need special casing, and that special case lacked bootconfig support.

Bug: 173815685
Test: launch_cvd -extra_kernel_cmdline androidboot.android_dt_dir=/tmp
[..]
init: Using Android DT directory /tmp
[..]
Change-Id: Ie0958dd0a96394d65f6568653b754ea6f885212e
2021-03-09 19:14:17 +00:00