Commit Graph

67742 Commits

Author SHA1 Message Date
Bowgo Tsai
d33ceee8e9 Merge "Support AVB signing for BOARD_PREBUILT_BOOTIMAGE" 2021-05-25 15:24:26 +00:00
Treehugger Robot
38d4a2a19e Merge "[memtag] Disable memtag for AndroidMk host modules." 2021-05-25 04:05:59 +00:00
Mitch Phillips
b71a875bba [memtag] Disable memtag for AndroidMk host modules.
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.

Test: Manually tested using a BUILD_HOST_EXECUTABLE module.
Change-Id: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
2021-05-24 18:41:15 +00:00
Calin Juravle
e9423b0b09 Merge "Add pm.dexopt.cmdline mapping in product config" 2021-05-24 15:06:35 +00:00
Bowgo Tsai
cf9ead8972 Support AVB signing for BOARD_PREBUILT_BOOTIMAGE
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
2021-05-21 08:44:37 +00:00
Ulyana Trafimovich
3ff3f1088d Merge "Disable <uses-library> checks for more tests (to fix MTS builds)." 2021-05-20 09:08:31 +00:00
Jingwen Chen
ec11d42e3b Merge "Introduce b into envsetup.sh." 2021-05-19 22:41:30 +00:00
Ulya Trafimovich
d5e6a7c620 Disable <uses-library> checks for more tests (to fix MTS builds).
Bug: 132357300
Bug: 188648210
Test: lunch aosp_cf_x86_64_phone-userdebug && m mts
Change-Id: Iae0ecac076b351b2da929bb455f00f03ece130bd
2021-05-19 18:10:28 +01:00
Tim Van Patten
ea48214581 Merge "Remove building the ANGLE APK from AOSP" 2021-05-19 15:40:27 +00:00
Calin Juravle
ccb4cdc7f6 Add pm.dexopt.cmdline mapping in product config
Test: boot
Bug: 188655918
Change-Id: I527a71d0acec0ba6593b2da1fd13818cba3b4832
2021-05-19 15:27:02 +00:00
Kelvin Zhang
51c8f9f34c Merge "Expose ota_metadata_proto for consumption" 2021-05-19 12:59:43 +00:00
Jingwen Chen
d728ee1a06 Introduce b into envsetup.sh.
`b` is a function that combines:

1. Integrated generation of a synthetic bazel workspace, containing
symlinks to BUILD and bzl files alongside symlinks to the source tree.
This is the --package_path of the bazel build.
2. Running the Bazel build itself with b's entire argv.

A user accustomed to typing `bazel build <targets>` would
now type `b build <targets>`.

Test: source build/envsetup.sh; b build //bionic/...; b cquery --output=label_kind //bionic/...
Fixes: 188490434
Change-Id: I36e366108b024c09945d764a1115786658e03681
2021-05-18 23:37:39 +00:00
Tim Van Patten
e6d2d6c3dd Remove building the ANGLE APK from AOSP
Mark ANGLE as product-specific and remove building the APK. CuttleFish
will continue to build the ANGLE libraries directly.

Bug: b/187342779
Test: launch_cvd --restart_subprocesses=false --start_webrtc=true --gpu_mode=guest_swiftshader
Change-Id: I6cd379a11e0c198ad72636253f1a33f2d1fc798f
2021-05-18 11:58:23 -06:00
Hsin-Yi Chen
abd0ea8743 Merge "Add GKI to generic x86_64 board" 2021-05-18 05:16:42 +00:00
Hsin-Yi Chen
b212b0a92a Add GKI to generic x86_64 board
- Remove emulator configurations from generic_x86_64/device.mk.
- Add GKI configurations to generic_x86_64/device.mk.

Test: lunch gsi_x86_64-userdebug ; make dist
Bug: 181277965
Change-Id: I43c8005afcaeec6ed70648b5f74eeed1d46f9228
2021-05-18 02:30:50 +00:00
Tianjie Xu
77e0d86f26 Merge "When checking if mke2fs is used, compare using basename" 2021-05-18 02:10:02 +00:00
SzuWei Lin
5b77e84a6d Merge "Move GKI common settings to BoardConfigGkiCommon.mk" 2021-05-18 00:26:12 +00:00
Christian Wailes
6f21097ca5 Merge "Add dalvik.vm.dexopt.thermal-cutoff system property" 2021-05-17 16:15:40 +00:00
Treehugger Robot
ab85371d18 Merge "BOARD_PREBUILT_BOOTIMAGE: removes the restriction of non system-as-root" 2021-05-17 04:20:22 +00:00
SzuWei Lin
a74ea7e569 Move GKI common settings to BoardConfigGkiCommon.mk
There are GKI arm64 and x86_64 now. The patch restructures the
GKI common settings to a new common BoardConfig file
"BoardConfigGkiCommon.mk".

