Commit graph

335 commits

Author SHA1 Message Date
Jooyung Han
8cc42f429f Remove PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES
We will deprecate flattened apexes. In this change, GSI-specific make
variable (PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES) is removed. The
variable was used to install both image/flattened apexes in the GSI, so
that it works on ro.apex.updatable devices and not-updatable devices.

Now, GSI will have only image APEXes in it.

Bug: 278826656
Test: lunch gsi_arm64-userdebug && m # no flattened apexes
Change-Id: I4702973d4ee75aa693e4e7f4e57577b77059dc09
2023-06-20 14:27:10 +09:00
Evgenii Stepanov
80b53b8c77 Move MTE mode settings to a product variable.
Allow product configuration of memtag target list by
moving the current set into a product variable instead of the various
.bp files.

The default list of memtag targets can be found in
  build/make/target/product/memtag-common.mk

This is NFC as all targets in the list already have "memtag_heap: true"
in the build files.

Bug: 280343521
Test: no functional change
Change-Id: I5954fde05256e00a8e01c114ad522f50ed0cfa9f
2023-06-13 13:11:52 -07:00
Nikita Ioffe
cae3ef96c6 Add PRODUCT_AVF_KERNEL_MODULES_ENABLED
This flag controls whether com.android.virt APEX should include an
additional kernel image that supports modules loading.

Bug: 283822676
Bug: 278008256
Test: m
Change-Id: I296c57308e130ee6d5d185dcb4b690d11d2b04ac
2023-06-07 16:33:55 +01:00
Daniel Zheng
d00675c764 Merge "Adding Build time flag to specify Cow Version" 2023-05-05 22:19:02 +00:00
Daniel Zheng
025099c4bc Adding Build time flag to specify Cow Version
Adding in build time flag for specifying cow version, in preparation to
add new cow version in libsnapshot

Test: m -> cat misc-info.txt
Bug: 279954153
Change-Id: I148d4e7cdd669496c91213889787172ffd83a5ab
2023-05-05 11:03:27 -07:00
Treehugger Robot
6d406f854e Merge "Enable HWASan for multiple modules in one place(Make)" 2023-04-29 00:10:16 +00:00
Juan Yescas
e5c0c174d5 16k: Define PRODUCT_MAX_PAGE_SIZE_SUPPORTED flag
The PRODUCT_MAX_PAGE_SIZE_SUPPORTED will be used to define the
ELF segment alignment of the binaries (executables and shared
libraries). The alignment is set based on these conditions:

- If PRODUCT_MAX_PAGE_SIZE_SUPPORTED is defined, that value will be
used to align the binaries. If not defined, see condition below:
- If it is a low memory device, 4096 will be the alignment. If it is
not low memory device, see conditon below:
- If VSR vendor API level < 34, 4096 will be the alignment, otherwise
it will be 65536.

Test: Built for in Pixel 4a, 6 and verified the alignment with readelf.
Bug: 276963698
Bug: 276801883
Change-Id: I53a8902ab62e6d378aec84c28bc627f0e8a98500
2023-04-28 02:42:00 +00:00
Vinh Tran
424539f6c1 Split PRODUCT_AFDO_PROFILES into two variables
Currently, PRODUCT_AFDO_PROFILES is generally applied to all products and is not semantically treated as a product config varilable.

Splitting this allows us:
1. Explicitly tell that PRODUCT_AFDO_PROFILES takes precedence over product-agnostic profiles in AFDO_PROFILES
2. Add PRODUCT_AFDO_PROFILES to _product_vars_list

Test: Define PRODUCT_AFDO_PROFILES in a product config and make sure it appears first in the soong var AfdoProfiles
Bug: 277215393
Change-Id: I284f6308d456994bb72129cb0d7be7cd091993ae
Merged-In: I284f6308d456994bb72129cb0d7be7cd091993ae
2023-04-20 17:37:53 -04:00
Vinh Tran
9281bc8c8f Optionally include afdo_profiles.mk if available
Previously, the product var is defined in pixel product config only. This breaks SDK finalization for udc (google3/configs/wireless/android/busytown/platform/git_udc/git_udc-release.gcl). In SDK finalization, we need to ensure performance/usage of libraries are consistent across all builds that don't set SKIP_ABI_CHECKS.

