Commit graph

1150 commits

Author SHA1 Message Date
Tianjie Xu
7d958f4fd0 Merge "Use sha256 to build the hashtree in avb image" 2020-12-11 20:56:05 +00:00
Tianjie
055128bf10 Use sha256 to build the hashtree in avb image
The hashtree is used in verified boot, and sha256 is more robust against
malicious attacks. Also, sha256 uses the same space as sha1 in the
hashtree. And there isn't much performance regression per
https://b.corp.google.com/issues/156162446#comment18

By putting the config in BoardConfigMainlineCommon.mk, we enable sha256
on all Pixels. And devices who want to use a different hash algorithm
can override it in it's own board configs.

Bug: 156162446
Test: boot the device and check performance
Change-Id: I9f1d3bcf241bc65adf10376cc5ae7ab1986216fa
2020-12-11 01:26:12 +00:00
Will McVicker
55cd0ee523 Update aosp_arm64 kernel 4.19 prebuilt name
The aosp_arm64 kernel 4.19 prebuilt name is now kernel-4.19-gz instead
of Image.gz.

Bug: 172246735
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I4e6a1fefdf207f97cc6ec5e6ebec261473d1218d
Merged-In: I4e6a1fefdf207f97cc6ec5e6ebec261473d1218d
2020-12-10 18:47:03 +00:00
Anton Hansson
63d3835f4a Merge changes Ib2a4a208,Ic8235912
* changes:
  Set allow list for generic ramdisk
  Add a "relaxed" mode for require-artifacts-in-path
2020-12-10 12:20:26 +00:00
Lingfeng Yang
d5f89b11e6 Merge "emulator_arm64: Don't support AArch32" 2020-12-09 17:47:33 +00:00
Yifan Hong
e51c7e8aef Set allow list for generic ramdisk
Devices that uses generic ramdisk must inherit from generic_ramdisk.mk.
This makefile ensures that only a set of files can be installed to the
ramdisk. Other files must be installed to the vendor-ramdisk.

Let aosp_arm64 use this makefile.

Fixes: 173742069
Test: manual
Change-Id: Ib2a4a208deaf2f4d707bec256207b4b8479a601a
(cherry picked from commit bc9608c4c3f3cd0ac3f29863209c80fcfe4e2f7f)
2020-12-09 16:31:25 +00:00
Lingfeng Yang
9b6de576dc emulator_arm64: Don't support AArch32
This is needed for the emulator to run on Apple Silicon.

In addition, we're going to move to 64-bit only soon across the platform
so it makes more sense to go with 64-bit-only going forward here.

Change-Id: I0d9d189cd0b7a07d6c315e8c0f99c7b4766b4bde
2020-12-08 00:26:06 +00:00
Yifan Hong
1482fba34f Remove e2fsck from generic ramdisk.
On devices using the generic ramdisk / GKI,
e2fsck is moved to vendor ramdisk now.

Fixes: 173425293
Test: build and manual inspect.
Change-Id: I27562a875ca33a1b6dd3dcf862232fd4dfef6564
2020-12-04 15:28:57 -08:00
Treehugger Robot
68f59362f4 Merge "aosp_arm64: clarify GKI in readme." 2020-11-17 00:46:41 +00:00
Yifan Hong
d440184471 aosp_arm64: clarify GKI in readme.
Test: none
Change-Id: Id24912a67c8700f3c68dfa924ab7b85246c7fcb0
2020-11-16 11:40:58 -08:00
Jeff Vander Stoep
f5dd057095 OWNERS: include core sepolicy OWNERS
Simplify OWNERS by referencing a centralized list.

Test: n/a
Change-Id: Ibbdb8b217e387bdc66069e91d034a933ca9fa2b0
2020-11-16 13:26:38 +01:00
Yifan Hong
49968aa137 aosp_arm64 Copy boot image from $OUT to target files
If BOARD_COPY_BOOT_IMAGE_TO_TARGET_FILES is defined,
in target files, instead of rebuilding the boot image, copy the boot
image already built in $OUT to target files package directly so that
they are the same package.

Define BOARD_COPY_BOOT_IMAGE_TO_TARGET_FILES for aosp_arm64.

The GKI APEX is built using the boot image in $OUT. If the boot image in
$OUT is different from the boot image in target files, aka the generic
boot image we release, the GKI APEX we built is invalid.

