Goldfish specific board variable:
BOARD_EMULATOR_DYNAMIC_PARTITIONS_SIZE
is used to create misc_info.txt, which is needed to mix GSI or CSI on
Goldfish vendor image, and need to reflect the size of the current
super.img, which is now set to 4G+8M (from 3G+8M previously).
Bug: 174442566
Test: $ lunch aosp_x86_arm-userdebug; m
$ ls -l $OUT/super.img # make sure it's 4 GB
$ grep -i dynamic_partitions_group_size $OUT/misc_info.txt
super_emulator_dynamic_partitions_group_size=4294967296
Change-Id: Idd0fb302b20780ac97959fabec231a632205d46d
Current super image for GF is almost full in sdk_gphone_x86_arm
product, and not big enough to include CSI for mixed configuration,
which is a bit bigger than the system image of sdk_gphone_x86_arm.
Bug: 174442566
Test: $ lunch aosp_x86_arm-userdebug; m
$ ls -l $OUT/super.img # make sure it's 4 GB
Change-Id: Ia2473231c8490995a10700cbd6e0f82598a5e078
jacocoagent and its dependencies emits artifacts to system/,
hence it belongs to base_system.mk. It was rather incorrect
to add jacocoagent to EVERY product makefile because those
product makefiles may be enforcing artifact path requirements
(e.g. generic_ramdisk.mk).
Test: EMMA_INSTRUMENT=true m nothing
Bug: 175605139
Bug: 173742069
Change-Id: If9cb93ab8fd69d11e764ab830dc791bbe6106cf5
libwebrtc_audio_processing is no longer used by audio
preprocessing effects
Bug: 175749641
Test: Builds
Change-Id: Id60fe90d481ae74ea617260fb3cf88c0cc7da79b
Revert "Memtrack HAL stable aidl sepolicy"
Revert "Add android.hardware.memtrack-unstable-ndk_platform"
Revert submission 1518702-memtrack-aidl
Reason for revert: Broken tests and boot time regressions
Reverted Changes:
Ic4dd70e2c:Add android.hardware.memtrack-unstable-ndk_platfor...
Iaf99d0ca4:Add stable aidl memtrack HAL to product packages
Iac54ae2ba:Add stable aidl memtrack hal to vndk list
If310210a3:libmemtrack: Add support for AIDL memtrack HAL
Ib6c634def:Memtrack HAL: Add stable AIDL implementation
I5e1d0e006:Memtrack HAL stable aidl sepolicy
Change-Id: I922441bf3629a5d50672f1466a1f52fb9e2c3cb0
Prior to this the generic_* devices were typically used for this
purpose. There are a few reasons to create new specific ones:
- the generic_arm64 device has a hack specifically for building
multi-arch packages that we want to avoid
- the generic_* devices include a bunch of emulator config that does not
make sense for unbundled builds
Bug: 172256440
Test: verify unbundled builds migrated from generic_* don't change
Change-Id: Ia937461aa24a5d5b542f8688a1b71ac3fdeb596b
This device/product is suitable for a soong-only build that builds for
all the architectures needed for mainline modules sdk prebuilts.
Bug: 174315599
Test: TARGET_PRODUCT=mainline_sdk soong_ui --make-mode --skip-kati;
(inspect soong.variables)
Change-Id: I3ab5d3611e25a666de39752dedaddbf32ddf6df7
Change PRODUCT_PACKAGE_OVERLAYS to DEVICE_PACKAGE_OVERLAYS so that
goldfish RROs are not pulled into GSI.
This moves the goldfish configs to vendor partition, and since GSI
doesn't include a vendor, this means GSI won't include the goldfish
configs.
Bug: 174816040
Test: Presubmit
Change-Id: Ia3b4ca5fbf23278e55f1f200c9b96568d8d03606
ea21979e96
Bug: 175345910
Bug: 171429297
Exempt-From-Owner-Approval: re-landing topic with no changes in this CL.
Change-Id: I1e49cee30493e4dd116bfbf0b2b78ec93191a7e5
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
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
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)
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
The system property ro.zygote should be define in vendor. It went
to system wrongly when replacing PRODUCT_DEFAULT_PROPERTY_OVERRIDES.
Bug: 173452246
Test: build a Pixel device and check build.prop under system and vendor
Change-Id: I86919f993ae44f3502eb63e728d33acaa14f7088
Merged-In: I86919f993ae44f3502eb63e728d33acaa14f7088
On devices using the generic ramdisk / GKI,
e2fsck is moved to vendor ramdisk now.
Fixes: 173425293
Test: build and manual inspect.
Change-Id: I27562a875ca33a1b6dd3dcf862232fd4dfef6564
Add linker.vendor_ramdisk for Virtual A/B devices with
a vendor_ramdisk because e2fsck is dynamic.
Test: pass
Bug: 173425293
Change-Id: I0a6f5bf15362e28eaa07a4d639ea23749b94b0f5
This is part of adding some devices/products suitable for unbundled
builds. An unbundled product does not need all the PRODUCT_PACKAGES
etc present in the normal hierarchy of products, but does need to know
which jars are on the bootclasspath.
Therefore, factor out the bootclasspath config from base_system.mk and
put it in its own makefile where it can be inherited by these unbundled
products.
Bug: 172256440
Test: diff presubmit artifacts (noop)
Merged-In: Id3f91e387bba2e0525b4010f22fe380d1d8be537
Change-Id: Id3f91e387bba2e0525b4010f22fe380d1d8be537
If vendor_ramdisk exists, it is preferred to use launch_with_vendor_ramdisk.mk
because it moves e2fsck to vendor_ramdisk, making ramdisk smaller.
Devices that uses VABC is assumed to have a vendor ramdisk, so inherit
from this new makefile.
Test: pass
Change-Id: If6adad9985ca4750225fd4263edb42de1ddaf486
For Virtual A/B makefiles that is created before S, add
symlinks so that existing devices don't break.
Test: pass
Change-Id: Ie04c4a8a2375edc673a8a7a2adcd162b21178f68
Since the wpa_supplicant_8 has enabled cfi, the
static lib that it uses should enable cfi, otherwise
there will be runtime crashes.
BUG: 169343095
Test:
lunch sdk_phone_arm64-userdebug
m -j
run the image on the aarch64-linux host
hostapd_nohidl and wpa_supplicant should
not crash with cfi failures.
Change-Id: I00e3840032530ee62aac69cab0b54755f83291f9
For devices that are GKI capable, including virtual_ab_ota_compression
will now include snapuserd in the vendor ramdisk.
For devices that are not GKI-capable (eg do not have vendor_boot),
virtual_ab_ota_compression_retrofit.mk must be included in addition to
virtual_ab_ota_compression.mk. This structure is to avoid needing a
large combination of different Makefiles.
Bug: 173463595
Test: manual test
Change-Id: Idc740d3523c2d166dd578cee41ea07d7eaf8edfa
This is a simple dm-user daemon that will be used for the QA tests.
Test: manual, b/171749628
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Change-Id: I37b78a1479f08f37fe7cff3f2e201dc6d8a6e584
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
... but it does not get turned on automatically. This is controlled by
profcollect_native_boot.enabled device config.
Test: boot device and verify profcollectd is disabled by default
Bug: 79161490
Change-Id: Ia91b9759e108896f275633e3156355b65dc94299
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
Add keystore 2 to the PLATFORM_PACKAGES in anticipation for the Keystore
2.0 migration. This builds and installs keystore2 on the device, but it
does not get started yet. Staring keystore2 is currently controlled with
the platform property ro.android.security.keystore2.enable=true.
Bug: 171305684
Test: keystore2 builds and is present on the device but does not start
unconditionally.
Change-Id: Id92cb2aa38022516067853d89d6c3210db1100a8
These files were added to devices with the fs_config_files_nonsystem
module in base_vendor.mk. As they are partition-specific, move them
to each base_<partition>.mk file.
To add the fs_config_* files to the base_<partition>.mk files, it is
required to define the fs_config_* regardless of the existance of
partitions.
Bug: 170282998
Test: build and check if they are installed.
Change-Id: Ib8a2c75e2e0e93bb7030da981494e880f8465e5a
We are adding things to them, and in order for core libraries like libui
to use them, the newer versions need to be in the VNDK.
Bug: 170435409
Test: build
Change-Id: I18495d303ae8bd68f35631b2be2dc9dcf915e991
Merged-In: I18495d303ae8bd68f35631b2be2dc9dcf915e991
Fix: 170967644
Test: boot
Test: Make sure the following jar files are removed
$OUT/system/framework/service-blobstore.jar
$OUT/system/framework/service-jobscheduler.jar
Change-Id: Ia5351d9d3b1dda7bf96e95bbaad171cd8c3b49fc
Merged-in: Ia5351d9d3b1dda7bf96e95bbaad171cd8c3b49fc
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
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
After separating selinux_policy_system_ext and selinux_policy_product
from the selinux_policy_nonsystem module, add them to
base_system_ext.mk and base_product.mk, respectively.
Bug: 170282998
Test: build and check boot
Change-Id: I03a4ae435898dd773f418d37f321ad0a37f17c3e
Due to bugs in Soong around prebuilt libraries with stubs versions,
the hwasan runtime was installed into /system/lib64/bootstrap, but the
module was not given a ".bootstrap" suffix. Once the bugs are fixed,
the hwasan runtime is no longer installed because the dependencies
on "libclang_rt.hwasan-aarch64-android" are now on an uninstallable
stubs library. Add libclang_rt.hwasan-aarch64-android.bootstrap
to PRODUCT_PACKAGES when SANITIZE_TARGET=hwaddress is set.
Test: m checkbuild
Change-Id: I732d37505274c7bf804396921202f2bcca4484ec
SafetyRegulatoryInfo should not exist in AOSP.
Fixes: 166139891
Test: make && flash to verify regulatory option of Settings
Merged-In: I5fbef719ba30cdbf37e0d4c6daa06a50c06e9495
Change-Id: I5fbef719ba30cdbf37e0d4c6daa06a50c06e9495
This CL re-enables building ANGLE as parta of the base system. This was
done up until the recent merge of goog/master to aosp/master, and is
required as part of enabling ANGLE as the default OpenGL ES driver for
Cuttlefish.
Bug: b/168625635
Test: atest CtsAngleIntegrationHostTestCases
Change-Id: I12c8db290ed7dc6b213b6f1c22692666dcdf143f
Merged-In: Ide4e3d8f78d3748d557a47ecd153d66694fd1e3a
SafetyRegulatoryInfo should not exist in AOSP.
Fixes: 166139891
Test: make && flash to verify regulatory option of Settings
Merged-In: I5fbef719ba30cdbf37e0d4c6daa06a50c06e9495
Change-Id: I5fbef719ba30cdbf37e0d4c6daa06a50c06e9495
Sets ro.virtual_ab.compression.enabled and includes snapuserd_ramdisk.
A device will do the following to enable virtual a/b compression:
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota_compression.mk)
Bug: 168257347
Test: build with product included
Change-Id: Ide19576a69629389a7878d5dff3c5706c22527d9
The Live Lock Killer Daemon (llkd) has provided enough hero moments to
improve system stability, by providing actionable collection of data
to resolve kernel, and some user space, misbehaviors. It is time to
move llkd to a required component.
NB: For llkd to be effective at finding real kernel live lock
conditions, system requirements are that there are no more un-waited
for Zombie processes, and that no kernel drivers use indeterminate
periods of uninterruptible sleep. Any kernel and user space tasks
that are killed because of suspicious behavior, must themselves have
a benefactor to restart them if necessary. If a true live lock is
discovered, data will be collected and the kernel will be panic'd to
recover from the situation.
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 164946924
Test: llkd is ever present on a release build.
Change-Id: I986a8545252bc5b68d09a6a0f4f506a58998c8a0
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
The system property ro.gfx.angle.supported needs to be enabled when
ANGLE is included in a build to indicate to the platform and CTS tests
that ANGLE is present on the device.
Test: atest CtsAngleIntegrationHostTestCases
Bug: 157670307
Merged-in: Ide4e3d8f78d3748d557a47ecd153d66694fd1e3a
Change-Id: I72ba8731fed36dbc594dae88aaa00a6299e8f4ae