This CL optionally includes the afdo_profiles if available so that afdo is on all products by default.

Ignore-AOSP-First: The topic has internal-only CLs
Test: CI
Bug: 276672785
Change-Id: I2cc51412de141c4e6ad69f49cef378121e0b3b87
Merged-In: I2cc51412de141c4e6ad69f49cef378121e0b3b87
2023-04-20 17:33:00 -04:00
Hang Lu
e235ded733 Enable HWASan for multiple modules in one place(Make)
Environment variables HWASAN_INCLUDE_PATHS and
PRODUCT_HWASAN_INCLUDE_PATHS can be used to enable HWASan for multiple
modules, by just adding the module directory to the env variable.

Bug: b/271948407
Test: Set specific module directory to above env variable and check the
assembly codes of output elf files after building, finding hwasan
related symbols inside.

Change-Id: I4493cb627fb564ee317eb95bd24ec020d42ae28c
2023-04-19 22:59:46 +00:00
Florian Mayer
201eb3b6cc Include hwasan lib and runtime on arm64 system images
This is needed so we can run hwasan-enabled apps for debugging on normal
system images.

Bug: 276930343
Change-Id: Ie572d77307e5e6268b851ea5c96aae05d588dae3
2023-04-13 17:39:25 -07:00
Vinh Tran
2b2f6685ab Set PRODUCT_AFDO_PROFILES to AfdoProfiles product var
Ignore-AOSP-First: Ignore-AOSP-First: Other CLs in the same topic are internal-only
Test: m nothing
Bug: 267229065
Change-Id: I2d71daa6af97eeb0050e1084b27b03900d2d75ef
Merged-In: I2d71daa6af97eeb0050e1084b27b03900d2d75ef
2023-03-31 17:54:49 -04:00
Sam Delmerico
4c3b83fe70 add PRODUCT_SOURCE_ROOT_DIRS product variable
Change-Id: I31590eb133511a5dbdb8d6fe436cf511d1a160a2
2023-03-27 14:40:50 -04:00
Prashant Patil
7d9cda1883 AOSP: Added new properties for attestation
Added new properties, which could be set for AOSP/GSI builds.
These properties are going to be used for attestation feature through
Build.java class. Earlier in AOSP builds attestation ids were different
from provisioned ids in Keymint. These properties will be identical to
provisioned ids.

Bug: 110779648
Bug: 259376922
Test: atest VtsAidlKeyMintTargetTest:PerInstance/NewKeyGenerationTest#EcdsaAttestationIdTags/0_android_hardware_security_keymint_IKeyMintDevice_default
Test: atest VtsAidlKeyMintTargetTest:PerInstance/NewKeyGenerationTest#EcdsaAttestationIdTags/1_android_hardware_security_keymint_IKeyMintDevice_strongbox
Test: atest CtsKeystoreTestCases:android.keystore.cts.KeyAttestationTest CtsKeystoreTestCases:DeviceOwnerKeyManagementTest

Change-Id: I9eea5e0f2fabc667b3efedeeefdf12e7b4fc9502
2023-01-24 16:47:54 +00:00
Jooyung Han
da2d4a29bf vendor/etc/linker.config.pb from multiple input files
When we have dedicated .mk files for each modules (e.g. usb, drm, etc)
and those modules have their own linker configuration requirements, it
would make more sense to have "fragments" for linker configuration.

This change introduces a new list variable to store the list of linker
configuration fragments. When it's set, vendor/etc/linker.config.pb is
generated from the list of input fragments.

Bug: 264330513
Test: set PRODUCT_VENDOR_LINKER_CONFIG_FRAGMENTS
Test: m vendorimage (generates vendor/etc/linker.config.pb)
Change-Id: I9eed0f90add0191885b7195efdab94b5b1a4a62d
2023-01-10 11:57:23 +09:00
Spandan Das
00114d4418 New product config flag to gate blueprint modules
Example usage:
PRODUCT_INCLUDE_TAGS += use_myspecial_sdk