If another device needs to copy $OUT/boot.img to target files, it can
define BOARD_COPY_BOOT_IMAGE_TO_TARGET_FILES.

Fixes: 172682114
Test: lunch aosp_arm64 &&
Change-Id: I10fc7a5aa36e976dbeaf25434239687455bba061
2020-11-10 12:55:40 -08:00
Yifan Hong
97c8455634 Merge "Install e2fsck_ramdisk to GKI ramdisk." 2020-11-06 19:17:15 +00:00
Yifan Hong
84ae75cd3c Install e2fsck_ramdisk to GKI ramdisk.
Test: build and inspect output
Bug: 172603832
Fixes: 171326057
Change-Id: If656efdea8a503dc837f23898a5f0ed56884eda4
2020-11-06 10:28:03 -08:00
Treehugger Robot
a0aebc1081 Merge "Phase out Legacy GSI" 2020-11-06 04:00:40 +00:00
Treehugger Robot
d41b82563f Merge "Switch ramdisk.img to the LZ4 format" 2020-11-05 21:30:28 +00:00
Roman Kiryanov
49803e35b9 Switch ramdisk.img to the LZ4 format
Bug: 169336853
Test: file out/target/product/emulator_x86_64/ramdisk.img
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I085d230a49cd92cc7fe3a620eec411d0e8b90667
2020-11-05 10:47:55 -08:00
SzuWei Lin
d418471390 Phase out Legacy GSI
Legacy GSI is the GSI for the O/O-MR1 launching devices. VINTF and
VNDK do not support O/O-MR1 now. It is the time to phase out Legacy
GSI.

Bug: 162277261
Test: none
Change-Id: I55901604da21daa58b51ee6676cd61bb9e4ff5e6
2020-11-03 18:23:57 +08:00
Yifan Hong
c10e367912 Enable BOARD_USES_GKI on aosp_arm64
Enable BOARD_USES_GENERIC_KERNEL_IMAGE := true. In addition:
- Disable recovery_as_boot
- Disable recovery (PRODUCT_BUILD_RECOVERY_IMAGE=false)

Test: builds, and mmma packages/modules/Gki
Bug: 156098440
Change-Id: If6988f6b44f098ed8f1dc214eee1f2223fd03ae8
2020-11-02 11:28:20 -08:00
Daniel Norman
ad6293c098 Removes usage of TARGET_NO_VENDOR_BOOT.
- true -> PRODUCT_BUILD_VENDOR_BOOT_IMAGE=false
- false -> (removed, uses default option which builds vendor-boot.img
            if BOARD_BOOT_HEADER_VERSION>=3)

Bug: 170423509
Test: Inspect build artifacts from treehugger.
Change-Id: Id16fbda7fdfc70d62db389d6efb5201cb0d6d4e3
2020-10-16 15:10:21 -07:00
Steve Muckle
0f0fa1a07d Revert^2 "use new GKI kernel location"
a0281768fe

This revert includes a fix to use the lz4 variant of the kernel,
as was the case before, rather than the uncompressed one.

Bug: 170451791
Change-Id: Iaab082d8bba04df82d742d682251447f3e21fe9b
2020-10-09 10:32:57 -07:00
Xiao Ma
a0281768fe Revert "use new GKI kernel location"
Revert "Update kernel to builds 6888926"

Revert submission 1454075-2020-10-07-gki-update

Reason for revert: Looks like this topic changes caused daily build broken, the error log as:

error: +out/target/product/emulator_arm64/boot.img too large (34934784 > 33484800)

I tried to revert this topic first and then feel free to revert revert it.

Reverted Changes:
Ie74ca26e8:use new GKI kernel location
Ibff0d9638:Update kernel to builds 6889747
I693476e82:Update kernel to builds 6888926
I35d7f320c:Update kernel to builds 6888926
Id221a7a30:Update kernel to builds 6888926
I4421dbf67:remove kernel, kernel modules from cuttlefish_kern...
I991f9a6af:Allow downstream devices to customize vendor modul...
I598630e09:load kernel, kernel modules from updated locations...

Bug: 170451791
Change-Id: I4d8f18a7c80eb92cb475c48e1dcf04ceabd08984
2020-10-09 07:22:45 +00:00
Steve Muckle
4f10706721 use new GKI kernel location
The GKI kernel is now stored in kernel/prebuilts.

