For VAB launched device, factory OTA will write system_other
partition to the super image. So we want to check that
sum(dynamic partitions) + system_other + overhead <= super at
build time.
Since we don't know the overhead at build time, we might instead
check sum(all partitions) < super.
Bug: 185809374
Test: m check-all-partition-sizes, unittests
Change-Id: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20
Merged-In: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20
(cherry-picked from commit 294ec7d9e5)
Change-Id: I479d1b399a1639b595ae5d7f1481c771a3439e51
BUILD_HOST_EXECUTABLE modules are substantially deprecated, but some
partners are still using them for their bits with the workaround
provided in the product definition. This fixes a build error where
the host module doesn't have a linkable ELF note archive.
MTE is not intended for host modules, and it's fine for us to say
"host module using AndroidMk - no MTE for you" if this changes.
Bug: 189330992
Test: Manually tested using a BUILD_HOST_EXECUTABLE module.
Change-Id: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Merged-In: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Devices using GKI architecture will use a prebuilt boot.img.
However, we should still sign this prebuilt boot.img with
device-specific AVB keys.
Steps to test the CL.
1. In a device BoardConfig.mk:
# Uses a prebuilt boot.img
TARGET_NO_KERNEL := true
BOARD_PREBUILT_BOOTIMAGE := device/google/redbull/boot.img
# Enable chained vbmeta for the boot image.
# The following can be absent, where the hash descriptor of the
# 'boot' partition will be stored then signed in vbmeta.img instead.
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
2. `make bootimage`, then `avbtool info_image --image $OUT/boot.img`,
checks the image is re-signed with a device-specific key
3. `make dist` to generate out/dist/TF.zip
4. `unzip out/dist/TF.zip IMAGES/boot.img`
5. `avbtool info_image --image out/dist/IMAGES/boot.img`,
checks the image is re-signed with a device-specific key
6. `sign_target_files_apks \
--avb_boot_key=external/avb/test/data/testkey_rsa8192.pem \
--avb_boot_algorithm=SHA256_RSA8192 \
--avb_boot_extra_args="--prop test:sign" \
./out/dist/*-target_files-eng.*.zip signed.zip`, resign the TF.zip
7. `unzip signed.zip IMAGES/boot.img`, then use `avbtool info_image` to
check the boot.img is re-signed with the --avb_boot_key in step 6.
Bug: 188485657
Test: above steps
Change-Id: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801
Merged-In: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801
(cherry picked from commit cf9ead8972)
This reverts commit 80e99d8851.
Reason for revert: relanding CL after fixing barbet-userdebug build.
Bug: 132357300
Change-Id: I4b8e22847215b349393f01f6c0a90dd03b6073cd
Test: on branch sc-dev: lunch barbet-userdebug && m
Starting from Android 10, the system.img layout consists of
$TARGET_SYSTEM_OUT and $TARGET_ROOT_OUT, and is mounted by the
init as root. That is, system.img is always created as if
BOARD_BUILD_SYSTEM_ROOT_IMAGE was set.
https://source.android.com/devices/bootloader/partitions/system-as-root
The previous concern is that there might be compatibility issues between
the ramdisk contained in boot.img with a newer system.img. But this is
no longer an issue after we always mount the system.img as root.
Bug: 187157581
Test: Tree Hugger
Change-Id: I4537e6ce6fb39b4b86caac82a13716abf515ffd6
Merged-In: I4537e6ce6fb39b4b86caac82a13716abf515ffd6
(cherry picked from commit 640544bd96)
This reverts commit ad645285a6.
Reason for revert: relanding CL after fixing git_sc-car-dev builds and
other build failures.
Bug: 132357300
Test: on branch sc-dev: lunch seahawk-userdebug && m
Test: on branch sc-dev: lunch osprey-userdebug && m
Test: on branch sc-dev: lunch factory_pipit-userdebug && m
Test: on sc-dev: lunch cf_x86_phone-userdebug && m droid dist tests
Test: forrest build partner-s-d1-fs-dev-slider/aosp_slider-userdebug:
https://android-build.googleplex.com/builds/forrest/run/L22600000889121228
Change-Id: I74789903bd91d3bb45c69031fcbaf3556cb29408
This reverts commit b6d1b48f9f.
Reason for revert: This change is breaking seahawk-userdebug
BUG: 188108611
Change-Id: I15b737e2778d437ecbef6ab9f43345da407f2205
This reverts commit 4caef2b8c8.
Reason for revert: relanding original CL after fixing r11-userdebug.
Bug: 132357300
Test: forrest build for git_master/r11-userdebug
Change-Id: I62268f331c76f31a80b610754c53543b9b59a1c6
This reverts commit a700ad4651.
Reason for revert: relanding original CL with correct Merged-In tag.
Use "Merged-In" tag from CL ag/14062434 to prevent merging in the
stage-aosp-master branch. That CL is unrelated to the current CL,
but related to <uses-library> checks in general.
Bug: 132357300
Change-Id: I10de5b56c51a0407bf027e0be5ac3b0b307cf100
Test: treehugger
Merged-In: I21712e5197b3cb06e82e476f4c2f7277142034e9
Use "Merged-In" tag from CL ag/14063987 to prevent merging in the
rvc-qpr-dev-plus-aosp branch. That CL is unrelated to the current CL,
but related to <uses-library> checks in general.
Bug: 132357300
Test: treehugger
Change-Id: If31a9ed148e4f1195bf916a650d0afafef3d6915
Merged-In: I26f2887357193b0d4bb951fa5bb09384c149b381
(cherry picked from commit feeb6bcd1e)