This also populates the allowlist with go/nogo mainline tags. Usage of
`PRODUCT_INCLUDE_TAGS` outside this allowlist will raise an error
in product config

Test: TH

Change-Id: Ica82a8f65cbfda600d72fc54fb873c1eaa1666a7
2022-12-05 19:47:12 +00:00
Jiakai Zhang
d6c6e3a9f3 Determine whether to enable userfaultfd GC at build time.
This is determined by:
- a product config flag
- the vendor API level

It is then passed to the device as a system property
"ro.dalvik.vm.enable_uffd_gc".

This change is a no-op change. It doesn't enable userfaultfd GC by
default. OVERRIDE_ENABLE_UFFD_GC=default can be passed to the build
system to enable userfaultfd GC for testing purposes.

Bug: 242553398
Test: -
  1. lunch aosp_redfin-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=default build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "false" in the output
Test: -
  1. lunch aosp_oriole-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=default build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "true" in the output
Test: -
  1. lunch aosp_redfin-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=true build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "true" in the output
Test: -
  1. lunch aosp_oriole-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=false build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "false" in the output
Change-Id: Ifd6e6cddb502315912ff949619a5b526ae0d73ff
2022-11-17 16:33:44 +00:00
Nikita Ioffe
bb9d6db326 Unconditionally install com.android.virt APEX
The change in the packages/modules/Virtualization in the same topic
takes care for defining the right variant of the APEX to be installed:

* Devices with AVF support will get the full com.android.virt APEX
* Devices without AVF support will get an almost empty version that only
  contains an app that defines AVF-related permissions, and soon the BCP
  fragment jar.

Bug: 243512044
Test: build & flash oriole
Test: build & flash redfin
Change-Id: I2c38e03529a77dd2820212812433741725115ce0
2022-11-15 08:40:11 +00:00
Victor Hsieh
89415a8ea9 Reland: Generate fs-verity build manifst APK for other partitions
* Expand the allowlist to include {system_ext, vendor, odm,
   product}/framework/*. Generate .fsv_meta for them.
 * Add BuildManifest.apk for those partitions.
 * Rename PRODUCT_SYSTEM_FSVERITY_GENERATE_METADATA to remove "SYSTEM".
 * (new in reland): add apkcerts

Bug: 245957815
Test: m
Test: ls -l $ANDROID_PRODUCT_OUT/*/etc/security/fsverity/BuildManifest.apk
Test: extract assets/build_manifest.pb from apk, inpsect
Test: run asit/ota/signing
Change-Id: I48a5e473aa5eedb24edab54357a9141fc8d78759
2022-09-14 13:19:26 -07:00
Victor Hsieh
8c54b9a54b Revert "Generate fs-verity build manifst APK for other partitions"
Revert submission 2212483-fsverity-manifest-apk-per-partition

Reason for revert: b/246781147
Reverted Changes:
I503672571:Generate fs-verity build manifst APK for other par...
Iebc54ea44:Rename to PRODUCT_FSVERITY_GENERATE_METADATA

Change-Id: I8335b3016a52e474418fb28139c37e35e3468170
2022-09-14 17:27:40 +00:00
Victor Hsieh
c80519cc02 Generate fs-verity build manifst APK for other partitions
* Expand the allowlist to include {system_ext, vendor, odm,
   product}/framework/*. Generate .fsv_meta for them.
 * Add BuildManifest.apk for those partitions.
 * Rename PRODUCT_SYSTEM_FSVERITY_GENERATE_METADATA to remove "SYSTEM".

Bug: 245957815
Test: m
Test: ls -l $ANDROID_PRODUCT_OUT/*/etc/security/fsverity/BuildManifest.apk
Test: extract assets/build_manifest.pb from apk, inpsect
Change-Id: I503672571741d47ba15add048c0a2f00b6b2a86d
2022-09-13 10:33:31 -07:00
hungweichen
e3ca398a1e Remove verity.mk, verity_key, PRODUCT_VERITY_SIGNING_KEY
verity.mk is used to set the related variable for VB 1.0 support, but
we already removed VB 1.0. This change removes the unused code. We also
remove and block PRODUCT_VERITY_SIGNING_KEY in this change.

