Commit graph

59570 commits

Author SHA1 Message Date
Mark Salyzyn
d702af1ef1 depmod: pair in a modules.load.recovery on BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD
If the BoardConfig defined BOARD_VENDOR_RAMDISK_MODULES_LOAD and
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD, generate both a
modules.load and modules.load.recovery respectively on the vendor
ramdisk.  BOARD_VENDOR_RAMDISK_MODULES must be the set, or super set,
of all the modules represented in both of *_LOAD BOARD variables.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 151950334
Test: build, confirm, fastboot flashall, boot with split.
Merged-In: Ib2925aec6ea7a2a01a554c808d6697d8c85f9fc0
Change-Id: Ib2925aec6ea7a2a01a554c808d6697d8c85f9fc0
2020-05-27 13:26:00 +00:00
TreeHugger Robot
0e5c584ba8 Merge "Generate product build props always" into rvc-dev 2020-05-27 04:46:06 +00:00
Hongguang Chen
4217f575c3 Merge "Allow more than one '=' in avb_extra_custom_image_extra_args." into rvc-dev 2020-05-26 23:46:13 +00:00
J. Avila
43872f0eb7 Strip debug symbols from modules
The size of the ramdisk has greatly increased, which can be a source of
boot time regressions. Strip the modules of debug symbols for the vendor
ramdisk and vendor partitions; vendor stripping can be skipped via BOARD
config.

Bug: 156395749
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: I248d4e2097992f00975b344b5da41aa5d8016812
2020-05-26 14:38:43 +00:00
TreeHugger Robot
13aff4012d Merge "sign_apex.py respects hash algorithm" into rvc-dev 2020-05-26 01:03:48 +00:00
Hongguang Chen
4975a9334f Allow more than one '=' in avb_extra_custom_image_extra_args.
avb_extra_custom_image_extra_args can be set to
'oem=--signing_helper_with_files=/tmp/avbsigner.sh' on signing server.
The second '=' shouldn't be splitted in this case.

BUG: 154171021
Test: Manually sign target zip files which has custom images.
  sign_target_files_apks -d certs --avb_extra_custom_image_key \
    oem=oem_rsa4096.pem --avb_extra_custom_image_algorithm \
    oem=SHA256_RSA4096 --avb_extra_custom_image_extra_args \
    oem="--signing_helper_with_files=/tmp/avbsigner.sh" \
    xxxx-target_files.zip signed.zip

Change-Id: I815d574f791734d4c6a25a9f8d827b5b4f93d7cc
Merged-In: I815d574f791734d4c6a25a9f8d827b5b4f93d7cc
2020-05-25 15:11:30 -07:00
SzuWei Lin
509cd70f42 Generate product build props always
GSI do not build product partition, and contains the product
contents under /system/product/. Original logic do not generate
the product build props on this case.

The patch fixes the logic for product build props generation to
align the other partitions.

Bug: 157191627
Test: build aosp_arm64-userdebug
Test: check /system/product/build.prop in out folder
Change-Id: I350bbf8c024f747c86c6c54065d690f6b46f30c6
Merged-In: Ia88c8efecb18db9c27baa466e492bfd898b581d3
2020-05-25 05:46:53 +00:00
Hongguang Chen
d9edddd64d Add options to sign the prebuilt custom images.
The custom images are any images owned by OEMs and SoCs, oem images
mounted on /oem is an example. The oem images can be used to customize
devices for different carriers, like wallpaper, ringtones, and
carrier-specific apks. OEMs can generate multiple oem images, like
oem.img, oem-carrier1.img and oem-carrier2.img and flash different oem
images for different carriers. The oem images are only one case, OEMs
and SoCs can add more custom images and mount them to custom partitions.

This change enables custom images to be vbmeta.img chained partitions.
The following configuration in BoardConfig.mk is an exmaple. It has two
custom partitions: oem and test. They will be signed by different keys.
And they will be chained by vbmeta.img. The custom images here are
prebuilts, which can be built by `make custom_images` separately.
BOARD_AVB_<CUSTOM_PARTITION>_IMAGE_LIST should include all custom images
to apply AVB signing. And to every custom partition, one image whose
name is partition name must be added in its
BOARD_AVB_<CUSTOM_PARTITION>_IMAGE_LIST.

BOARD_CUSTOMIMAGES_PARTITION_LIST := oem test