Bug: 161563956
Change-Id: Ie74ca26e8e9bf05c824eb87e03eeda865d861dde
2020-10-08 20:25:49 +00:00
Dan Shi
82c4cb74c6 Remove build tasks for vts10
Bug: 169581727
Test: build
Change-Id: I865553ae07bc6eac3b90f87a494537102c398280
2020-10-05 10:17:21 -07:00
Sam Lin
7c9f562d00 Add an aosp target that supports 64-bit app only
Bug: 168796046
Test: N/A
Change-Id: I57116fe67cbe1322f348c9d0506655f32a900dcc
Merged-In: I57116fe67cbe1322f348c9d0506655f32a900dcc
2020-09-21 17:44:46 +00:00
Treehugger Robot
6651152c08 Merge "Disable sparse image for GSI products" 2020-09-11 08:17:49 +00:00
Yo Chiang
90339f9563 Disable sparse image for GSI products
There are a couple of use cases where we don't want sparse image:
1. `DynamicSystemInstallationService` in Q framework doesn't support
   sparse images.
2. Super image manipulation tools (like `lpadd`) doesn't play nice with
   sparse images.

Force non-sparse GSI so we don't break backwards compatibility (1) and
we don't need to write `simg2img` everywhere (2).

Bug: 167695592
Test: Prepare a device flashed with Q framework
Test: Build system.img and create system.img.zip; the image is non-sparsed
Test: m tradefed-all && \
  tradefed.sh run commandAndExit template/atest_local_min \
  --template:map preparers=template/preparers/dsu-preparer \
  --extra-file system-img.zip=out/.../system.img.zip \
  --dynamic-system-update:disable-tear-down
Change-Id: Ib7667165ce53e87eb86bc7d3f56c80a418123a62
2020-09-08 16:55:43 +08:00
Xin Li
c2fd58fe67 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ie00dbea32e074838466eeed00f316250c2b4f3c2
Change-Id: I9ee3441fd4d063b9dd489cb1b01d3dbc11332457
2020-08-29 01:19:44 -07:00
Yifan Hong
e5ab7a241b Set BOARD_KERNEL_MODULE_INTERFACE_VERSIONS for aosp_arm64
Test: m com.android.gki.boot-5.4_5.4-android12-0
Bug: 162888350
Change-Id: I8ac387cc52e498c2790c0b84e866a307fdd1ae8b
2020-08-24 12:23:27 -07:00
Steve Muckle
2f17246fe7 enable LZ4 ramdisks for aosp_arm64
LZ4 is much faster to decompress than gzip.

Bug: 158791155
Change-Id: Id962c439c54e8c4fcca003acad3b7e09d1dec424
2020-08-20 10:17:37 -07:00
Steve Muckle
2ad32ef3af add kernels with untrimmed symbols to aosp_arm64
For development and debugging it is useful to have boot images with all
kernel symbols exported.

Bug: 163613927
Change-Id: I6118e5f0fff6e9cbc20ecca6bd362a26a79544b1
2020-08-17 15:16:30 -07:00
Hung-ying Tyan
81f3929867 Remove vbmeta_system from GSI targets
This partially reverts commit 1785816ca1
so that the hash tree at the end of GSI is properly signed by AVB.

Bug: 161503491
Test: 'm dist' and check that vbmeta_system.im is gone
Test: boot GSI on android10 CF
Test: 'avbtool info_image --image system.img' and check AVB signing
Change-Id: I9f488380c0c410fdbd02c3c0803b6dc06cf7faab
2020-07-31 18:59:40 +08:00
Steve Muckle
5cbd88ab6c add android-mainline kernels to aosp_arm64 build
To enable testing with android-mainline kernels, and them to the
aosp_arm64 build so android-mainline-based GKI boot images are produced.

Bug: 162020942
Change-Id: Ib1f957608a720a763a14324e4ca25ee170154fbb
Merged-In: Ib1f957608a720a763a14324e4ca25ee170154fbb
2020-07-24 08:09:15 -07:00
Jing Ji
cc5d2cca25 Remove LMK properties from GSI image
These two properties shouldn't be set in GSI image from R on,
otherwise they'll force lmkd to use the legacy strategy.

Bug: 136212765
Test: run cts-on-gsi -m CtsFileSystemTestCases
Test: run cts-on-gsi -m CtsAppExitTestCases
Change-Id: Id0001f8c4187a280cffe6c72d7a39be29065ca4e
2020-07-20 18:52:40 +00:00
Hung-ying Tyan
9ca864f88a Merge "Enable vbmeta_system for GSI targets" am: 6fa0dd9b94 am: 38267e1455
Original change: https://android-review.googlesource.com/c/platform/build/+/1359124

