In a GRF config, if Vendor partition is updated from Android 12; post
OTA reboot, first stage init will communicate to daemon to check if the
daemon can support socket handoff. If that succeeds, then it is a signal
that the vendor has been updated from Android 12. Use a marker in
/metadata to signal that the vendor was updated. If the marker is present,
then post OTA reboot, userspace snapshot will be used.
Bug: 333854394
Test: OTA
Android U (system) + S (vendor) -> Android V (system) + V (Vendor)
Change-Id: Ie38c4379010789a84e5b44529b407f9f82135271
Signed-off-by: Akilesh Kailash <akailash@google.com>
This reverts commit 00e1b61bb9.
Reason for revert: DroidMonitor: Potential culprit for b/348041418 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: Ib7422cc7bfb7815ede814fb5f0ee1d4537fe52d2
If the overlaid mount have no submount and is not submount of other
mount, then we don't need to change its propagation type.
This makes the remount process less disruptive as we create less
fragmented mount namespaces.
The general rule is still to always reboot after initial remount setup
to get the most predictable result.
Bug: 342967841
Test: adb_remount test
Change-Id: I19ca62018149f1fa81186824a9d7f1c32d9d6008
It looks like we can't use <uint> as type with specifying size
Read merge thread + worker thread priority from build configurations. In
the case of low memory devices, a lower priority will reduce CPU
utilization post OTA reboot.
Test: th
Change-Id: Ie895be32e3aea66b46503c5270939bb42f58494a
`init_first_stage` is a dependency of `init_vendor` only when
`BOARD_USES_RECOVERY_AS_BOOT` is false.
Since `BOARD_USES_RECOVERY_AS_BOOT` is already defined in
`build/make/core/android_soong_config_vars.mk` within a
soong_namespace, we can use the `soong_config_module_type` to easily
convert this to Android.bp.
Bug: 347600829
Test: m init_vendor
Change-Id: I1ddcd5fb62983b01e51452c9b7367750e03e7f48
Also, remove snapuserd from the vendor ramdisk since this isn't used
anymore.
Bug: 345158294
Test: ldd snapuserd_ramdisk and system/bin/snapuserd
apply full OTA on aosp_cf
Change-Id: I2c2ad1458d67a8449c548e22660f523ba9c86849
Read merge thread + worker thread priority from build configurations. In
the case of low memory devices, a lower priority will reduce CPU
utilization post OTA reboot.
Test: th
Change-Id: I812fccf2ca805d9686a837774e1770a2eebf979a
Load modules from /lib/modules for 4kb page size kernels when
the -d option is not present. Do not do this for 16kb page size kernels
due it will load the 4kb modules when PRODUCT_16K_DEVELOPER_OPTION
is true.
Depending on the value of PRODUCT_16K_DEVELOPER_OPTION, the
kernel modules can be located in several directories:
- true: There are 2 directories that contain the 4kb and 16kb
modules.
- 4kb modules are in /lib/modules
- 16kb modules are in /lib/modules/<uname -r>_16k
- false: There is only one directory that contains only one type
of the kernel modules, either 4kb or 16kb.
- /lib/modules
This is a temporary fix for the 16kb developer option. This
b/346659501 will track the proper fix.
Test: Boot target husky-trunk_staging-userdebug with developer
option.
Test: Boot target husky_pgagnostic-next-userdebug without developer
option.
Bug: 345609905
Bug: 343971855
Change-Id: I9bab33d9f06743bd10ee804b20db8f39467fcc52
If o_direct is enabled in build configuration, forward this argument to
snapuserd when the daemon is started.
Bug: 332255580
Test: th
Change-Id: I8e4be5503665031735dba2ebc748e209c45df942
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>
Manually calling a defaulted default constructor from a another
constructor is superfluous, and can increase code size if the default
constructor is not otherwise used. There's nothing to delegate, so
remove the call.
Bug: 346584259
Test: m
Change-Id: Ia16aa041fdee7434587cf90645d7f95cba4e0d10
... instead of direct initialization in the default constructor
implementation. This allows us to just explicitly default the
constructor and provide no implementation.
Initialize class variables in the header and remove no-op constructor
to simplify code.
Bug: 346584259
Test: m
Change-Id: Iba57f5cfbf8e4d5d18ce178d39f8bcd2d76c8aaa
In I3aad4b4b1d2f54db9e7ba86db8a655d8552bad0a we set MaxPerformance
for zygote64_32, and in I7fcceeb22b722c2164b9acf0b517a32ce34731fd
we synced up zygote64 to match this.
However, this change never made it into the zygote32 rc file,
which we fix here.
Bug: 324014808
Test: Basic testing on 32-bit device
Change-Id: I6f0c4490330d05551952fd5d844e02a6b638ca68
When modules for multiple kernels with the same major/minor versions
are installed on a device, modprobe will search the module directories
based on whatever order scandir() returned them. In this case, it is
possible that we will try to load modules with the wrong page size for
the running kernel, which can lead to obscure symbol CRC mismatches and
ultimately a system crash.
Adjust the scandir() filtering function so that the kernel page size is
taken into account in addition to the major/minor versions returned by
utsname(). The general rule is that module directories ending in "_Nk"
contain modules for a page-size of N KiB, whilst the absence of such
a suffix implies the default of 4 KiB.
Bug: 343971855
Test: Verified that _16k module directory is excluded by modprobe when running in userspace fastboot with 4k pages.
Change-Id: I78a0a249028bbb0bcdd78eb14de36e631e233be0