BOARD_AVB_OEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_OEM_ALGORITHM := SHA256_RSA4096
BOARD_AVB_OEM_ADD_HASHTREE_FOOTER_ARGS :=
BOARD_AVB_OEM_ROLLBACK_INDEX_LOCATION := 1
BOARD_AVB_OEM_PARTITION_SIZE := 5242880
BOARD_AVB_OEM_IMAGE_LIST := \
    device/xxxx/yyyy/oem/oem.img \
    device/xxxx/yyyy/oem/oem1.img

BOARD_AVB_TEST_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_TEST_ALGORITHM := SHA256_RSA2048
BOARD_AVB_TEST_ADD_HASHTREE_FOOTER_ARGS :=
BOARD_AVB_TEST_ROLLBACK_INDEX_LOCATION := 2
BOARD_AVB_TEST_PARTITION_SIZE := 10485760
BOARD_AVB_TEST_IMAGE_LIST := \
    device/xxxx/yyyy/test/test.img \
    device/xxxx/yyyy/test/test1.img

To resign the custom images in the target zip file, the
avb_extra_custom_image_key, avb_extra_custom_image_algorithms and
avb_extra_custom_image_extra_args options are added to the
sign_target_files_apks tool too. The following test cases list some
examples about how to use them.

BUG: 154171021
Test: 1) "atest --host releasetools_test releasetools_py3_test -c"
  2) Build images by 'make dist', sign and validate target files.
   a) Test on dist w/ chained vbmeta_system and ome custom images
   sign_target_files_apks -d certs \
     --avb_extra_custom_image_key oem=oem_rsa4096.pem \
     --avb_extra_custom_image_algorithm oem=SHA256_RSA4096 \
     xxx-target_xxx.zip signed.zip
   validate_target_files.py signed.zip
   Flash image and boot up.
   Verify the oem images and vbmeta images in OUT and target zips by
   avbtool.

   b) Test on dist w/ chained vbmeta_system and oem and test custom images
   sign_target_files_apks -d certs \
     --avb_extra_custom_image_key oem=oem_rsa4096.pem \
     --avb_extra_custom_image_algorithm oem=SHA256_RSA4096 \
     --avb_extra_custom_image_extra_args oem=--do_not_generate_fec \
     --avb_extra_custom_image_key test=test_rsa4096.pem \
     --avb_extra_custom_image_algorithm test=SHA256_RSA4096 \
     xxx-target_xxx.zip signed.zip
   validate_target_files.py signed.zip
   Verify the oem, test images and vbmeta images in OUT and target zips
   by avbtool.

   c) Test on dist w/o chained partition.
   sign_target_files_apks -d certs xxx-target_xxx.zip signed.zip
   validate_target_files.py signed.zip
   Flash image and boot up.
   Verify the vbmeta images in OUT and target zips by avbtool.

Change-Id: Ifccfee5e8909697eef6ccda0cc352fa16a9f6db6
Merged-In: Ifccfee5e8909697eef6ccda0cc352fa16a9f6db6
2020-05-21 22:22:19 +00:00
Daniel Rosenberg
241877809f Merge "Disable sdcardfs from emulated_stroage.mk" into rvc-dev 2020-05-21 08:31:22 +00:00
Jiyong Park
b3a5402d3f sign_apex.py respects hash algorithm
When sign_apex.py re-signs an apex, the hash algorithm is extracted and
it is used when re-packaging the file.

Bug: 155771970
Test: releasetools_py3_test doesn't regress
(some tests were failed, but they failed even without this change:
test_ApexApkSigner_apkKeyNotPresent (test_apex_utils.ApexUtilsTest) ... ERROR
test_ApexApkSigner_noApkPresent (test_apex_utils.ApexUtilsTest) ... ERROR
test_ApexApkSigner_noAssetDir (test_apex_utils.ApexUtilsTest) ... ERROR
test_ApexApkSigner_signApk (test_apex_utils.ApexUtilsTest) ... ERROR)