Change-Id: I85ad96c79f7d04c00a3aaee2fdbca7ddec709dad
2020-07-15 07:05:59 +00:00
Hung-ying Tyan
1785816ca1 Enable vbmeta_system for GSI targets
in order to mix GSI onto android10 Cuttlefish.

Bug: 158302764
Test: mixing GSI onto android10 Cuttlefish
Change-Id: I77385495583034324f5e29bed27c588dc98215e2
2020-07-14 16:04:20 +00:00
Jiyong Park
8b266f16a9 Don't inherit tablet-dalvik-heap for GSI and emulator
GSI and emulator should not be specialized for tablet.

This is also to avoid the expected sysprop conflict after
I9c073a21c8257987cf2378012cadaeeeb698a4fb gets in. With the change,
duplicate assignments of a sysprop is prohibited. We currently have the
duplication due to the following hierarchy chain:

aosp_arm64.mk
 -> emulator_vendor.mk -> goldfish/vendor.mk -> phone-xhdpi-2048-dalvik-heap.mk
 -> generic_arm64/device.mk -> tablet-dalvik-heap.mk

Many of the dalvik.vm.* properties are duplicated between phone-*-
dalvik-heap.mk and tablet-dalvik-heap.mk files.

Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I4d1e2f819fe688a4a85e58387b6af58d603399d3
(cherry picked from commit 9f2f6dd9c9)
Change-Id: I4d1e2f819fe688a4a85e58387b6af58d603399d3
2020-06-30 18:44:11 +09:00
Jiyong Park
6ce12029b0 Don't inherit tablet-dalvik-heap for GSI and emulator
GSI and emulator should not be specialized for tablet.

This is also to avoid the expected sysprop conflict after
I9c073a21c8257987cf2378012cadaeeeb698a4fb gets in. With the change,
duplicate assignments of a sysprop is prohibited. We currently have the
duplication due to the following hierarchy chain:

aosp_arm64.mk
 -> emulator_vendor.mk -> goldfish/vendor.mk -> phone-xhdpi-2048-dalvik-heap.mk
 -> generic_arm64/device.mk -> tablet-dalvik-heap.mk

Many of the dalvik.vm.* properties are duplicated between phone-*-
dalvik-heap.mk and tablet-dalvik-heap.mk files.

Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I4d1e2f819fe688a4a85e58387b6af58d603399d3
(cherry picked from commit 9f2f6dd9c9)
Change-Id: I4d1e2f819fe688a4a85e58387b6af58d603399d3
2020-06-30 14:27:58 +09:00
TreeHugger Robot
d8b16dcab4 Merge "enable LZ4 ramdisks for aosp_arm64" into rvc-dev am: f854cf8317
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11895387

Change-Id: I59e68fca3916d07490f0cab90060ce1dbb1d7e01
2020-06-17 18:02:30 +00:00
Steve Muckle
a6da7bc44a enable LZ4 ramdisks for aosp_arm64
LZ4 is much faster to decompress than gzip.

Bug: 158791155
Change-Id: Id962c439c54e8c4fcca003acad3b7e09d1dec424
2020-06-17 09:00:51 -07:00
TreeHugger Robot
61802a76d1 Merge "add 4.19 kernel to aosp_arm64" into rvc-dev am: d9673e768a
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11887882

Change-Id: Ie30dc40aafa47cfba1fae7376a7bdbd295afac66
2020-06-17 03:11:04 +00:00
Steve Muckle
9c4a0ea67f add 4.19 kernel to aosp_arm64
Create a 4.19 kernel GKI boot image.

Bug: 158791155
Change-Id: I2dcfe29f2e8414c0362992a6e6ca68a86f367d4e
2020-06-16 17:49:18 -07:00
Jiyong Park
cd0c931b89 Merge "Organize product vars for adding properties" 2020-06-15 10:00:22 +00:00
Yo Chiang
d0935e46f5 Merge "Remove default GSI libnfc-nci.conf" am: 2294009766 am: b1f03ab796
Original change: https://android-review.googlesource.com/c/platform/build/+/1322636

