This matches the build config used on current mainline devices,
but should ideally be removed once possible.
Bug: 123695868
Test: boot blueline
Change-Id: I8fdef9fbe45b75f175afe9350974f54d1ec5e0c8
The patch changes GSI (aosp_$arch) to inherit from gsi_common.mk
instead of aosp_base_telephony.mk.
The patch also clones the emulator_vendor.mk from emulator.mk to
include all vendor modules.
Bug: 119747870
Test: boot aosp_arm64-userdebug on a blueline device on master/P
Test: boot aosp_x86-userdebug on the emulator
Test: boot aosp_x86_64-userdebug on the emulator
Test: compare the out folder with/without the patch, only more content
Change-Id: Ibd398d4f93d2a964813e05ccd434975435d25adc
gsi_common.mk is a new makefile file for GSI build targets.
It inherited the content from Mainline by mainline_system.mk.
Also it include other default GSI settings and try to covered
all contents from aosp_base_telephony.mk
It will be used to replace the treble_common*.mk. All
aosp_$arch*.mk will become to inherit from gsi_common.mk.
This patch also contains a new build target gsi_arm64,
which is used to test the gsi_common.mk purely.
Bug: 119747870
Test: compare the out system folder between gsi_arm64 and aosp_arm64
Test: also the gsi_arm64-userdebuge can boot on a Pixel device
Change-Id: I9a013f9407e0fe06b45011e36d5169b94f67148d
Stop using armv7-a without neon for 32-bit unbundled apps, and update
generic_x86_arm to match the cuttlefish configuration that includes
neon.
Test: treehugger
Change-Id: Ieb6a2106655803a8ca609907c12168e628ee1b85
This product variable is used to generate the loader config (to use
either /system/product or /product), and the vendor one is likely
used in similar ways. Having these partitions is required for mainline
devices, so set it in the shared BoardConfig.
Bug: 80410283
Test: make
Change-Id: I6f2d94ff43572a28df54ea8c60f2d838a3b9216c
It's 2019 and the CDD has required NEON for many years now.
I've left unbundled apps alone for now.
I think the recent fix here for https://issuetracker.google.com/116070933
was incorrect. (I've commented on the bug.)
Test: treehugger
Change-Id: Ia02305cfdff9fd18a85359bc44d8eb9cab1413bd
Legacy GSI had been changed to include BoardConfigGsiCommon.mk
instead of treble_common*.mk. However, some default settings are
different than the original. This patch fixes
BOARD_BUILD_SYSTEM_ROOT_IMAGE in Legacy GSI makefiles.
The patch also removes redundant settings and fix some comments.
Bug: 122282239
Test: make
Change-Id: Ie4eb8cf410bfd2edc74648c0e5ee81028242a1b7
It's 2019 and the CDD has required NEON for many years now.
I've left unbundled apps alone for now.
Test: treehugger
Change-Id: Iee22d4605a81e2840063a203b76db7df5b4f3c37
This flag turns on 64-bit mediadrmserver for mainline. Keep the default
value for GSI for now.
Bug: 80410283
Test: make
Change-Id: Ie09b258f140b56121e4b531775b2a052b4dc6c15
The patch modifies the Legacy GSI to use BoardConfigGsiCommon.mk
instead of board config treble-common*.mk, and delete these
treble-common*.mk files.
After the patch, the GSI common board configs are in single file
BoardConfigGsiCommon.mk
The patch also includes:
- Moving `TARGET_COPY_OUT_VENDOR := vendor` to
BoardConfigGsiCommon.mk, because GSI always contains no vendor
contents.
- Configure the binder interface bitness explicitly.
- Unify the structure of each BoardConfig.mk.
Bug: 122282239
Test: compare the out folder between with and without the patch
Test: output files are all the same
Change-Id: Ie5901446920dda317dea848e6d5a7bbcf10a32cf
The binder interface bitness is always 64bits from P.
To keep 32bits binder interface for Legacy GSI, we need to explict
configure it.
Bug: 122282239
Test: lunch aosp_arm_ab-userdebug; make -j
Change-Id: I90b45adb52c398d1c0cf3f877199f9dd1e0b3f86
Partial rollback of Id5d114bde8b93800fe52c791ccc47cdffd86f382.
It is likely mainline also wants some of the BOARD_AVB_SYSTEM.. flags,
but I'm not entirely sure which ones.
Test: run build_mixed with this patch
Change-Id: I6ef3c01f6c74e6d93cf798b26b8c7a4785bbefb4
Make the mainline board config only import a subset of the GSI
options. The current set of attributes is the minimal set to
keep mainline_system_arm64 building, as well as not producing
any diffs in the current set of files in /system. It's possible
we'll need to move a few more over, but we'll do that on a
case-by-case basis.
Make the GSI config inherit the mainline one. The only diff for GSI
should be the addition of BOARD_USES_SYSTEM_OTHER_ODEX.
Bug: 119911662
Test: build mainline_system_arm64
Change-Id: Id5d114bde8b93800fe52c791ccc47cdffd86f382
Likely not the final setting we'll settle with for this device,
but brings mainline_system builds closer to the device builds
it's targeting.
Bug: 80410283
Test: build mainline_arm64
Change-Id: Ib672d1a060d0ad6a4e1faa210461bbbbaf6f2bc6
The existing 'generic' targets are emulator devices, and targeting
it has the side-effect of including emulator-specific artifacts.
Create a mainline device instead, which is really generic. This also
allows specifying tweaks unsuitable for the emulator.
Include BoardConfigGsiCommon for now, even though it includes a few
things we likely won't want in the future.
Bug: 80410283
Bug: 111538404
Test: lunch mainline_arm64; m
Change-Id: I15e7cb41fcbd3c0592a091ba7a8575ddf10bda71
To make the generic_x86_arm bootable.
Third party translabor binary can be added on the resulting
system.img and be tested at least on emulator.
BUG: 117673798
Change-Id: Iffbcf9217bbedc12ba83a4851e84ecbf299bf8e7
Merged-In: Iffbcf9217bbedc12ba83a4851e84ecbf299bf8e7
To make the generic_x86_arm bootable.
Third party translabor binary can be added on the resulting
system.img and be tested at least on emulator.
BUG: 117673798
Change-Id: Iffbcf9217bbedc12ba83a4851e84ecbf299bf8e7
Vts release package is not compatible with cortext-a7(armv7-a) cores.
Build vts with TARGET_2ND_ARCH_VARIANT := armv7-a instead of armv8-a.
Bug: 116070933
Test: run vts -m VtsHalBaseV1_0TargetTest on cortext-a7 platform
Change-Id: I8089856223bac5129ad807496ad78b2cbfe1cc8a
Increases BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE to 128MB to fix
the build break. This is because we enabled AVB signing in the following
CL. And verified boot metadata will consume the reserved size in current
build system.
https://android-review.googlesource.com/c/platform/build/+/745691
Bug: None
Test: build sdk_gphone_x86_64-userdebug
Change-Id: If1f44dccbc3a69b1b38a23e979f50c2c52401a25
In current GSI builds, AVB signing is not allowed.
We should allow signing GSI image, while building a vbmeta.img with
AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (flag 2).
When need to disable AVB, use the vbmeta.img above together with the
GSI. When need enable AVB on GSI, include the GSI public key into the
device-specific vbmeta.img. Note that GSI is a chain partition so the
keys used to sign GSI and vbmeta.img are different.
Bug: 112293933
Test: build aosp_arm64-userdebug, checks flag 2 is set in vbmeta.img
and there is AVB HASHTREE in system.img
`avbtool info_image --image $OUT/system.img`
`avbtool info_image --image $OUT/vbmeta.img`
Change-Id: If1eff317621882994e7dcbf37cd35f5bfa16b69a
audio_policy_configuration_generic.xml is pushed in /system as the default
configuration (used if the vendor does not provide one in /vendor or /odm)
and for the emulator.
As a result it can be parsed by 2.0 and 4.0 audio HALs. The format
is retro-compatible, but not forward-compatible.
Additionally, the generic config pushed in /system should never be used
as the vendor should always provide a configuration file describing its
target architecture. Thus it should not be part of the GSI.
Those files were originally pushed in /system the emulator
target does not provide its own configuration file.
The emulator should provide config file instead in /vendor instead.
Bug: 78543061
Test: sdk_gphone_x86 and aosp_x86_64 emulator has audio
Test: adb shell cat /vendor/etc/audio_policy_configuration.xml | diff - \
frameworks/av/services/audiopolicy/config/audio_policy_configuration_generic.xml
Change-Id: Ice43cb4670a82f4e60fcccc58a636d224f240b5a
Merged-In: Ice43cb4670a82f4e60fcccc58a636d224f240b5a
Signed-off-by: Kevin Rocard <krocard@google.com>
(cherry picked from commit dad3ad6126)
Nothing reads TARGET_USES_MKE2FS any more, mke2fs is always used.
Remove the requirement that TARGET_USES_MKE2FS is set, and remove
the places it is set.
Bug: 112241651
Test: m checkbuild
Change-Id: Ibdca062bbe7dcd19ba8f7ee7f8291ce746b74e65
This reverts commit 132748cb80.
Reason for revert: The e2fsck issue, b/112062612, that caused the
revert of the original CL has been fixed in aosp/725259.
Change-Id: I5c919aedcc5b1c4823f565ea2bbe0e6ea81bc3b0
The original size number of GSI are fixed size. Change to give
size by the content with appending 64M bytes space.
Bug: 71970853
Test: `make systemimage` and check the out system.img
Change-Id: I345f5e22c2fee7b553fc3337e9bff0ba28f579e1
The original size number of GSI are fixed size. Change to give
size by the content with appending 64M bytes space.
Bug: 71970853
Test: `make systemimage` and check the out system.img
Change-Id: I345f5e22c2fee7b553fc3337e9bff0ba28f579e1
Merged-In: I345f5e22c2fee7b553fc3337e9bff0ba28f579e1
This reverts commit bc0248f211.
Reason for revert: Triggered preexisting issue with e2fsck and ASAN
Bug: 112062612
Change-Id: I7b52fe539252ab1bb7229d32accb7abd6417f470
audio_policy_configuration_generic.xml is pushed in /system as the default
configuration (used if the vendor does not provide one in /vendor or /odm)
and for the emulator.
As a result it can be parsed by 2.0 and 4.0 audio HALs. The format
is retro-compatible, but not forward-compatible.
Additionally, the generic config pushed in /system should never be used
as the vendor should always provide a configuration file describing its
target architecture. Thus it should not be part of the GSI.
Those files were originally pushed in /system the emulator
target does not provide its own configuration file.
The emulator should provide config file instead in /vendor instead.
Bug: 78543061
Bug: 111963599
Test: sdk_gphone_x86 and aosp_x86_64 emulator has audio
Test: adb shell cat /vendor/etc/audio_policy_configuration.xml | diff - \
frameworks/av/services/audiopolicy/config/audio_policy_configuration_generic.xml
Change-Id: Ice43cb4670a82f4e60fcccc58a636d224f240b5a
Merged-In: Ice43cb4670a82f4e60fcccc58a636d224f240b5a
Signed-off-by: Kevin Rocard <krocard@google.com>
(cherry picked from commit dad3ad6126)
After aosp/719235 is merged, mk_qemu_image.sh now accepts
images in both raw and sparse formats. So We can build GSIs
(system images of aosp_$arch products) in sparse format, which,
historically, is expected by users of GSIs.
Bug: 111775319
Test: The system images below are all in sparse format:
$ lunch aosp_x86-userdebug; $m -j; emulator
$ lunch aosp_x86_64-userdebug; $m -j; emulator
$ lunch aosp_arm-userdebug; $m -j; emulator
$ lunch aosp_arm64-userdebug; $m -j; emulator
Change-Id: I4cb8df0908c4618376117249b61c853fac947e47
Move the settings which effect the system image to the file
BoardConfigGsiCommon.mk
Bug: 80117040
Test: build aosp_arm64-userdebug and pass
Change-Id: I42b14a124992c21b2da0e9e6197b1c38c6e58ce3
Merged-In: I42b14a124992c21b2da0e9e6197b1c38c6e58ce3
Move the settings which effect the system image to the file
BoardConfigGsiCommon.mk
Bug: 80117040
Test: build aosp_arm64-userdebug and pass
Change-Id: I42b14a124992c21b2da0e9e6197b1c38c6e58ce3
Relevant firmware/SW components have been moved out of directories
under root, but not all references to them updated. For example,
/vendor/firmware_mnt won't be used by Android to load firmware.
So we still need these symlinks so the firmware/SW components can
be accesses.
These links should be removed after all references are updated.
Bug: 111287060
Test: $ lunch aosp_arm64-userdebug; m -j
# Checked $OUT/root for the added links
Change-Id: Ia7915dbdeabdee7a5cf8851772e89f080b927c45
USE_XML_AUDIO_POLICY_CONF is must for Treble device, so it is
also must on GSI. The settings is missed when creating GSI
aosp_$arch, add it back by this patch.
Bug: 110988359
Bug: 111053290
Test: build aosp_arm64 and build pass
Change-Id: I95f096e58350233fdcc8de115cc1691360070445
The majority of the contents in BoardConfig.mk of emulator products
are the same. The common part is factored out as EmuConfig.mk so it's
easier to maintain these closely related products going forward.
Bug: 80117040
Test: Following products have been built and booted to homescreen:
$ lunch aosp_x86-userdebug; m -j; emulator
$ lunch aosp_x86_64-userdebug; m -j; emulator
Change-Id: I5392e0e88865d4908906a67c29939c23af84baf0
Merged-In: I5392e0e88865d4908906a67c29939c23af84baf0
(cherry picked from commit 510b76d8ff)
The majority of the contents in BoardConfig.mk of emulator products
are the same. The common part is factored out as EmuConfig.mk so it's
easier to maintain these closely related products going forward.
Bug: 80117040
Test: Following products have been built and booted to homescreen:
$ lunch aosp_x86-userdebug; m -j; emulator
$ lunch aosp_x86_64-userdebug; m -j; emulator
Change-Id: I5392e0e88865d4908906a67c29939c23af84baf0
Non-A/B devices using AOSP OTA flow will mount /cache in the
fstab file. Without setting BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE,
/cache will be a symlink to /data/cache which introduces the
failure of `mount_all /vendor/etc/fstab.{ro.hardware}`. This is
because all devices laucned in P need to switch to "system-as-root".
This CL sets board config to create /cache directory in rootfs
(system-as-root GSI image). Note that A/B devices doesn't mount
or use /cache so leaving an empty /cache in rootfs has no harm.
Bug: 78485405
Test: Boot GSI on walleye
Change-Id: Ic260d2917cc64c9497f5f60ea11303e953e80efd
Merged-In: Ic260d2917cc64c9497f5f60ea11303e953e80efd
These are not really realistic at the moment, but it's nice to get some
targets checked in that can be iterated upon.
- mainline_system: base mk for mainline systemimage. It will evolve to
inherit other mks than base, and probably get a bunch of things added.
- mainline_system_arm: variant of mainline_system, specifically for
the 'generic' device.
- mainline_arm: experimental product that also includes the non-system
parts of aosp. Useful to experiment with the mk split.
Bug: 80410283
Test: lunch mainline_arm64 && m nothing && lunch mainline_system_arm64 && m nothing
Change-Id: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
Merged-In: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
These are not really realistic at the moment, but it's nice to get some
targets checked in that can be iterated upon.
- mainline_system: base mk for mainline systemimage. It will evolve to
inherit other mks than base, and probably get a bunch of things added.
- mainline_system_arm64: variant of mainline_system, specifically for
the 'generic' device.
- mainline_arm64: experimental product that also includes the non-system
parts of aosp. Useful to experiment with the mk split.
Bug: 80410283
Test: lunch mainline_arm && m nothing && lunch mainline_system_arm && m nothing
Change-Id: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
This product has warnings about overriding build commands, which means
that there are multiple instructions on how to build a file, and we've
just picked one of them. Which one we pick is usually stable, but it can
change.
Bug: 77611511
Test: turn default to false, aosp_x86_arm still uses a warning
Change-Id: Id821c04e3dd6a1f69ea748827c3570a751b4e1dd
audio_policy_configuration_generic.xml is pushed in /system as the default
configuration (used if the vendor does not provide one in /vendor or /odm)
and for the emulator.
As a result it can be parsed by 2.0 and 4.0 audio HALs. The format
is retro-compatible, but not forward-compatible.
Additionally, the generic config pushed in /system should never be used
as the vendor should always provide a configuration file describing its
target architecture. Thus it should not be part of the GSI.
Those files were originally pushed in /system the emulator
target does not provide its own configuration file.
The emulator should provide config file instead in /vendor instead.
Bug: 78543061
Test: sdk_gphone_x86 and aosp_x86_64 emulator has audio
Test: adb shell cat /vendor/etc/audio_policy_configuration.xml | diff - \
frameworks/av/services/audiopolicy/config/audio_policy_configuration_generic.xml
Change-Id: Ice43cb4670a82f4e60fcccc58a636d224f240b5a
Signed-off-by: Kevin Rocard <krocard@google.com>
System image of aosp_arm products is the new GSI in Pi.
Its arch variants need to be the same as the legacy GSI built
with aosp_arm_ab so it can pass related CTS/VTS tests.
Bug: 80401108
Test: $ lunch aosp_arm-userdebug; m -j; emulator # booted OK
$ lunch aosp_arm-userdebug; m -j cts
Change-Id: I29fffca3e02a2251913a327b54640fc622e77a8d
Merged-Id: I29fffca3e02a2251913a327b54640fc622e77a8d
(cherry picked from commit b2e58893c3)
The media configuration is handled by goldfish/vendor.mk
already; clean them up from device.mk files.
this cl does not impact arm devices;
and it does the right thing for x86/64 devices
because the media configuration should go to vendor
instead of staying on system
BUG: 110030159
Change-Id: If492f1e01f600b1c969e9ef04598f7af6783970e
The sepolicies are emulator specific and are installed
under vendor partition, move them to the right location.
this cl does not impact real devices, as the selinux
rules are for emulator only
BUG: 110030159
Change-Id: I6acc27a3b787a3fafd9373c84492537185b184c5
Merged-In: I6acc27a3b787a3fafd9373c84492537185b184c5
The sepolicies are emulator specific and are installed
under vendor partition, move them to the right location.
BUG: 110030159
Change-Id: I6acc27a3b787a3fafd9373c84492537185b184c5
Merged-In: I6acc27a3b787a3fafd9373c84492537185b184c5
The sepolicies are emulator specific and are installed
under vendor partition, move them to the right location.
BUG: 110030159
Change-Id: I6acc27a3b787a3fafd9373c84492537185b184c5
Merged-In: I6acc27a3b787a3fafd9373c84492537185b184c5
The sepolicies are emulator specific and are installed
under vendor partition, move them to the right location.
BUG: 110030159
Change-Id: I6acc27a3b787a3fafd9373c84492537185b184c5
The new build target for hostapd does not include the HIDL control
interface and it's a separate binary from the hostapd used for WiFi
hotspots. This new binary needs its own SELinux rules and it should be
included in emulator builds since it's used to provide virtual access
points.
BUG: 74401469
Test: run cts -m CtsNetTestCases
(cherry picked from commit a53c522678)
Change-Id: I8fa4908d1bef8ff25573abb72bbac433ae3151de
Properties for GSI Pi are not exactly the same as those for legacy GSI.
Create a new gsi_system.prop for GSI Pi to avoid reusing legacy
treble_system.prop used by legacy GSI (aosp_$arch_a(b) products).
Bug: 78605339
Test: build and observe the system/build.prop
Change-Id: I435e33558e244009af9a91a97580fd56591ff6f3
Merged-In: I435e33558e244009af9a91a97580fd56591ff6f3
(cherry picked from commit 3fc49fede8)
The new build target for hostapd does not include the HIDL control
interface and it's a separate binary from the hostapd used for WiFi
hotspots. This new binary needs its own SELinux rules and it should be
included in emulator builds since it's used to provide virtual access
points.
BUG: 74401469
Test: run cts -m CtsNetTestCases
Change-Id: I6a654ac2dea20af048ac731876ac603773fcf3d8
There have been quite some changes that should go to aosp.
This CL squash all of them into a single one.
Change-Id: I1e8d172b99cc98c93f2925fef32da8b461c277ed
Merged-In: I93b8489f710d194917d4b482ebca960c39658fd9
Merged-In: Ifac85db4e13d0b946f91b7eeffb4288d40d0ebb8
System image of aosp_arm products is the new GSI in Pi.
Its arch variants need to be the same as the legacy GSI built
with aosp_arm_ab so it can pass related CTS/VTS tests.
Bug: 80401108
Test: $ lunch aosp_arm-userdebug; m -j; emulator # booted OK
$ lunch aosp_arm-userdebug; m -j cts
Change-Id: I29fffca3e02a2251913a327b54640fc622e77a8d
We add goldfish specific apns config files to /data/misc/apns/etc/
for aosp_* targets to have working telephony and wifi.
BUG: 79584197
Change-Id: I46591d923496420212cd279c0b90f0b4eb11cea4
Add BOARD_USES_METADATA_PARTITION to GSI to enable metadata folder
under the root folder.
Bug: 80407843
Bug: 79781913
Test: Boot on a Pixel device with GSI applied the patch
Change-Id: I5544b76b54300aa5a87aa4fa3c0ec6feff13a554
system properties must not be used as a communication channel in between
system and vendor processes. However, there has been no enforcement on
this: system process could write system properties that are owned and
read by vendor processes and vice versa. Such communication should be
done over hwbinder and should be formally specified in HIDL.
Until we finish migrating the existing use cases of sysprops to HIDL,
whitelisting them in system_writes_vendor_properties_violators so that
the violators are clearly tracked.
These violators are allowed only for P, but not for Q.
Bug: 78598545
Test: m -j selinux_policy when choosecombo'ed to aosp_arm64
Merged-In: I8f66aa20bb2d926cf517d40c93f4300c4d16b04b
Change-Id: I8f66aa20bb2d926cf517d40c93f4300c4d16b04b
(cherry picked from commit bb1432b61b)