When checking *.img size with the partition size, the build system
reserves additional bits for spare bits and spare bad blocks.
However, for emmc and ufs, the space bits and blocks are entirely
managed by the underlying controller and thus not visible from outside
of the controller. In fact the check routine was made for legacy MTD
storages where raw flash blocks are directly exposed.
This makes the size checking a little bit conservative in modern devices.
Builds were failed even though the *.img can actually fit into the
partition. To handle this problem, the additional size is no longer
reserved when checking *.img size with the partition size.
This change also removes following build flags that are meaningful
only for devices having MTD storages:
BOARD_NAND_PAGE_SIZE
BOARD_NAND_SPARE_SIZE
Further use of them breaks the build
Bug: 35790399
Bug: 66399382
Test: build
Merged-In: I954bf261441b53844e75d05788866f1692a2ad43
Change-Id: I954bf261441b53844e75d05788866f1692a2ad43
Test: builds with BOARD_VNDK_VERSION=current
Test: test only one product is using this w/ multiproduct_kati
Bug: 65375837
Merged-In: I972ab897a8bc23ba5c5f6bf133db0017e4334f40
Change-Id: I972ab897a8bc23ba5c5f6bf133db0017e4334f40
with cas/camera/drm hals
BUG: 64726466
Test: build aosp_x86-eng, boot emulator
without camera/drm hals killed by
selinux avc denials; camera can take
pictures
Change-Id: I8a154fdb5d7aa7763aab2b912976eb9e1d329cdb
Merged-In: I8a154fdb5d7aa7763aab2b912976eb9e1d329cdb
BUG: 62137708
Test: buld sdk_gphone_x86-user, launch
emulator make sure radio works
Change-Id: I4ef1483a8d95a74b54deb6f0d4b2461c733c8140
Merged-In: I4ef1483a8d95a74b54deb6f0d4b2461c733c8140
BUG: 37511975
Test: lunch sdk_gphone_x86-user, make with dist option, unzip
sdk_gphone_x86-emulator-eng.xxxx.zip to system image folder, emulator
can boot
Change-Id: I75b9f0de17fece3dec5ae1662400808af321bd4d
Merged-In: I75b9f0de17fece3dec5ae1662400808af321bd4d
Test: builds and verify that system/compatibility_matrix.xml
has configs filled.
Test: `vintf | tail` on marlin shows that fwk compat mat
is compatible with runtime info.
Bug: 38324908
Change-Id: I8a35ea582fea1faa083c409ec58813c3ac82dc9c
Merged-In: I8a35ea582fea1faa083c409ec58813c3ac82dc9c
Note that this depends on a change in avbtool:
https://android-review.googlesource.com/#/c/406374/
Bug: 38325029
Test: builds system.img, checks $OUT/system/compatibility_matrix.xml
contains correct vbmeta-version
Change-Id: Iacc0a2687fb39600ad6b8e9cfbfe5c1a3b90b40b
Merged-In: Iacc0a2687fb39600ad6b8e9cfbfe5c1a3b90b40b
Test: test with DEVICE_MANIFEST_FILE variable split
into multiple files
Bug: 38217107
Change-Id: I1146898e4ccf0e8bac7d8541032f160476dbc148
Merged-In: I1146898e4ccf0e8bac7d8541032f160476dbc148
This reverts commit 7de79cbeaf.
Fixed CTS build issue by adding -march=armv7-a in cts/tests/tests/os/jni/Android.mk since the library built here needs/uses instruction (swp) obsolete in ARMv8.
Bug: 64964151
Test: lunch aosp_arm64-userdebug; make -j cts
lunch aosp_x86-userdebug; make -j cts
lunch aosp_sailfish-userdebug; make -j cts
lunch aosp_bullhead-userdebug; make -j cts
Change-Id: Ic3a121600da8e2a9a2d5176b9680cd18ce457959
Overwrite TARGET_(2ND_)ARCH_VARIANT as armv8-a if
TARGET_(2ND_)CPU_VARIANT is set to some known armv8-a core like
cortex-a53, cortex-a73, kryo, denver64 etc.
For clang, -march is ignored if -mcpu is set to specific core so this
change doen't impact the objects built for armv7-a-neon/some_armv8_core
since it's treated as armv8-a/some_armv8_core.
Bug: 62895439
Test: Built modified aosp_arm64 with armv8-a as its TARGET_2ND_CPU_ARCH
and generic as its TARGET_2ND_CPU_VARIANT successfully.
"lunch hikey-userdebug; make" and verify TARGET_2ND_ARCH_VARIANT
is overwritten.
Change-Id: If4260cf397783b5f56c4fd432615f4676429a1d3
This reverts commit 9b99ddc8a5.
and add syste-qemu.img to the dependency list of sdk target
Test: build sdk target successfully
Change-Id: Idb0bee56275f3bfe33ba7d29463e4b8e0699ec33
For raw system.img and vendor.img do not have
partition table and init refuses to mount them
in first stage mounting.
For emulator build:
create partitioned system-qemu.img for system.img;
create partitioned vendor-qemu.img for vendor.img
if applicable.
Change-Id: I64fdcdafc303cf2f74a1e96653e7afe259f0af98
This attribute has been removed from public policy and is no longer
available.
Bug: 38316109
Test: build policy
Change-Id: I3407ced2d725de982e19b77345827de03d93c426
(cherry picked from commit ec488e1fee)
aosp_arm_a: for non-A/B 32-bit arm devices
aosp_arm64_a: for non-A/B 64-bit arm devices
Both are based on aosp_arm64_ab (for A/B devices).
Bug: 36153731
Test: build with oc-dev and the resulted system image works on one
32-bit arm device successfully (no 64-bit arm device to test yet).
Change-Id: Ifb5c4239e5c22005e055cfa840feca9c0a92586f
This attribute has been removed from public policy and is no longer
available.
Bug: 38316109
Test: build policy
Change-Id: I3407ced2d725de982e19b77345827de03d93c426
Add compatibility check against device vintf schemas
when framework schemas are built.
Test: build with lunch marlin (that has manifest.xml)
Test: build with mini_emulator_arm64 (that doesn't have manfiest.xml)
Bug: 37321309
Change-Id: I87db152754d0185938bcef0c4395f477b8fd269b
Also renamed matrix.xml to compatibility_matrix.xml.
Test: make and ensure vendor/compatibility_matrix.xml is there.
Test: adb shell vintf (see matrices, compatible = true)
Bug: 37321309
Change-Id: I4ebbedf47a576a50a42df53b72e507ed31ef2e56
The target does not have a kernel so this flag does
not make sense.
Bug: 37443196
Test: flash aosp_arm64_ab system.img on sailfish
Change-Id: I1f22866dd5ecdd16615c02fdc8aa898b1ec2ddbd
Test: builds, and verify that system/manifest.xml is there.
Bug: 36681384 Runtime-Collectible information must be statically
collectible
Bug: 36983271 VINTF checked at build time
Change-Id: Ic3bb50211311fa423a2ad56bd2891cb57d7dc1a5
Test: builds, and verify that vendor/manifest.xml has
sepolicy version.
Bug: 36681384 Runtime-Collectible information must be statically
collectible
Bug: 36983271 VINTF checked at build time
Change-Id: I10e4cff6ed1b78a7cb9239e822ab054e1b90e7d3
The device manifest defines the collection of HAL interfaces exposed by
the vendor. Create a common rule so each target need not define their own.
Bug: 36810913
Test: Ran marlin build and inspected file was copied
Change-Id: I9f53796fdd85e706f91664d275aff6dbd785213f
ENABLE_TREBLE is deprecated...removing obsolete code fragments related
to the flag.
Test: marlin boots/works
aosp_arm64_ab boots/works on sailfish/marlin
Bug: 32978887
Change-Id: I59b4509e4e7ec11cfa138200bccc4418c10b44f3
Now that the selinux policy has been split between the system and
vendor partitions the aosp_arm64_ab build variant no longer
depends on the marlin selinux policy to work on marlin and sailfish.
Test: build and flash aosp_arm64_ab system.img on marlin and sailfish
Change-Id: I7681207284d783ffca1acccf44dbb159ea3b521c
By setting BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED on aosp_arm64_ab
the device specific properties like ro.product.board
are hosted in /vendor/build.prop.
Test: build and flash aosp_arm64_ab system.img on sailfish and marlin.
Change-Id: I8062ff81221a3026626736b012ceaf99d8ca2d12
aosp_arm64_ab is added as a product to build a generic system image for
all devices with ARM64 and A/B ready partitions. For now, it only
supports sailfish/marlin devices because following items are not yet
split.
- fstab
- overlays
- sepolicy
Bug: 35653062
Test: build and flash it to sailfish (or marlin)
$ source build/envsetup.sh; choosecombo 1 sailfish userdebug
$ ENABLE_EARLY_MOUNT=true ENABLE_TREBLE=true m -j 80
$ fastboot flashall
(For now, the two ENABLE_* are required to install *.rc and *.prop
files into vendor partition. This restriction will be removed in the
future.)
$ source build/envsetup.sh; choosecombo 1 aosp_arm64_ab userdebug
$ m -j 80 systemimage
$ fastboot flash system out/target/product/generic_arm64_ab/system.img
$ fastboot -w reboot
Change-Id: Ia91163f2d51e90a488c9451cba23242887ea82ba