Merged-In: I996a33e0208d3dd3a04a31b8dafb27ef995297f2
Change-Id: I996a33e0208d3dd3a04a31b8dafb27ef995297f2
(cherry picked from commit a1887f326c)
2020-05-21 09:58:00 +09:00
TreeHugger Robot
d078cc9f78 Merge "Update Security String to 2020-07-05" into qt-qpr1-dev am: e549d10438
Change-Id: If51535409877a076bbc636753cc0e357fea2520e
2020-05-20 22:05:03 +00:00
TreeHugger Robot
e549d10438 Merge "Update Security String to 2020-07-05" into qt-qpr1-dev 2020-05-20 21:47:09 +00:00
TreeHugger Robot
df865a9a17 Merge "Do not fail if unzip found no files to extract" into rvc-dev 2020-05-20 17:15:16 +00:00
Sasha Smundak
5761b525de Do not fail if unzip found no files to extract
Fixes: 157081961
Test: manual
Change-Id: Ib84c9fa1ceb45542ebcee14e048ecf2c1783c0c0
2020-05-20 04:56:05 +00:00
Daniel Rosenberg
32be864b0e Disable sdcardfs from emulated_stroage.mk
This sets external_storage.sdcardfs.enabled=0 from emulated_storage.mk,
which will disable sdcardfs on devices that are using casefolding and
quotas as sdcardfs replacements. This allows the device to use these if
sdcardfs is present in the kernel.

Bug: 155222498
Test: mount|grep "type sdcardfs" should find nothing after boot complete
      if external_storage.sdcardfs.enabled=0
Change-Id: Id0446a7cac5ac768afc3b3e046359fc4e945e554
2020-05-20 04:50:06 +00:00
Roland Levillain
7f81fd1403 [automerger skipped] Introduce build variable OVERRIDE_TARGET_FLATTEN_APEX. am: 1dbb0c3d1e -s ours
am skip reason: Change-Id Ib9ccae38430340de38e4758b4f55df2c65ea60d5 with SHA-1 b3a503df7f is in history

Change-Id: I857709a0805622d6c16a44b393ab1f38cacaddee
2020-05-20 04:03:58 +00:00
TreeHugger Robot
27e8474d57 Merge "support different boot partition sizes in aosp_arm64" into rvc-dev 2020-05-20 03:26:56 +00:00
Remi NGUYEN VAN
5016b84b00 Merge "Use NetworkStack on system image" into rvc-dev 2020-05-20 00:52:47 +00:00
TreeHugger Robot
581a943336 Merge "Fix the syntax in install-recovery.sh" into rvc-dev 2020-05-19 22:44:39 +00:00
Dan Shi
e47836b0c6 Merge "Revert "Add vts related artifacts to vts-core package"" into rvc-dev 2020-05-19 22:25:44 +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
Tianjie
e55f62c971 Fix the syntax in install-recovery.sh
We recently modify the logic in install-recovery.sh to support
non-A/B updates on VAB launched devices. And the position of the
$(getprop ro.boot.slot_suffix) is misplaced for the recovery image.
For example:
"if ! applypatch --check EMMC$(getprop ro.boot.slot_suffix):/dev/block/recovery:SHA1"
should be:
"if ! applypatch --check EMMC:/dev/block/recovery$(getprop ro.boot.slot_suffix):SHA1"

Bug: 156979431
Test: rerun add_image_to_target_file, then validate_target_files
Change-Id: Id2d45e281151a46d66b37ea8fdb7b5cb4ae72e81
2020-05-19 13:44:26 -07:00
Dan Shi
a1082fb046 Revert "Add vts related artifacts to vts-core package"
This reverts commit 5e06288e7c.

Bug: 149249068
Test: build

Change-Id: I8245f1b7a4a74e133c0b7958e0f2908e4e8efd05
Merged-In: I8245f1b7a4a74e133c0b7958e0f2908e4e8efd05
2020-05-19 13:24:59 -07:00
Remi NGUYEN VAN
5f2e395212 Use NetworkStack on system image
Now that NetworkStack was bumped to API 30, use NetworkStack instead of
NetworkStackNext on the system image.

This change should not be merged in branches that are used for building
S system images for internal testing. Note that the merged-in change
is not related to this change; it is just used to prevent this change
from merging into the aosp/master merge path.

Bug: 143586229
Test: m
Merged-In: Ibc74edb88904f953a1e5e6ceef44c461f381c9cf
Change-Id: I484e148fab80a01d2b20ebf48604d9e923fe7cd3
2020-05-19 09:56:57 +00:00
Roland Levillain
1dbb0c3d1e Introduce build variable OVERRIDE_TARGET_FLATTEN_APEX.
When `OVERRIDE_TARGET_FLATTEN_APEX` is defined (e.g. set in the
environment), `TARGET_FLATTEN_APEX` is forcibly assigned its value.