Change-Id: I0c7a1a306edb314e52bf3c50cfd6727b97889d04
2020-06-12 03:11:30 +00:00
Jiyong Park
eb49b34b1e Organize product vars for adding properties
Properties for <partition>/build.prop are now added via
PRODUCT_<PARTITION>_PROPERTIES.

PRODUCT_SYSTEM_PROPERTIES is added. PRODUCT_SYSTEM_DEFAULT_PROPERTIES
will be deprecated.

PRODUCT_VENDOR_PROPERTIES is added. PRODUCT_PROPERTY_OVERRIDES and
PRODUCT_DEFAULT_PROPERTY_OVERRIDES will be deprecated in favor of the new
variable.

For other partitions (odm, system_ext, product), there is no change.

Exempt-From-Owner-Approval: cherry-pick from internal master

Bug: 117892318
Test: m
Merged-In: I98f3b5d0da661b3ad75260a23754e655103b7a44
(cherry picked from commit ad810b6dae)
Change-Id: I98f3b5d0da661b3ad75260a23754e655103b7a44
2020-06-11 15:35:23 +09:00
Jiyong Park
1ea01c5b24 Organize product vars for adding properties
Properties for <partition>/build.prop are now added via
PRODUCT_<PARTITION>_PROPERTIES.

PRODUCT_SYSTEM_PROPERTIES is added. PRODUCT_SYSTEM_DEFAULT_PROPERTIES
will be deprecated.

PRODUCT_VENDOR_PROPERTIES is added. PRODUCT_PROPERTY_OVERRIDES and
PRODUCT_DEFAULT_PROPERTY_OVERRIDES will be deprecated in favor of the new
variable.

For other partitions (odm, system_ext, product), there is no change.

Exempt-From-Owner-Approval: cherry-pick from master

Bug: 117892318
Test: m
Merged-In: I98f3b5d0da661b3ad75260a23754e655103b7a44
(cherry picked from commit ad810b6dae)
Change-Id: I98f3b5d0da661b3ad75260a23754e655103b7a44
2020-06-11 15:13:41 +09:00
Yo Chiang
dcfa601374 Remove default GSI libnfc-nci.conf
libnfc-nci.so provides a default config at /system/etc/libnfc-nci.conf.
Remove /system/etc/libnfc-nci.conf PRODUCT_COPY_FILES entries from
aosp_product.mk and board/generic/device.mk.

Bug: 157704723
Test: Build gsi. /system/etc/libnfc-nci.conf is installed.
Test: Flash gsi. Check logcat and NFC still works.
Test: Toggle NFC on/off and /etc/libnfc-nci.conf is loaded.
Test: Build aosp_bonito. Both /(system|product)/etc/libnfc-nci.conf are
  installed.
Test: Flash aosp_bonito. Check logcat and NFC still works.
Test: Toggle NFC on/off and /product/etc/libnfc-nci.conf is loaded.
Change-Id: Id119a88a10b549e1fd475cf9b14b18410923011b
2020-06-08 11:56:10 +00:00
SzuWei Lin
c73db784b9 Create emulator_* devices for emulators
aosp_arm64 has no emulators after the patch:

https://android-review.googlesource.com/c/platform/build/+/1286895

The patch creates all other emulator_* devices by cloning from
generic_*, and modify all sdk_phone_* to use them.

Bug: 111538404
Test: build sdk_phone_armv7-userdebug
Test: build sdk_phone_x86_64-userdebug
Test: build sdk_phone_x86-userdebug
Change-Id: I2b82e999ea919f005729f322cd948e6b72ba6843
2020-05-27 16:41:44 +08:00
Treehugger Robot
0e19b74112 Merge "Move BOARD_EXT4_SHARE_DUP_BLOCKS to BoardConfigMainlineCommon.mk" 2020-05-20 13:32:24 +00:00
Steve Muckle
53226684b9 support different boot partition sizes in aosp_arm64
The different boot images in aosp_arm64 have different partition size
requirements. Add support for defining a partition size associated with
each boot image variant.

This support is limited to aosp_arm64 currently, which is built with
recovery-as-boot.

A previous version of this change did not update the boot-debug image
AVB logic with the required macro for multiple boot partition size
support. This is now required because the aosp-arm64 boot.img is
configured as a chained AVB partition.

Bug: 156036850
Bug: 155049180
Change-Id: I66b57de91042bfd56ba54a3659843d8cf7873955
Merged-In: I66b57de91042bfd56ba54a3659843d8cf7873955
2020-05-19 14:37:40 -07:00