Adds the following line into a device.mk in order to include
GSI keys into the first-stage ramdisk.
$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
Bug: 112293933
Test: make checks $OUT/ramdisk/avb/.
Change-Id: I8e4a9a8dd607916a3f45a07e0ba14c58def5d8d3
This CL simplifies the PRODUCTS.$(INTERNAL_PRODUCT).X accesses of
product variables, and removes unnecessary stripping of them.
Replace: '\$\(PRODUCTS\.\$\(INTERNAL_PRODUCT\)\.([^\)]*)\)' with '$(\1)'
Replace: '\$\(strip\s*\$\(PRODUCT_([^\)]*)\)\)' with '$(PRODUCT_\1)'
A few minor manual tweaks.
Bug: 116769560
Test: presubmit
Change-Id: I70c54f1582e3cc780028535960147d99ebc2e0e1
With this change, all PRODUCT_ variables are treated the same
when it comes to stripping and assigning them to their final
variable name. In the past, all the PRODUCT variables needed
to be listed in two places to achieve this.
The documentation previously attached to the strip/assignment
is moved to the PRODUCT_ variable list in product.mk.
Also refactor some of the default value logic to cope with
the new automation.
Many places in the build system that currently refer to
$(PRODUCTS.$(INTERNAL_PRODUCT).X) can now be modified to
use $(X) directly.
Bug: 116769560
Test: verified noop on PRODUCT_ variables on all products in the tree
Change-Id: I5677c355e81359b1d3c0db2a2232941097a05047
package `init_vendor` is the only content of ramdisk so far.
We would get build error if we do not include init_vendor.
The patch fix the build error for the case that ramdisk is empty.
Bug: 129386309
Test: lunch aosp_arm64_ab-userdebug; make ramdisk -j
Test: Build pass
Change-Id: I7c7c828b5f29350268d4789393b90740dd68162d
The _a targets are build for Legacy GSI for non-system-as-root
partition layout devices. The Android build system is not able
to build a system image with non-system-as-root anymore.
Also, `init` supports mounting system-as-root system image at
all, all devices should no problem to mount it.
Bug: 124278972
Test: none
Change-Id: I9c56e7e5d8517a630854f030616c3b3ecb94b9a8
This reverts commit 9788b4ed31. All the
blocking issues have been addressed.
Fixes: 120517892
Test: Run validate_target_files.py on crosshatch signed
target_files.zip.
Change-Id: I95de241e159998e002dedddafea65953b1a1b263
This flag is not allowed to be true when dynamic partitions are
enabled, which mainline devices are expected to do.
Bug: 80410283
Test: make
Change-Id: I50c9fe9332ea1490a84484f9311cfe001a083754
The recovery patch gets put in the SYSTEM directory. Placing the
recovery patch here doesn't make sense when not building the system
image, as is the case for merged (system + vendor) builds.
Bug: 128838154
Test: Running make droid dist for a device target that sets PRODUCT_BUILD_SYSTEM_IMAGE to false.
Change-Id: Ib5ce8c8490024199f82d0c093e9a7ae2de5f71f5
Building of host tools stopped when moving to APEX. This change
re-enables building of host tools.
Bug: 128990084
Test: m -j72 && find out -name 'oatdump'
Change-Id: Iad42b4e36561001709634174014192e56a64aafd
This setting moves the PRODUCT_PROPERTY_OVERRIDES to
the vendor partition.
Bug: 80410283
Test: tail system/build.prop | grep ro.carrier=
(empty)
Change-Id: I30d564fbd2dd3b56763ccff77979b223857f1c2f
Previously it was following a wrong order by doing `zipalign` after
calling SignApk, which effectively compromised the signature. This CL
corrects the logic, and follows the same flow as in build system:
- Pack APEX file;
- `zipalign -f 4096`;
- Call SignApk to sign the container with `-a 4096` flag.
Bug: 129148142
Test: Run sign_target_files_apks.py on taimen target_files.zip. Boot the
image after signing.
Change-Id: I91bd3dce4f45c1891c5e122212a699f4808618fa
(cherry picked from commit 0e06cb0a8b)
To build a complete list of the dynamic partitions and partitions
groups, we need to merge the contribution from the system and other
target files.
Bug: 127687287
Test: Running merge_target_files.py and observing partition lists are
merged as expected.
Change-Id: I5bb9bd0e3179d48c9bfacdb3aca8253158f61cf6
For PRESIGNED APEXes, we should keep carrying the matching public keys
at /system/etc/security/apex.
Bug: 129148142
Test: Run sign_target_files_apks.py on a target_files.zip with presigned
APEXes. Check the output zip.
Change-Id: I2e941fd9b10e99d2db9df1e5308cbbe8c760177b
(cherry picked from commit bf3fb024cd)
This config was in a weird state where it sets the OUT
directory for these partitions but not the file system
type. Within the build system, both of these variables
are used interchangeably to check whether these partitions
are expected to be present.
A typical mainline device is expected to /vendor and
/product, so just add these.
Bug: 120974093
Test: make
Change-Id: I803d7afdcadc37e4384ae80f08bc1c8db535d2f4
Configure this product not to build any of the other partitions.
Note that the only partition that currently has artifacts produced
is system_other, and this change doesn't appear to prevent odex/vdex
files from being created there anyway. However, it does allow
configuring the target device (mainline_arm64) to have more partitions
in a followup change.
Bug: 111533333
Test: make
Change-Id: Ib115cb03bc99b9b61e0d6f1b622784e7ad5fcea0
This change changes auto-generated RROs from DEVICE_PACKAGE_OVERLAYS
to be generated in the vendor partition, as opposed to /product where
they were generated in the past.
Note that PRODUCT_PACKAGE_OVERLAYS continue generating RRO packages
to /product, which means that a single app can be overlayed from
different partitions. These RROs have been given module and package
names based on their location.
Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: I5cee70e28e3969e67b2d83eaf25d9c6e3a11102d
The adb_debug.prop will be loaded by init when the file
/force_debuggable is present in the first-stage ramdisk, and the device
is unlocked. This file has the highest priority to override other system
properties, thus can override ro.debuggable to 1 to allow adb root.
Bug: 126493225
Test: boot a device with /force_debuggable in ramdisk, checks
adb_debug.prop is loaded
Change-Id: I75d661bb04178f584d8b6f5eba26ae35ccb01239