This is useful to enable/disable APEX flattening from the command
line (thus ignoring the product's default configuration), for testing
purposes.

Note: Previously it was possible to set `TARGET_FLATTEN_APEX` directly
and have the same effect, but recent changes in the build
configuration now prevent that option.

Test: Check that:
        export OVERRIDE_TARGET_FLATTEN_APEX=true \
          && . ./build/envsetup.sh \
          && lunch aosp_walleye-userdebug \
          && export OVERRIDE_TARGET_FLATTEN_APEX=true \
          && build/soong/soong_ui.bash --dumpvar-mode TARGET_FLATTEN_APEX
      returns:
        true
Bug: 121117762

Merged-In: Ib9ccae38430340de38e4758b4f55df2c65ea60d5
Change-Id: Ib9ccae38430340de38e4758b4f55df2c65ea60d5
(cherry picked from commit b3a503df7f)
2020-05-19 02:06:45 +00:00
TreeHugger Robot
2fc5a393e0 Merge "Enables signing for generic boot images" into rvc-dev 2020-05-18 05:32:35 +00:00
TreeHugger Robot
2cde78687d Merge "Move BOARD_EXT4_SHARE_DUP_BLOCKS to BoardConfigMainlineCommon.mk" into rvc-dev 2020-05-18 04:16:41 +00:00
TreeHugger Robot
9a004c6371 Merge "Import the d/g/goldfish soong namespace for libwifi-hal-emu" into rvc-dev 2020-05-18 03:50:26 +00:00
Paul Scovanner
902a6e18e0 Update Security String to 2020-07-05
Bug: 156652977
Change-Id: Ifee743bae79d21c096a95d608552fbb4260aff6c
2020-05-17 21:15:17 +00:00
TreeHugger Robot
b1e99dd0a1 Merge "Don't check link type of Soong app JNI libraries" into rvc-dev 2020-05-16 01:15:56 +00:00
Paul Scovanner
69d4b8de13 Update Security String to 2020-07-01 am: 4a475b4740
Change-Id: I6df8e4cb400ec1c08c5ac6e2b36bd55c2b8fb15a
2020-05-15 22:36:48 +00:00
Tianjie
620437b2bf Exclude vendor_boot in secondary payload
The secondary payload is used by factory OTA to speed up the first
boot of the device. The payload should only contain bootloaders
images and the precompiled apps in system_other. Remove vendor_boot
to reduce the secondary payload size.

Bug: 156782745
Test: build a package with secondary payload
Change-Id: I3a9f6dda00a5aac038438065e2bc6483d71b5e95
(cherry picked from commit c385064d94)
2020-05-15 22:36:00 +00:00
Sasha Smundak
60d03bd7db Implement android_app_set module.
Bug: 152319766
Test: manual and builtin
Change-Id: I66edc5b423898a11dbba1c3d9796c7bd4d6b4428
Merged-In: I66edc5b423898a11dbba1c3d9796c7bd4d6b4428
2020-05-15 10:47:05 -07:00
Colin Cross
41c3ad1f8b Don't check link type of Soong app JNI libraries
Link type checking is already done within Soong, and
SOONG_SDK_VARIANT_MODULES is not complete yet while parsing Soong
modules, skip JNI link type checking for Soong apps.

Bug: 156225490
Test: m checkbuild
Change-Id: I2f6824b180ccdd62c26497bdca527540ca22f0d7
Merged-In: I2f6824b180ccdd62c26497bdca527540ca22f0d7
(cherry picked from commit 1c8d81e5d9)
2020-05-15 10:09:57 -07:00
Roman Kiryanov
95de4601b9 Import the d/g/goldfish soong namespace for libwifi-hal-emu
Some devices refer to libwifi-hal-emu via

BOARD_WLAN_DEVICE := emulator

we need to import the device/generic/goldfish
namespace to link the libwifi-hal-emu symbol.

Bug: 154151802
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I68b0f9bd22e50c2a86e0dbe62abc17991581703e
2020-05-14 13:22:44 -07:00
Paul Scovanner
4a475b4740 Update Security String to 2020-07-01
Bug: 156652977
Change-Id: I81539bf9bd96bdc2e0bca54b506d8a6061f0bfba
2020-05-14 19:56:33 +00:00
SzuWei Lin
de9dc88b59 Move BOARD_EXT4_SHARE_DUP_BLOCKS to BoardConfigMainlineCommon.mk
BOARD_EXT4_SHARE_DUP_BLOCKS can reduce the image size. Move it to
BoardConfigMainlineCommon.mk to apply on all mainline based
targets.

Bug: 155589918
Test: build aosp_arm-userdebug
Test: build gsi_gms_arm64-userdebug
Test: build sdk_gphone_arm64-userdebug
Change-Id: I8c4c7c9b2982daf6bf02991b4e62a43b296d003e
2020-05-14 16:26:55 +08:00
Bowgo Tsai
d55fbd365a Enables signing for generic boot images
Enables signing for them so we can verify that the boot partition
contains a valid generic boot image during the compliance test.

This change also adds the chained partition descriptor of
boot partition into vbmeta.img, which contains the corresponding
public key used to verify the boot partition.

Bug: 151094943
Test: lunch aosp_arm64-user, `make` and use `avbtool info_image`
      to check that GKI images are properly signed.
Test: `make dist` and checks that GKI images in the image zip file
      are properly signed.
Change-Id: I2fd69964f9dc62526a813875fa9193913aa4935b
Merged-In: I2fd69964f9dc62526a813875fa9193913aa4935b
(cherry picked from commit 0f95ac7e8c)
2020-05-14 13:01:37 +08:00
TreeHugger Robot
4d8e9cc847 Merge changes from topic "nonab_on_vab_r" into rvc-dev
* changes:
  Use add_slot_suffix function in edify script
  Support forcefully generating non-AB packages.
2020-05-13 17:26:44 +00:00
Yifan Hong
ae6e0d5d28 Use add_slot_suffix function in edify script
Whenever a device is retrieved from fstab, wrap it with
add_slot_suffix() if it has slotselect option.

Test: change fstab (changes boot image, which is a static partition),
      change system partition (a dynamic partition),
      generate incremental OTA with --force_non_ab and apply it on
      cuttlefish
Bug: 153581609
Change-Id: Id3f8e4425b65176baf1b0ff1ee07ab3d820a3a7f
2020-05-07 16:55:39 -07:00
Yifan Hong
7169f754cc Support forcefully generating non-AB packages.
Force generate a non-A/B update package when requested.

Bug: 154344887
Test: ota_from_target_files.py --force_non_ab ...
Test: apply it as well

Change-Id: I5e81eb161722e07ef50081b6a16685cbc9963ae2
2020-05-07 12:48:17 -07:00
TreeHugger Robot
3c0a90932c Merge "Add boringssl_self_test to base PRODUCT_PACKAGES." into rvc-dev 2020-05-07 19:35:08 +00:00
TreeHugger Robot
60f3ee6406 Merge "releasetools: Fallback to "mkbootimg_args" if "recovery_mkbootimg_args" not found." into rvc-dev 2020-05-07 17:42:42 +00:00
Pete Bentley
c85cd10008 Add boringssl_self_test to base PRODUCT_PACKAGES.
When building from source this gets installed as a requirement
from Conscrypt, but needs to be present when Conscrypt is
shipped as a pre-built too.

I think the correct solution here is actually to make libcrypto
rather than Conscrypt require boringssl_self_test but Soong
considers that a circular dependency.

Bug: 155520949
Test: m installclean && m

Change-Id: I77b2921d1d7b6be493cd581c46adbadd1f186fb0
Merged-In: I77b2921d1d7b6be493cd581c46adbadd1f186fb0
(cherry picked from commit f5a05c4a4b)
2020-05-07 18:28:17 +01:00
P.Adarsh Reddy
e4d5d568a3 releasetools: Fallback to "mkbootimg_args" if "recovery_mkbootimg_args" not found.
For older target_files.zip, since "recovery_mkbootimg_args" may not be
set fallback to the earlier config -"mkbootimg_args" for recovery image.
This will make releasetools backward compatible, and usable for
older/already generated target-files package.

Bug: 155708400
Change-Id: If40359130b8e6da48cb8c345d8cb079f457fe36f
Merged-In: If40359130b8e6da48cb8c345d8cb079f457fe36f
2020-05-07 09:15:57 -07:00
Jaewoong Jung
d4297e0b64 Merge "Install .idsig files to test suite dirs." into rvc-dev 2020-05-07 15:20:05 +00:00
Mark Chien
6e9704ed5c Merge "Build com.android.inprocess.tethering for Go variant" into rvc-dev 2020-05-07 15:15:59 +00:00
markchien
d70896c24a Build com.android.inprocess.tethering for Go variant
Bug: 155604224
Test: build
Change-Id: I1c5ac07e72068a617fa20797496dd022f279d88e
2020-05-07 20:07:42 +08:00
TreeHugger Robot
8f33cc8f65 Merge "rename libvixl to libvixl.com.android.art.debug" into rvc-dev 2020-05-07 02:09:30 +00:00
Jiyong Park
67a7189936 Merge "Reland "mark platform un-availability""" into rvc-dev 2020-05-07 01:05:32 +00:00