It includes the ramdisk and boot image settings for GKI.
The patch also removes obsolete TARGET_PRELINK_MODULE.

Bug: 177859525
Bug: 181277965
Test: lunch gsi_arm64-userdebug ; make dist
Test: lunch gsi_x86_64-userdebug ; make dist
Change-Id: I204c8937d97140cc3c6ed3473d494f03f534ed75
2021-05-17 01:53:17 +00:00
Treehugger Robot
20fed4ad29 Merge "check_target_files_signatures actually needs aapt2, not aapt." 2021-05-15 00:36:09 +00:00
Elliott Hughes
16a5cac394 check_target_files_signatures actually needs aapt2, not aapt.
Test: treehugger
Change-Id: Ia0ff6d16a64f96fd9e2b9d33711cc9b94734c4ff
2021-05-14 15:27:23 -07:00
Kelvin Zhang
a3a74b69ac Expose ota_metadata_proto for consumption
Recovery needs to parse OTA metadata and perform various safety checks

Test: th
Change-Id: Ibbfa55a8ec8a15d37adb57299ed6ee89b06ba368
2021-05-14 17:18:43 -04:00
Treehugger Robot
de1e64c7fd Merge "Reland: Enable verity computation on VABC devices" 2021-05-14 20:38:18 +00:00
Kelvin Zhang
4de9bb23f2 Reland: Enable verity computation on VABC devices
Test: th
Test: Manual OTA test on bramble, pause/resume multiple times
Test: verity enabled, VABC enabled OTA
Test: verity enabled, VABC disabled OTA
Test: verity disabled, VABC enabled OTA
Test: verity disabled, VABC disabled OTA

Change-Id: Ia236984b158761f84f54ab7a6d3d49491c249546
2021-05-14 12:38:28 -04:00
Jaewoong Jung
3218d79aa7 Merge "Do not alter presigned prebuilt apks for SDK > 29." 2021-05-14 14:07:17 +00:00
Bowgo Tsai
640544bd96 BOARD_PREBUILT_BOOTIMAGE: removes the restriction of non system-as-root
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
2021-05-14 17:55:32 +08:00
Treehugger Robot
04d72d0a46 Merge "Do not enforce debugfs restrictions on GSI builds" 2021-05-14 05:05:20 +00:00
Treehugger Robot
bf5d6238fe Merge "Don't make dexpreopt_tools.zip when dex2oat isn't avilable" 2021-05-14 01:21:41 +00:00
Hridya Valsaraju
329d896e52 Do not enforce debugfs restrictions on GSI builds
Devices that launched before Android S must still be able to access
debugfs.

Bug: 188022148
Test: build boot
Change-Id: I18ecec3f7daf5a1085de40606640ead63457c4b2
2021-05-13 17:28:27 -07:00
Jaewoong Jung
b34f64fc7a Do not alter presigned prebuilt apks for SDK > 29.
Bug: 185811447
Test: Manual
Change-Id: I5ea143331e1bd1885dde4e46b086f4ce811f4981
2021-05-13 16:16:19 -07:00
Yifan Hong
c05ef17e31 Merge "Rectify KMI version." 2021-05-13 19:32:10 +00:00
Chris Wailes
0c650895bc Add dalvik.vm.dexopt.thermal-cutoff system property
Test: Boot
Bug: 165935246
Change-Id: I45a8f8d6c7e99feccacd0bc8897f791571bdd9c9
2021-05-13 10:59:22 -07:00
Treehugger Robot
ae6bdc0c74 Merge "Revert^2 "Enforce <uses-library> check for Android.mk modules."" 2021-05-13 12:31:44 +00:00
Ulyana Trafimovich
7ceafdaf34 Revert^2 "Enforce <uses-library> check for Android.mk modules."
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
2021-05-13 09:52:38 +00:00
Jeongik Cha
62519def7b Don't make dexpreopt_tools.zip when dex2oat isn't avilable
Test: m
Bug: 158843648
Change-Id: Iae90ea60fc73f1a6202499528277fce7c950d9d3
2021-05-13 13:29:39 +09:00
Treehugger Robot
26bad544c5 Merge "Target for tools to dexpreopt" 2021-05-13 00:04:36 +00:00
Ulyana Trafimovich
a6461c867f Merge "Revert "Enforce <uses-library> check for Android.mk modules."" 2021-05-12 22:27:23 +00:00
Ulyana Trafimovich
a700ad4651 Revert "Enforce <uses-library> check for Android.mk modules."
This reverts commit 0b154519b0.