Bug: 241044073
Test: atest under build/make
Change-Id: Ifbcde7da27a931ef3b9d746b1c5a279d88c0ec85
2022-08-11 08:12:58 +00:00
hungweichen
bf11e34897 Remove PRODUCT_SUPPORTS_VERITY(_FEC) reference
PRODUCT_SUPPORTS_VERITY and PRODUCT_SUPPORTS_VERITY_FEC are going to be
deprecated since we removed VB 1.0 support. This change removes the
related references.

Bug: 241044073
Test: atest under build/make
Change-Id: Icee659ff0606cda1ab44e92372d86a394ddf1466
2022-08-11 08:12:58 +00:00
hungweichen
b2dd683421 Remove BOOT_SIGNER and PRODUCT_SUPPORTS_BOOT_SIGNER
These varaibles are going to be deprecated since we removed VB 1.0
support. This change removes the related references. boot.img can be
verified by a AVB 2.0 hash descriptor now.

Bug: 241044073
Test: atest under build/make
Change-Id: I267da2d591525ffc0cabf92791cf66a36ef8ff62
2022-08-11 08:12:58 +00:00
Cole Faust
7162b95f83 Deduplicate multiple $(inherit-product) calls
The makefile product inheritance code was supposed
to deduplicate inheritance calls, but there was
a bug in the uniq-word function that caused it
to not work when duplicated words were adjacent.
$(subst |||x|||,||| |||,|||x|||x|||) produces
||| |||x||| instead of ||| ||| |||.

Rewrite the uniq-word function to fix the bug.

This issue was causing a discrepency between
the makefile and starlark based product configurations,
as the starlark implementation didn't have this bug.

Bug: 237019892
Test: ./build/bazel/ci/rbc_dashboard.py --quick on an internal-only product
Change-Id: I543a80746412ffcb9743203399413a0e707111e6
2022-06-24 15:42:46 -07:00
Cole Faust
81f1e92ed8 Remove usages of long-form variables
The long-form variables (PRODUCTS.<makefile>.<variable>)
are used to get information about multiple products.
However, they've never really worked correctly, and so
importing multiple products is deprecated behavior.

Remove as many usages of the long-form variables and
multi-product imports as possible.

Bug: 228518445
Test: Manually
Change-Id: I0b67f16360ff8bdcdb39638de739440472bccf76
2022-04-13 15:49:56 -07:00
Cole Faust
0472730380 Support m product-graph in Starlark product config
Bug: 221312856
Test: Manually
Change-Id: Ia3a78df2de356801c83b1ba5c17601acfc026d06
2022-04-05 16:52:23 -07:00
Martin Stjernholm
47dcbeaefb Build modules from source for module products.
This overrides the branch default
(BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE) if it is set to use
prebuilts.

Test: build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns false with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Test: env TARGET_PRODUCT=module_arm64 \
      build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns true with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Test: env TARGET_PRODUCT=mainline_modules_x86 \
      build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns true with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Test: env TARGET_PRODUCT=redfin \
      build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns false with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Bug: 222723757
Change-Id: I0faea006b0e95eff40bbfbe00cc74ba5985beeba
2022-03-30 18:16:51 +01:00
Lucas Wei
f57333f7fc Make build support vendor_kernel_boot image
Add vendor_kernel_boot image for vendors whose bootloader support
extra first stage booting kernel modules ramdisks. This benefit
kernel repo to build kernel-artifacts only image without Andorid
artifacts dependency.

