android_system_core/rootdir
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
..
avb Convert *-developer-gsi.avbpubkey to Android.bp 2024-07-17 13:34:46 +08:00
etc linker.config.json: remove libpac.so. 2024-04-02 14:19:15 +00:00
adb_debug.prop
Android.bp Convert ramdisk_node_list to Android.bp 2024-08-15 11:36:12 +08:00
Android.mk Convert ramdisk_node_list to Android.bp 2024-08-15 11:36:12 +08:00
asan.options
asan_extract.rc
asan_extract.sh
init-debug.rc Prevent debugfs unmount on debug builds with a persist property 2021-04-16 13:59:15 -07:00
init.boringssl.zygote64.rc Run boringssl tests according to ro.zygote 2023-08-10 17:12:47 +08:00
init.boringssl.zygote64_32.rc Run boringssl tests according to ro.zygote 2023-08-10 17:12:47 +08:00
init.environ.rc.in Refactor init.environ.rc to append than replace 2024-08-02 15:55:39 +09:00
init.no_zygote.rc Reland "Add a core configuration that disables the zygote." 2022-02-15 16:03:35 -08:00
init.rc init.rc: Fix entropy pool initialization 2024-08-23 11:17:41 -07:00
init.usb.configfs.rc
init.usb.rc Clean up userspace-reboot 2024-08-09 15:58:53 +09:00
init.zygote32.rc Update zygote32 rc file to match others 2024-06-06 19:11:27 +00:00
init.zygote64.rc Only restart media.tuner when it's running 2023-09-08 04:19:34 +00:00
init.zygote64_32.rc Resync zygote64 and zygote64_32 rc files. 2022-09-29 17:21:54 -07:00
OWNERS Add new owners to various sub-projects. 2020-12-11 12:45:45 -08:00
ramdisk_node_list ramdisk_node_list: Add urandom node 2023-05-02 09:48:21 +00:00
ueventd.rc Assigns system user/group to /dev/hidraw* devices. 2023-11-15 03:04:07 +00:00