Reason for revert: breaks the builds on stage-aosp-master

Change-Id: I72b45041ea8f1d73a57a2788a79183150c12e547
2021-05-12 22:20:12 +00:00
Yifan Hong
29c1639715 Rectify KMI version.
Test: builds
Bug: 187913647
Bug: 187432172
Change-Id: Ic01c385b3474c78c5ac2da3b1a5a253eb241ed9b
2021-05-12 14:28:19 -07:00
Ulyana Trafimovich
14d2317167 Merge "Enforce <uses-library> check for Android.mk modules." 2021-05-12 20:16:00 +00:00
Jeongik Cha
2522c36b4c Target for tools to dexpreopt
Bug: 158843648
Test: m droidcore
Change-Id: I580e2b3285cc524234859998a0e4e072ecaef072
2021-05-12 23:28:49 +09:00
Ulya Trafimovich
0b154519b0 Enforce <uses-library> check for Android.mk modules.
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)
2021-05-12 14:19:40 +00:00
Tianjie Xu
fc15d50d6d Merge "Calculate the runtime ro.build.id in ota scripts" 2021-05-11 19:19:09 +00:00
Håkan Kvist
2e1f5271c5 When checking if mke2fs is used, compare using basename
build_image adds additional parameters (uuid, hash_seed) if
prop_dict["ext_mkuserimg"] is set to "mkuserimg_mke2fs".
The comparison does not take paths into consideration, so passing a
full path to mkuserimg_mke2fs would cause the parameters to not
be included.

This is currently not an issue for aosp builds, but could cause problems
for customized build systems.

Bug: 187742822
Test: Manual, using vendor build system, also executed 'm droid'
Change-Id: I7a8973dd0c4d8a39aea5aafcfe1aa69750fb1449
2021-05-11 16:48:53 +02:00
Treehugger Robot
328a537e37 Merge "Fix GKI 2.0 signing in the release process" 2021-05-11 13:05:15 +00:00
Bowgo Tsai
7bcb55b414 Fix GKI 2.0 signing in the release process
In the release signing process, it uses --signing_helper_with_files
for avbtool. This can be done by passing
--gki_signing_signature_args="--signing_helper_with_files=/path/to/helper.sh"
for mkbootimg.

However, this only works when there is a default value of
"gki_signing_signature_args" in the misc_info.txt, to be appended
with more extra args. Adding a default value "--prop foo:bar" to make
it work.

Note: also move the BOARD_GKI_* signing config to
BoardConfigGsiCommon.mk, so we don't have to duplicate the settings
for each architecture.

Bug: 178559811
Bug: 177862434
Test: `make bootimage`
      `unpack_bootimg --boot_img $OUT/boot.img --out unpack`
      `avbtool info_image --image ./unpack/boot_signature`
Change-Id: I8bd8ad3acf324931b47d45fd30bc590206b1927e
2021-05-11 18:10:18 +08:00
Treehugger Robot
dcadb68011 Merge "sign_target_files_apks: replacing GKI signing args completely" 2021-05-11 07:30:16 +00:00
Tianjie
fdda51d2ae Calculate the runtime ro.build.id in ota scripts
If the build prop ro.build.id isn't set at build time, init will
set it at runtime. The logic is appending the vbmeta digest to
the ro.build.legacy.id.

Make the same change in ota scripts, so the correct build fingerprint
will be saved in the ota metadata.

Bug: 186786987
Test: generate an OTA, check the metadata
Change-Id: I278f59c41c1f98d4cbea749e5d9e4eaf7a6b9565
2021-05-10 11:35:48 -07:00
Bowgo Tsai
bcae74def7 sign_target_files_apks: replacing GKI signing args completely
Commit I8bd8ad3acf324931b47d45fd30bc590206b1927e adds a default
value of "gki_signing_signature_args" in the misc_info.txt for
release signing to work. However, it's better to replace the default
value entirely (e.g., --prop foo:bar) as there is no need to include
them in the final release-signed image.

Bug: 178559811
Bug: 177862434
Test: atest releasetools_test
Test: atest releasetools_py3_test
Change-Id: I060b5a7076ff3e5d883abeb7d72f3db887c9fd69
2021-05-10 17:43:52 +08:00