Bug: 214409109
Signed-off-by: Lucas Wei <lucaswei@google.com>
Change-Id: If07218b86a7751b3d452a172610af960f5f9ec74
2022-03-16 23:13:19 +08:00
Cole Faust
725aab2c83 Make inherit-product loop over all files passed to it
Currently inherit-product and the rest of the product
configuration infrastructure does not handle wildcards.
However, they still get passed through unchanged, until
they reach the raw Make include statement, which expands
them. This essentially makes a meta-product that is the
result of combining all the makefiles that were matched.

In Starlark, the behavior is to actually treat each file
as it's own product. This causes a discrepency when using
`m product-graph`, where make shows one node for all those
files and Stalark has a node for each.

This is probably unintentional behavior, so change Make
to also import each file as separate products. On the
product I was investigating, the only difference this
made in the ninja file was in the product graph.

Bug: 221312856
Test: Presubmits
Change-Id: I9ca7aff0b0790aeb6e42861ce2745feed8a1a7c4
2022-03-10 16:59:00 -08:00
Sasha Smundak
d40c94633b Clean up product definitions reading.
Bug: 220379303
Test: treehugger
Change-Id: I6b9b3bd486a1680ace8278eb5160e09885543f4b
2022-03-07 11:25:58 -08:00
Ramji Jiyani
13a4137929 core & tools: system_dlkm: add dynamic partition
Converts existing static partition support to a
dynamic partition.

Bug: 200082547
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ifd6d0c2a04e947b16f8b241e99cca594a1d315ae
2022-01-30 08:43:08 +00:00
Ramji Jiyani
1065523a5e Add support to build system_dlkm.img
There are 2 choices to build system_dlkm.img for
the system_dlkm partition for Android T launch
devices and must choose one.

1. Use kernel prebuilt system_dlkm.img
   - BOARD_PREBUILT_SYSTEM_DLKM_IMAGE to point image
2. Build from kernel prebuilt system_dlkm_staging
   - PRODUCT_BUILD_SYSTEM_DLKM_IMAGE

Both requires: BOARD_SYSTEM_DLKM_PARTITION_SIZE and
must be 64MB or higher in size (enforced via vts).

Bug: 200082547
Test: TH
Test: atest vts_system_dlkm_partition_test
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: I83435123bd8aa3d04ab8a8b650a95fbab0bc49f2
2022-01-21 21:39:15 +00:00
Yi-Yo Chiang
b225d8c499 Verbose warning message for PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT
I56ed328a9ae70cf49dbd3c6efb5a4a8c54e1b7a7 added a validation check to
otatools to check the target_files archive for the existence of
userdebug_plat_sepolicy.cil. That check superseded the original
PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT product_config.mk check and
is more robust because it can handle not only phone GSI but also car/tv
GSI (downstream of phone GSI).

Modify the check to show a scary wall of text if non-compliance-GSI
products tried to set PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT,
instead of erroring out immediately.
Also add gsi_car_arm64 & gsi_car_x86_64 to the list of eligible GSI
product names.

After this change, any product can set
PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT for development purposes, but
only GSI products that specifies `--allow_gsi_debug_sepolicy` during
image signing can release sign a product built with
PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT.

Bug: 188067818
Test: Presubmit
Test: lunch gsi_arm64-userdebug && m nothing  # => no warning
Change-Id: I34ef49af29c7064bea8924b0070793f1e78256bf
2022-01-06 06:37:05 +00:00
Jacky Liu
beb0b6927c Add PRODUCT_EXTRA_OTA_KEYS to add extra ota keys in otacerts.zip
Equivalent to PRODUCT_EXTRA_RECOVERY_KEYS but for A/B OTA.

Bug: 211848136
Test: set PRODUCT_EXTRA_OTA_KEYS and check otacerts.zip
Change-Id: I81e27d12a22b405f6227b09c01ed684dfcede19e
2022-01-05 17:54:40 +08:00
Devin Moore
380d9e445c Build a new init_boot.img that contains the boot ramdisk
This ramdisk used to be in boot.img, and is now placed into this new
init_boot.img instead.
This new image is used for a new init parition to seperate Android
platform artifacts from the kernel artifacts in boot.img.

