If BOARD_KERNEL_MODULES_16K contains duplicate kernel modules under
different directories, build will fail with 'multiple overriding
commands error' . To fix it, de-dup BOARD_KERNEL_MODULES_16K base on the
basename of kernel modules files.
Test: th
Change-Id: I45d850d5b3804c54b9ec0133d3a657c2db5adb17
When target specified a prebuilt boot.img, current build system will add
avb hash footer to it with a random salt. Use a deterministic salt
instead for more reproducible builds. To stay consistent with
non-prebuilt boot.img code path, we extract the kernel image from
prebuilt boot.img and uses sha256sum of kernel image as the salt.
Test: th
Bug: 293313353
Change-Id: I988999ddc4f18e0b8677b05a3165c847b6a11b52
This makes key character map files from the framework part of the
layoutlib artifacts so that they can be used in Android Studio to
handle platform key events.
Bug: 255328531
Test: N/A
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1894ff5c78ca33be85d983d28be42870bac0bed0)
Merged-In: I147159912f85daafc97364468d6a6c2cfa3916b8
Change-Id: I147159912f85daafc97364468d6a6c2cfa3916b8
NOTE FOR REVIEWERS - errors occurred while applying the patch.
PLEASE REVIEW CAREFULLY.
Errors:
Error applying patch in core/Makefile, hunk HunkHeader[7006,8->7006,8]: Hunk cannot be applied
Original patch:
From 1894ff5c78ca33be85d983d28be42870bac0bed0 Mon Sep 17 00:00:00 2001
From: Jerome Gaillard <jgaillard@google.com>
Date: Mon, 24 Oct 2022 16:30:25 +0100
Subject: [PATCH] Add key character maps to layoutlib dist files
This makes key character map files from the framework part of the
layoutlib artifacts so that they can be used in Android Studio to
handle platform key events.
Bug: 255328531
Test: N/A
Change-Id: I147159912f85daafc97364468d6a6c2cfa3916b8
---
This change allows us to specify erofs filesystem block size
which will be used to create erofs image.
Either it can be specified at board level using
BOARD_EROFS_BLOCKSIZE. Or per read only partition image
using BOARD_<PARTITION>IMAGE_EROFS_BLOCKSIZE.
Examples:
BOARD_EROFS_BLOCKSIZE := 16384 OR
BOARD_PRODUCTIMAGE_EROFS_BLOCKSIZE := 16384
Bug: 303316443
Test: m and file ${ANDROID_PRODUCT_OUT}/*.img
Change-Id: I9bf3d299ae02165d0bffc62f474a302408d8b9b9
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
GKI kernel modules are required to be signed, but curretnly we strip all
16K kernel modules. Use SYSTEM_DLKM_MODULE_PATTERNS to determine which
modules are GKI, and skip stripping for these kernel modules.
Test: boot using 16K boot image
Bug: 303725887
Change-Id: I4cd71b39ceb75650d03744220ec4ddf4aeeda871
so that it's triggered even when APEX list shrinks.
(-d explain will print "command line changed for ...")
To repro:
- Pick one VAPEX with vintf fragment.
- Copy the fragment to /vendor/etc/vintf/manifest (DEVICE_MANIFEST_FILE)
- `m check-vintf-all` should fail
- Remove the APEX from PRODUCT_PACKAGES
- `m check-vintf-all` should pass
Bug: 304769672
Test: m check-vintf-all
(see above)
Change-Id: Iae9da91105faebfb8a5127fbb02a414b9ffdca10
avbtool by default generates a random salt everytime, this makes builds
less reproducible. Use sha256 checksum of kernel image as the hex to
make the build reproducible.
Test: th
Bug: 293313353
Change-Id: I959b3dee77654098ab9fde475f11eaee8d40c790
This is to ensure a partition doesn't need to be aware of the other
partitions in order to be built.
Also sort the image info file so it's easier to compare with bazel.
Bug: 297269187
Test: m && emulator on sdk_phone_x86_64-userdebug
Change-Id: I8e4b2049f602c8db109bf53e1359751a9ed9dd7a
The target_files zip includes a copy of all the installed files.
It wasn't updated to match aosp/2746998, causing a discrepency between
the target files zip and what was actually on the device.
Bug: 205632228
Bug: 300267995
Test: m dist, then compared the list of files in out/dist/sdk_phone_x86_64-target_files-colefaust.zip before/after this cl
Change-Id: I825fe110285f4e9550b264dea162a4bd7c3daef6
Make sure the specified BOARD_KERNEL_VERSION matches what we extract
from the kernel binary. As other parts of the build system might rely on
the kernel version.
Test: set BOARD_KERNERL_VERSION to foo, make sure build fails
Bug: 293313353
Change-Id: I9005d338fcc3dbb692a6ea7a518a5e63219b2c99
Removing this flag as --apply-vbmeta should only be used for root vbmeta
partitions.
Test: m fastboot_info, fastboot flashall
Bug: 299440104
Change-Id: I4910008635b16c4f4194ebd45da26bd1a8875fc1
This is to check if unknown file context labels are used in APEX. The
reason why this is done in Makefile is to cover vendor-specific SE
policy and prebuilt APEXes. Note that there's already a validation check
when building APEXes (in Soong), which only checks the generic rules,
not vendor-specific.
Bug: 299391194
Test: atest apex_sepolicy_tests_test
Test: m
Change-Id: I4378b7530e8433d2bf188db95cb5bf791e3bf778
build_image.py now accepts a --input-directory-filter-file argument
that contains a list of files to consider from the input directory.
A new, temporary input directory will be created, and only the
considered files will be copied to it.
This removes most of the need for `m installclean`, as old files or
files built manually will no longer end up on the partition.
Bug: 205632228
Test: Presubmits
Change-Id: I07e0bf8e840abf0b51a2fdf67b758905fb3c5b5b
build_image.py now accepts a --input-directory-filter-file argument
that contains a list of files to consider from the input directory.
A new, temporary input directory will be created, and only the
considered files will be copied to it.
This removes most of the need for `m installclean`, as old files or
files built manually will no longer end up on the partition.
Bug: 205632228
Test: Presubmits
Change-Id: I4c82ac7f1ed49a37271755749c8f72afeeb7f295
LOCAL_SOONG_INSTALL_SYMLINKS can now be set by the install_symlink
module type. The install_symlink module type doesn't set
LOCAL_SOONG_INSTALLED_MODULE because make tries to copy that file
around, which doesn't work with a symlink.
Bug: 205632228
Test: built and ran the emulator observed the /system/bin/hwservicemanager symlink is still there
Change-Id: I1ec355b5ae057d0b7fe167674d70da6a4d03f6b5
This allows switching kernels without downloading anything from
internet.
Test: th
Bug: 293313353
This reverts commit 2610f34671.
Change-Id: Iec6c9f9404ac1bb3286613c33d79b00b20c4c8bb
Bootloaders often assume boot partition to be 64MB in size. Correctly
size boot_16k.img so that bootloader can verify the AVB footers.
Test: th
Bug: 293313353
Change-Id: I322277b10e99a41c9a262ff76e2f29c3ed16fec0
Before, as each module was built, it would dump its proguard-related
files into the PACKAGING folder. Then the rule for the final distable
zip would zip up this whole folder. This means that if you built a
module that was not part of the system, and then rebuilt the final
zip, it would erronously include more proguard files than necessary.
This problem was worked around by relying on CI to run `m installclean`
every time.
Now, the zip proguard files always include the same information.
This also makes it so that when you build a module, its proguard files
are not copied to the PACKAGING folder, making builds that don't
build the final proguard zips slightly faster.
Bug: 205632228
Test: diff'd proguard-dict.zip, proguard-dict-mapping.textproto, and proguard-usage.zip before/after this cl on sdk_phone_x86_64. They have diffs, but only in the order of files / lines.
Change-Id: I98c02e1eb117c337ba9b98f04ad486597eb9bb86
boot_ota_16k.zip relies on build_boot_from_kernel_avb_enabled. But that
makefile function is guarded by $(BOARD_PREBUILT_BOOTIMAGE). Pixel
defined BOARD_PREBUILT_BOOTIMAGE, which causes
build_boot_from_kernel_avb_enabled to be undefined, resulting in build
failure.
Test: th
Bug: 293313353
Change-Id: I5b01e9bf7fedd9c508f476bc243d860dc48c5ebb
Non 16K kernels might have "CONFIG_ARM64_16K_PAGES is not set" string in
kernel config, properly handle this case.
Test: th
Bug: 293313353
Change-Id: I1a9582503c5fd20b8dcf95406166df7e11940424