Using BOARD_PREBUILT_BOOTIMAGE instead of TARGET_NO_KERNEL to determine prebuilt boot.img.
So kernel is not excluded from recovery.img.
Bug: 187157581
Change-Id: I4163c8093c52b01d97db3cdb4f9daf840a27c23a
Test: make target-files-package
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
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
Revert "Updated the way we build AFL++ fuzz binaries"
Revert "Updated the way we build AFL++ fuzz binaries"
Revert "Updated the way we build AFL++ fuzz binaries"
Revert submission 2164482-Build AFL from Command line option
Reason for revert: Unit test fails on MAC builds
Reverted Changes:
Ia7a822462:Updated the way we build AFL++ fuzz binaries
I994bde63b:Updated the way we build AFL++ fuzz binaries
Ie863853b4:Updated the way we build AFL++ fuzz binaries
I577d6ae7b:Updated the way we build AFL++ fuzz binaries
Ic4fd34f8d:Updated the way we build AFL++ fuzz binaries
Change-Id: I33a39001d6387fc67bb1d7b5551762d2f145a68d
Test: Built AFL fuzzers individually and built all using haiku command
and built libfuzzers individually and also by using haiku command. Ran
selected fuzzers manually to ensure fuzzing still worked.
Description: Previously we needed to add cc_afl_fuzz to build an afl fuzz binary,
however, to turn current libFuzzers into AFL fuzzers this would required
an update to each Android.bp file which is a lot of work, and would also
require an approval from each Android.bp file owner, which is even more
work.
To get around this (and also to match how AFL fuzzers are built in G3)
we will build AFL++ fuzz binaries by command line option FUZZ_FRAMEWORK.
When FUZZ_FRAMEWORK=AFL is set, all cc_fuzz modules will be built
Change-Id: I994bde63b759046c9e3d75d3acfdc1352412005b
Revert "Adding support for building AFLpp Test: Build AFL fuzzer..."
Revert submission 2124256-AFLpp support in Soong
Reason for revert: It is breaking the build
Reverted Changes:
Ie07ec3368:Adding support for building AFLpp Test: Build AFL ...
I5bd6d1e9b:Adding support for building AFLpp Test: Built AFL ...
Change-Id: Iad3fa47397cfe3310f80e109af93d66eb40d9ab4
Let the fsverity_manifest_generator logic be reused and just keep the
bits to generate the BuildManifest.apk. Since this can all be acheived
with a series of shell commands, remove the python script and just do it
directly in the Makefile.
Bug: 237384936
Test: TH
Change-Id: I168dc1cea0be72b5098f99e4183e080a687fb03e
With this change, if BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT is unset, a
target will be declared for super.img so it becomes possible to build it
(e.g. with `m superimage`), but it will not be part of the default `droid`
target. This is useful for building a `super.img` on targets that do
not normally need one without needing to go through a slow `m dist` step.
Change-Id: I599e93b3fc41fc2c0642761fcda757c40e2736d6
If TARGET_NO_KERNEL is true (device has prebuilt boot.img), then the
init_boot.img build arguments wouldn't be propagated correctly.
This is because INTERNAL_INIT_BOOT_IMAGE_ARGS is misplaced within a
`ifneq ($(strip $(TARGET_NO_KERNEL)),true)` conditional block.
Fix this by moving INTERNAL_INIT_BOOT_IMAGE_ARGS initialization into the
`ifeq ($(BUILDING_INIT_BOOT_IMAGE),true)` block, which is closer to its
first use.
Bug: 237630862
Test: m initbootimage
Change-Id: I6c0ee2c4b5d0be77a93311eba714e0ed555ffd25
The value of BOARD_AVB_VBMETA_SYSTEM_IMAGE_ARGS and
BOARD_AVB_VBMETA_VENDOR_IMAGE_ARGS are usually the same, e.g.,
--padding_size 4096 --rollback_index 1656979200.
However, in a split build, the value of
BOARD_AVB_VBMETA_SYSTEM_IMAGE_ARGS might be empty.
Using BOARD_AVB_VBMETA_VENDOR_IMAGE_ARGS to correctly
assign the value for vbmeta_vendor.img.
Bug: 232360330
Test: TreeHugger
Change-Id: Ia26816bd309084c3a4c0df6b9f2f3fc5a28bc31a
MODULES_ADDED_WALL is deceiving and it actually meant which modules are
allowed to have warnings (do not automatically append -Werror flag).
Test: presubmit
Bug: 233183337
Change-Id: Ia2eb972d3d76ba245840f9872cbcc66d2894dab3
Make it possible to provide a prebuilt hints file to specify different compression strategies on a file basis for all partitions using:
BOARD_EROFS_COMPRESS_HINTS := <path>/erofs-hints.txt
or separately for every partition using:
BOARD_SYSTEMIMAGE_EROFS_COMPRESS_HINTS := <path>/system-partition-erofs-hints.txt
BOARD_VENDORIMAGE_EROFS_COMPRESS_HINTS := <path>/vendor-partition-erofs-hints.txt
Hints format: Each line is defined by tokens separated by spaces in the following form:
<pcluster-in-bytes> <match-pattern>
pcluster-in-bytes can be specified as 0 which mean file will not be compressed
Bug: 231934752
Test: used dump.erofs -S system.img to verify the system image isn't compressed after specifying BOARD_SYSTEMIMAGE_EROFS_COMPRESS_HINTS := no-compress.txt, where no-compress.txt contains 0 .*
Test: used dump.erofs --nid=<inode-for-all-apk-files> vendor.img to verify apk files are not compressed (the rest of the partition content is compressed)
Test: used dump.erofs -S <all-images> to verify all images are not compressed after specifying BOARD_EROFS_COMPRESS_HINTS := <path>/no-compress.txt
Change-Id: I64054e26af5ea5781c45d2183b7796a9ad2b7927
It might be useful to have access to the prebuilt that the Android build
used to create the pvmfw partition so add a new directory (similarly to
other partitions) containing the prebuilt (which is also the only
content of the partition). This is particularly useful in ATC, when
detecting if the prebuilt was updated by the build.
Bug: 232253742
Test: m
Change-Id: I1116d91ffb073821568bcaeed30bbb43873dcafa
The SDK no longer includes system images, so no longer needs to depend
on targets that are only relevant for the system images.
Remove all the explicit dependencies that end up depending on
"everything" but are not included in the sdk zip.
Two positive side-effects:
- fewer unused things get built (now ~32k targets, down from ~108k)
- apexes no longer get built, eliminating the risk of mismatch between
module sdk prebuilts and source-built AOSP apexes.
There are some potential risks with this CL:
- because we no longer forcefully rebuild everything, if there are bugs
in dependencies of exising files in the SDK, incremental builds may
not rebuild them.
- some files that get built into the SDK may be being built as a
side-effect of other files included in the SDK, so removing one file
may cause another to not get built. The solution to that is to add
the file not getting built to ALL_SDK_FILES.
Bug: 205008975
Test: m sdk sdk_repo dist && diff sdk.zip before/after (identical)
Change-Id: I97284864f66aa88556fbe16864f45b04be97634e
The system image itself is being removed from the sdk zip,
so remove the NOTICE file for it at the same time.
Bug: 205008975
Test: m sdk sdk_repo dist
Change-Id: Ib75b3e5919cd203e58e03efc1cb0a378283b0c34
GKI targets, e.g., `gki_arm64` or `gki_x86_64` have only
boot-*.img files without a ramdisk. It has no other images,
e.g., init_boot.img, system.img, etc.
The current build system assumes that the ramdisk is either
in a boot.img or in a init_boot.img, which is not true for
those GKI targets. Adding a new flag to support building
boot-*.img without a ramdisk while not building an init_boot.img.
Bug: 220834917
Test: build and `unpack_bootimg`
Change-Id: I789343c3e3d9ff0c36c0e19680a9792bd31a1c9f
1. Filtered out the Android.mk file if the Make modules on them are
not in the PRODUCT_PACKAGES or the correspoding deps;
2. Merged the Android.mk file list by partitions for all lunch targets.
Bug: 225256154
Test: lunch aosp_coral-eng; m
out/target/product/coral/mk2bp_remaining.html
Test: python3 build/make/tools/mk2bp_partition.py
Change-Id: I40919e81ab3c6bd516379f0acd72932e8db50088
This reverts commit 59ecb9e016.
Reason for revert: symbols_map is fixed to ignore non-elf files
Bug: 218888599
Change-Id: I88654b2dba3dfb9ab2809b0555544277279f345d
Run the symbols_map tool on each unstripped binary and proguard
dictionary while copying it to produce a textproto that maps the
hash to the symbol/dictionary file location. Combine the textprotos
into a mapping file when producing the zipped build artifacts.
Bug: 218888599
Test: m dist
Change-Id: I78997e2f3b631ed74213903cc8e72415b2d7eee0
The value of the AVB properties are parsed by the device
bootloader, which might expect a different format of the value.
Allowing them to have per-device settings.
The default value of those per-partition os_version is
$(PLATFORM_VERSION_LAST_STABLE), which is usually an integer,
e.g., 12.
Bug: 211364958
Test: build then `avbtool info_image`
Change-Id: I2005df615c0ff35622030baa2477e29d9d20e94f
ALL_GENERATED_SOURCES contains the generated sources of modules
defined in Make. They always have a path inside the intermediates
directories. The only readers of ALL_GENERATED_SOURCES are filtering
for files in the output directories, and will never match anything.
Signed-off-by: Lucas Wei <lucaswei@google.com>
Change-Id: I38c57cc6dad7d762adc001351322c0614e69ed98
Don't depend on fake_packages, they are already expanded into their
required modules.
Bug: 225187583
Bug: 226573153
Test: check dependency path to out/target/product/coral/system/apex/com.android.vndk.current.apex
Change-Id: Id7a646fe0368051a4a4719f846a158de07be9d20
The latest build_image.py requires fsck.erofs to execute. Adds
fsck.erofs to INTERNAL_OTATOOLS_MODULES so it can be packed into
otatools.zip.
Bug: 225756733
Signed-off-by: Woody Lin <woodylin@google.com>
Change-Id: Ib88dbb6cce5e9424d1e80173da34b503d32d0fd3
If0e4b958b3dfaa02771a5da70f970379635f904e made `droidcore` stop
depending on `files` so that installed files from unbuilt images
would not be built. That also disabled the dependency on installed
files that were not in any image, but the vendor notice file had
overly broad dependencies that caused them to still be built.
Icdb11d3c72b180cd02231e8dc98ae500d6566a98 made the vendor notice
file dependencies less broad, exposing the missing `droidcore`
dependencies.
Track the list of installed device files that are not included in any
image, built or unbuilt, and add them as a dependency for `droidcore`.
Bug: 225187583
Test: m checkbuild
Test: check dependency path to encryptionkey.img
Change-Id: I084158ffb52b353e9a3eca9ad06a68c80d3bd371
ALL_GENERATED_SOURCES contains the generated sources of modules
defined in Make. They always have a path inside the intermediates
directories. The only readers of ALL_GENERATED_SOURCES are filtering
for files in the output directories, and will never match anything.
Test: m checkbuild
Change-Id: Ic9af8761d445fa90088f838c385bd2aea3bc3048
The kernel referened is too old and we switched
to the GKI kernel which is located in kernel/prebuilts.
Bug: 225203974
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I02bd9cad70fafcdfda9a7540aa7f05b397023841
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
Use the Make path for system_linker_config instead of a variable
exported by Soong so that the license information is correctly
associated.
Test: m alllicensemetadata reportmissinglicenses
Change-Id: I3d375220d829b2ef88b500ef6c1ea6bf8f46e6ac
This is a newly added binary for extracting device images out of full
OTA package. Add to otatools.zip so that go/bts-image-sharing project
can use it.
Test: th
Bug: 221875271
Change-Id: If2bf85e89a2a12cc00f709dfd21a453c2d805d4f
Bug: http://b/214396112
It is needed for code coverage smoke test. Retain the
`llvm-profdata.zip` name since it is used in Tradefed.
This fixes aosp/2017370 which incorrectly packaged llvm-profdata twice.
Test: `CLANG_COVERAGE=true m dist` and inspect llvm-profdata.zip
Change-Id: Ic1cbebff3f6fbea04a6c58c6d57557d0ffde14ae
GKI boot images will not set system version & SPL value in the
boot image header. They can be set by the device manufacturer
in the AVB properties instead.
Bug: 211741246
Test: build and `unpack_bootimg`
Change-Id: Ib357184636cb0c0c9b2a380ab3e3da7621d21790
It is needed for code coverage smoke test. Retain the
`llvm-profdata.zip` name since it is used in Tradefed.
Test: `CLANG_COVERAGE=true m dist` and inspect llvm-profdata.zip
Change-Id: Icb48b0fa22deec8c3c49f0e5bb3ae33450883e0e
EROFS images by default will only work on newer kernels. Old versions of
5.4 and 4.19 need an extra flag to mkfs.erofs.
Add BUILD_EROFS_USE_LEGACY_COMPRESSION to force this flag.
Bug: 222373106
Test: build with BUILD_EROFS_USE_LEGACY_COMPRESSION enabled
Change-Id: I3818e14356beaa11073c6b9fea6a6ad999bba4aa
These wrapper scripts are difficult to maintain and there's not really
any value add. The argument strings don't match and every new build flag
has to be connected in an extra place.
Bug: 222715577
Test: make with EROFS enabled
Change-Id: Ie0e51cc30aa08b004d5d8345a2a2d885e193ffa9
* Remove 'generic_ramdisk' certification, as we are not certifying
'init_boot' anymore.
* Add a new 'boot' certificate that certifies the whole boot.img.
* The new 'boot' & existing 'generic_kernel' certificates are directly
appended at the end of the boot.img, and the mkbootimg
--boot_signature argument is removed.
Bug: 211741246
Test: m bootimage
Test: ./boot_signature_info.sh boot-5.10.img
Change-Id: I143680b1cab50a6915df56c8273f8741beaf1180
The virt APEX payload public key needs to be embedded in pvmfw so that
is verifies the right set of images. As things are being resigned,
update that embedded key so that it matches the APEX.
Bug: 220018566
Test: sign_target_files_apks
Change-Id: I09be91275ec1d1aa6f921c54a96c5159571ddead