Test: boot Cuttlefish
Bug: 203698939

Change-Id: Iaaf82486259979ab728730ce72a4e847ae005c18
2021-12-20 20:54:14 +00:00
Jiakai Zhang
44ffb21e53 Add a variable to specify standalone system server jars.
This is the list of jars that system_server loads dynamically using
separate classloaders. We will rely on this variable to decide which
jars to preopt in the build system and on the device for system_server.

The list is supposed to be in sync with the code in SystemServer.java.
There will be a follow-up CL to add a comment in SystemServer.java to
remind developers to keep them in sync.

Bug: 203198541
Test: m nothing
Change-Id: I305a73218ef2d2c61ac3795d21026b2afe7007fd
2021-11-30 11:07:37 +00:00
Martin Stjernholm
91964c82e3 Configure boot image profiles for platform and unbundled ART module
builds (reland).

- Use art/build/boot/boot-image-profile.txt for the primary boot image
  in the ART module, both when it's built from source in platform and
  as an unbundled module.

- Use frameworks/base/boot/boot-image-profile.txt for the framework
  extension image in platform, but not in unbundled builds.

This should obsolete the combined profile
frameworks/base/config/boot-image-profile.txt.

This relands https://r.android.com/1881863 with a fix to allow multiple
values on PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION.

Test: build/soong/soong_ui.bash --dumpvar-mode \
        PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION
  and check that it prints both art/build/boot/boot-image-profile.txt
  and frameworks/base/boot/boot-image-profile.txt in a platform build
  on master.
Test: build/soong/soong_ui.bash --dumpvar-mode \
        PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION
  and check that it prints only art/build/boot/boot-image-profile.txt
  in an unbundled build on master-art.
Test: banchan com.android.art && m
  on master-art and check that
  out/soong/.intermediates/art/build/apex/com.android.art/android_common_com.android.art_image/image.apex/javalib/x86_64/boot.oat
  shrinks from 14 MB to 4.7.
Test: m droid
  on master together with https://r.android.com/1895131 and check that
  out/soong/.intermediates/art/build/apex/com.android.art/android_common_com.android.art_image/image.apex/javalib/x86_64/boot.oat
  and out/target/product/vsoc_x86_64/system/framework/x86_64/boot-framework.oat
  are identical.
Test: lunch armv8-eng && art/tools/buildbot-build.sh
  on master-art
Bug: 174746397
Change-Id: I9114271bc69cf0888150b2c778a086bc50b73045
2021-11-19 16:21:37 +00:00
Inseob Kim
9cda397948 Implement fsverity metadata generator
Using fsverity tool, fsverity metadata for specific artifacts in system
mage can be generated. Users can do that by setting a makefile variable
PRODUCT_SYSTEM_FSVERITY_GENERATE_METADATA to true.

If set to true, the following artifacts will be signed.

- system/framework/*.jar
- system/framework/oat/<arch>/*.{oat,vdex,art}
- system/etc/boot-image.prof
- system/etc/dirty-image-objects

One fsverity metadata container file per one input file will be
generated in system.img, with a suffix ".fsv_meta". e.g. a container
file for "system/framework/foo.jar" will be
"system/framework/foo.jar.fsv_meta".

Bug: 193113311
Test: build with PRODUCT_SYSTEM_FSVERITY_GENERATE_METADATA := true
Change-Id: Ib70d591a72d23286b5debcb05fbad799dfd79b94
2021-11-11 17:30:19 +09:00
Ulya Trafimovich
7693ec7e03 Deprecate system server jars defined in Android.mk.
Add PRODUCT_BROKEN_DEPRECATED_MK_SYSTEM_SERVER_JARS variable that is
undefined by default. Setting that variable to true enables support for
system server jars defined in Android.mk. It should be enabled on a
per-product basis in product makefiles.

Bug: 203618671
Test: m nothing
Change-Id: If90d7131d37f308c468e395c236d5aa5ad053bad
2021-10-26 14:47:24 +01:00
Yi-Yo Chiang
ffb366ee99 Revert "Renames boot-debug-*.img in GSI targets"
This reverts commit a2a5db4466.

Reason for revert: original change was obsoleted by
  I3161e42b00a93177a1a4cb3b22da2218d294b7a7

Bug: 202129499
Test: Presubmit; change should be noop
Change-Id: Ib7be1ed73dbf08758276666f8ce35ed9cbf18a36
2021-10-18 06:33:51 +00:00
Pierre-Clément Tosi
b3be181687 Merge changes from topic "default-pvmfw-image"
* changes:
  Add generic board-agnostic pre-built pvmfw.img
  Add framework for building the pvmfw.img partition
  Stop assuming that pvmfw.img can only be pre-built
2021-10-06 07:25:01 +00:00
Pierre-Clément Tosi
fa8193c0e9 Add framework for building the pvmfw.img partition
Adapt the variables necessary for building pvmfw.img by following what
was done for other Android partitions and introducing:

 - PRODUCT_BUILD_PVMFW_IMAGE
 - BUILDING_PVMFW_IMAGE
 - BUILT_PVMFWIMAGE_TARGET

Replace the manual 'cp' by the more common 'copy-one-file'.

Bug: 199831815
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img # with TARGET_PKVM_ENABLED=true
Change-Id: I5e4bbcbdbf4b96281ee54631938f097e9744883c
2021-10-04 11:41:34 +02:00
Howard Chen
c1b9c1d801 Merge "Make GSI target to export bootimage to DIST" 2021-10-04 06:36:32 +00:00
Yi-Yo Chiang
710e74588b Merge "Refactor build logic of boot-debug & vendor_boot-debug" 2021-10-01 01:35:23 +00:00
Yi-Yo Chiang
4d7c613c58 Refactor build logic of boot-debug & vendor_boot-debug
Add PRODUCT variables
  PRODUCT_BUILD_DEBUG_BOOT_IMAGE
  PRODUCT_BUILD_DEBUG_VENDOR_BOOT_IMAGE
as toggles to enable/disable building boot-debug & vendor_boot-debug.

Bug: 200945738
Test: m bootimage_debug
Change-Id: Ic032b8594f776f911d7b6345a97d64fed930d890
2021-09-30 18:32:55 +08:00
Howard Chen
95339b0d91 Make GSI target to export bootimage to DIST
This is to support a bootimage only target in AB.

Bug: 198363484
Test: lunch aosp_arm64-userdebug; make bootimage dist

Change-Id: I9a32c365f635ec4693675a1969d7a1e684c8f55a
2021-09-30 07:10:05 +00:00
Treehugger Robot
b7aced88d6 Merge "Renames boot-debug-*.img in GSI targets" 2021-09-25 03:33:40 +00:00
Yi-Yo Chiang
f63bd5d4ba Reland: Add PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT
If this option is set, then an additional copy of the debug policy can
be installed to the GSI, and the init-second-stage of GSI could load
debug policy from GSI /system_ext when debug-ramdisk is used.

Bug: 188067818
Test: Flash RQ2A.201207.001 bramble-user with debug ramdisk & flash
  gsi_arm64-user from master, device can boot and `adb root` works
Change-Id: I8c62a3cea026bd26b1994092a14238d22ba1e2df
2021-09-23 14:26:04 +00:00
Bowgo Tsai
a2a5db4466 Renames boot-debug-*.img in GSI targets
Those boot-debug-*.img is used with `repack_bootimg` for a
vendor_boot-debug.img in VTS setup. It is not for GKI boot.img
release.

  https://source.android.com/compatibility/vts/vts-on-gsi#repacking

Renames boot-debug-*.img to boot-with-debug-ramdisk-*.img to
avoid confusion with the official GKI boot.img release.

Bug: 200878300
Test: `lunch gsi_arm64-user` then `make bootimage_debug`
Change-Id: Ia1f6ba847d5b7409fb7a8534432484d2aa972494
2021-09-23 22:19:52 +08:00