Commit Graph

1494 Commits

Author SHA1 Message Date
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
Devin Moore
4724f77bca Merge "Fix initbootimage .PHONY target" 2022-01-24 15:17:17 +00:00
Nicolas Geoffray
7d0f8dd332 Merge "Revert "Set an empty persist.sys.dalvik.vm.lib.2 to simplify debug apex testing."" 2022-01-24 13:59:48 +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
Devin Moore
35b69f698d Fix initbootimage .PHONY target
This was assigning the INSTALLED_INIT_BOOT_IMAGE_TARGET to bootimage
instead of initbootimage.

Test: m
Bug: 203698939
Change-Id: I5fc6e2296dac8cc35c4d46601fea6ab0ee18fd18
2022-01-20 15:26:47 +00:00
Nicolas Geoffray
4ff406c4a1 Revert "Set an empty persist.sys.dalvik.vm.lib.2 to simplify debug apex testing."
This reverts commit 50930076a2.

Bug: 214049018

Reason for revert: Not needed after all.

Change-Id: Ifbf3053fd70c5880e58136821a2fb8b783c48e2a
2022-01-19 16:22:07 +00:00
Nicolas Geoffray
00a48b3df7 Merge "Set an empty persist.sys.dalvik.vm.lib.2 to simplify debug apex testing." 2022-01-17 12:23:19 +00:00
Nicolas Geoffray
50930076a2 Set an empty persist.sys.dalvik.vm.lib.2 to simplify debug apex testing.
Keep the property for now to keep the ability to toggle on/off the
library we want. If we want to remove this functionality,
we need to cleanup all references to persist.sys.dalvik.vm.lib.2.

Test: build and boot with debug apex
Bug: 214049018
Change-Id: I66c7eb510f5a8b7974391ceafd309fba59a524a1
2022-01-14 16:07:07 +00:00
Yi-Yo Chiang
f282f5521d Add boot*.img to default dist target if PRODUCT_EXPORT_BOOT_IMAGE_TO_DIST
Right now if PRODUCT_EXPORT_BOOT_IMAGE_TO_DIST is given,
  $ m dist bootimage
would copy boot*.img to the dist dir.

After this change, both
  $ m dist  # droidcore
  $ m dist bootimage
would copy boot*.img to the dist dir, the difference is that the latter
builds & copies *only* the boot images.

Bug: 212486689
Test: m dist bootimage
Test: m dist => boot*.img are copied to dist dir
Change-Id: I1c714ce5d75eba93e32078b1ac291a181b05405a
2022-01-11 17:31:16 +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
Cole Faust
985fa48a98 Make starlark board configuration work with sdk_phone_x86_64
The main issue with board configuration up till this
cl was that it didn't have access to the product configuration
variables. Pass those in by dumping the make variables to a
temporary file, which is then converted to RBC, loaded,
and passed to the starlark board config..

Bug: 201700692
Test: build/bazel/ci/rbc_product_config.sh -pb sdk_phone_x86_64-userdebug
Change-Id: I9a4946b970ca43c5b5f53a6c507ad2c1a2eca61e
2021-11-04 16:13:24 -07:00
Colin Cross
23ee375a4a Support generating install rules in Soong
Support moving some install rules into Soong by allowing Soong to
provide a Makefile containing install rules, and by skipping parts
of base_rules.mk when Soong already created an install rule.

The install rules are exported as a Makefile instead of directly
in Soong's build.ninja file so that base_rules.mk can add dependencies
from the `required` property that are hard to resolve in Soong.

Bug: 204136549
Test: m checkbuild
Change-Id: Ife2964d76469b385e90c0c5f6adf21bd2b5e8bf6
2021-10-29 15:43:39 -07:00
Dan Willemsen
349dc07933 Shrink Mac builds
Device builds are no longer supported on Mac, but we do support building
various host tools, including the SDK build-tools and platform-tools
packages. All of these are defined in Soong now, so we stop reading all
the Android.mk files, and defining and depending on the device output
targets.

Bug: 187222815
Test: `m`, `m dist`, etc on Mac
Change-Id: Ibb19756d44f2cbc6948381043115718ffc3f4b7d
2021-10-17 00:28:39 -07:00
Dan Willemsen
39b81cdc7a Remove old build-tools/platform-tools SDK implementation
Since those were the only components of the Windows SDK, this removes a
lot of special casing around that as well.

Bug: 187222815
Change-Id: I2690aadcf78e9ccad43314c8475893e81a2e2735
2021-10-15 14:22:07 -07:00
Yi-Yo Chiang
f93950ae53 Merge changes If929bcf9,I9fb5c7fc am: 747a0c12eb
Original change: https://android-review.googlesource.com/c/platform/build/+/1842716

Change-Id: I0f9bc530c3e2e83b14efcad778870bc0d7795888
2021-10-04 10:00:49 +00:00
Yi-Yo Chiang
747a0c12eb Merge changes If929bcf9,I9fb5c7fc
* changes:
  Dedup build rules of ramdisk-(debug|test-harness).img
  Build vendor_ramdisk[-debug].img if building vendor_boot.img
2021-10-04 09:50:36 +00:00
Howard Chen
8a59680b4f Merge "Make GSI target to export bootimage to DIST" am: c1b9c1d801
Original change: https://android-review.googlesource.com/c/platform/build/+/1839815

Change-Id: Ibac747f40c9a961fbe692f511b2edfef11f07247
2021-10-04 06:59:55 +00:00
Howard Chen
c1b9c1d801 Merge "Make GSI target to export bootimage to DIST" 2021-10-04 06:36:32 +00:00
Yi-Yo Chiang
870ea163c2 Build vendor_ramdisk[-debug].img if building vendor_boot.img
Make vendor_boot.img / vendor_ramdisk.img symmetrical to boot.img /
ramdisk.img.

Bug: 201753847
Test: Build and check vendor_ramdisk[-debug].img
Change-Id: I9fb5c7fca09a77446bd140ca549c2091fc9c6a40
2021-10-01 21:45:34 +08:00
Ulyana Trafimovich
e6a4320cb0 Merge "Remove unused variable SKIP_BOOT_JARS_CHECK." am: 85ed8ef84f
Original change: https://android-review.googlesource.com/c/platform/build/+/1841575

Change-Id: Id9dfc110111e09a3d82d0ae6f76ce943431b8bb6
2021-10-01 07:34:20 +00:00
Ulya Trafimovich
ddec79ce54 Remove unused variable SKIP_BOOT_JARS_CHECK.
The variable is no longer used after https://r.android.com/1737753.

Bug: 189298093
Test: m
Change-Id: I6bcb6735189429551ebca697441f2a1edb5c4dfa
2021-09-30 14:00:34 +01: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
d656f50618 Merge "Stop disting monolithic SDK for Mac SDK builds" am: 1646ba0814
Original change: https://android-review.googlesource.com/c/platform/build/+/1829032

Change-Id: I2bda18219770a634add3716a3de215b8fc41cba6
2021-09-17 06:08:53 +00:00
Dan Willemsen
616e7fd9b6 Stop disting monolithic SDK for Mac SDK builds
The Mac SDK build is being reduced to just the build-tools and
platform-tools packages. I'm still working on refactoring those builds
not to require the monolithic SDK to be built first, but we can at least
stop distributing it (and other related files) now.

Most of these checks can likely go away once the build refactor is
complete, since we'll be able to move away from the `sdk` target to
something more specific. Right now there's a lot of logic around sdk
being in MAKECMDGOALS that I don't want to unravel with the current
build logic.

Bug: 187222815
Change-Id: I1f711ce063170e41078ad4a125bcd77340a1746c
2021-09-16 14:54:38 -07:00
Lukács T. Berki
0dae6f9daa Merge "Remove soong_docs from droidcore." am: f999a9d145
Original change: https://android-review.googlesource.com/c/platform/build/+/1818099

Change-Id: I28685ea07309b5ffebb44bc62149bef8b4dd3d20
2021-09-08 13:39:20 +00:00
Lukacs T. Berki
043f3a1897 Remove soong_docs from droidcore.
soong_docs will be run directly from soong_ui so it won't have a
corresponding Make target.

Test: Presubmits.
Change-Id: Id7abccdf2ea3830edf6043c10b617bddf4f9c86d
2021-09-08 08:24:33 +02:00
Sophie Zheng
a44660f3a6 Merge "API coverage Copy generated API list during building cc_library to cc_apis/" am: 8f863178da
Original change: https://android-review.googlesource.com/c/platform/build/+/1798348

Change-Id: I3cafb348553174a01cb9fc796d7138d30f5943a9
2021-08-25 21:58:02 +00:00
Sophie Zheng
8f863178da Merge "API coverage Copy generated API list during building cc_library to cc_apis/" 2021-08-25 21:42:44 +00:00
sophiez
c2ae0e5bbb API coverage
Copy generated API list during building cc_library to cc_apis/

Test: build/soong/soong_ui.bash --make-mode SKIP_ABI_CHECKS=true TARGET_PRODUCT=aosp_cf_x86_phone TARGET_BUILD_VARIANT=userdebug droid dist DIST_DIR=/usr/local/google/home/sophiez/my_dist_dir EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true CLANG_COVERAGE=true SKIP_BOOT_JARS_CHECK=true

Change-Id: I05e6b7b9c9bbbab72718fd926ddda468bde05565
2021-08-17 14:59:36 -07:00
Spandan Das
fddb39414a Merge "Remove MODULE_BUILD_FROM_SOURCE=true for coverage builds" am: 9c1806331d am: 91a0bf995c
Original change: https://android-review.googlesource.com/c/platform/build/+/1788549

Change-Id: I2029ac5a55b5a24770b5974ab1087e5cd15b71d7
2021-08-10 23:11:04 +00:00
Spandan Das
9c1806331d Merge "Remove MODULE_BUILD_FROM_SOURCE=true for coverage builds" 2021-08-10 22:35:42 +00:00
Alexander Smundak
0db8f12015 Merge changes I0ecafa41,Ic6173a96 am: 420a93155a am: 9edaddf6ad
Original change: https://android-review.googlesource.com/c/platform/build/+/1786890

Change-Id: Ie26afa42c3db28fed546b2c51a58b3d696e55c14
2021-08-06 02:30:02 +00:00
Spandan Das
289fb6cad0 Remove MODULE_BUILD_FROM_SOURCE=true for coverage builds
This flag will be selectively added to build targets if necessary

Bug: 193569756
Test: m nothing
Change-Id: Ie0fd898b03aa91322dddd9137b038031d46c8d24
2021-08-06 02:25:04 +00:00
Sasha Smundak
8d97bf5327 Integrate Starlark-based configuration runner
If RBC_PRODUCT_CONFIG variable is set, obtain product configuration
variables by converting product configuration makefiles to Starlark
files and then executing them.
Also, introduce RBC_NO_PRODUCT_GRAPH variable to suppress product graph
generation. We cannot generate product graph with Starlark, so this
option allows to verify that the rest of the contents of the generated
Ninja files remains the same when Starlark-based converter is used.
This allows to perform the regression testing, i.e. running
`RBC_NO_PRODUCT_GRAPH=t DISABLE_ARTIFACT_PATH_REQUIREMENTS=t m nothing`
and
`RBC_PRODUCT_CONFIG=t m nothing`
should generate identical *.ninja files.

Bug: 181797530
Test: Manual
Change-Id: Ic6173a9640f32766b71c02a2b1833ce7a278e4cc
2021-08-04 17:15:16 -07:00
Mathew Inwood
ab6e72bd00 Merge "Fix typo." am: 0361b625f2 am: c84ab4d0e8
Original change: https://android-review.googlesource.com/c/platform/build/+/1784570

Change-Id: I6d6792534e7e514d68816b524187cbb005c0a7a0
2021-08-03 10:09:57 +00:00
Mathew Inwood
0361b625f2 Merge "Fix typo." 2021-08-03 09:27:41 +00:00
Bowgo Tsai
5c2a544516 Merge "Adding vendor_boot-test-harness.img" am: 23ae3dcbe1 am: 82a45ea4a0
Original change: https://android-review.googlesource.com/c/platform/build/+/1782047

Change-Id: I377125c9184bf2947c4f592f9395efb66864a85e
2021-08-03 06:34:25 +00:00
Bowgo Tsai
23ae3dcbe1 Merge "Adding vendor_boot-test-harness.img" 2021-08-03 06:07:13 +00:00
Mathew Inwood
87c4655f07 Fix typo.
Test: m

Change-Id: I6a85ea59bb6d6babd6979de22a944e8751ea287f
2021-08-02 15:00:10 +01:00
Mathew Inwood
945184174c Don't use mainline prebuilts for coverage builds.
Test: TH
Bug: 192556458
Bug: 159241638
Merged-In: Id29e273c1df1fa27a038ebdcff1a17acca58bd46
Change-Id: Id29e273c1df1fa27a038ebdcff1a17acca58bd46
2021-08-02 13:25:03 +01:00
Alexander Smundak
ba28f07d46 Merge changes I129136e8,I278bd8ed,I1d22ed6f am: 510c0014d5 am: bd4362926e
Original change: https://android-review.googlesource.com/c/platform/build/+/1781014

Change-Id: I96d9919f4b65a548b57d2bc8eee38d2fd02baa73
2021-07-30 02:35:20 +00:00
Bowgo Tsai
87f60017b9 Adding vendor_boot-test-harness.img
boot-test-harness.img is used to allow adb root on user build
images. It also sets properties: ro.audio.silent=1 & ro.test_harness=1.

GKI 2.0 devices will use BOARD_PREBUILT_BOOTIMAGE so
boot-test-harness.img will not be generated.

Therefore, we have to introduce the vendor_boot-test-harness.img
as an alternative for boot-test-harness.img.

In the future, we'll simplify the flow as:
  + If a device has a /vendor_boot partition, builds
    vendor_boot-(test-harness|debug).img.
  + Otherwise, builds boot-(test-harness|debug).img.

boot-(test-harness|debug).img needs to be kept for some clients
to gracefully transit to using vendor_boot-(test-harness|debug).img.

Bug: 194654549
Test: make then `unpack_bootimg --boot_img $OUT/vendor_boot-test-harness.img`
Test: Check the ramdisk content in ./out/vendor_ramdisk

Change-Id: If3a1393b4ff3e69bb9b62f3b843b7858437d47bf
2021-07-30 00:54:47 +00:00
Sasha Smundak
0e4a5ad24b Trim spaces in the rule actions
When rule action contains something like
  cp $(FOO) ...
and FOO is set with
FOO := a \
 b \

the generated Ninja file constains extra spaces, making it
difficult to compare it to the same file generated by the
Starlark-based product configuration.

Bug: 181797530
Test: manual
Change-Id: I278bd8edf0f017a31c5b5115b2a38f4f663c55fc
2021-07-29 10:57:06 -07:00
TreeHugger Robot
18eac2c301 Merge "Don't use mainline prebuilts for coverage builds." into sc-dev am: d932280147
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/15358466

Change-Id: If8a86300a70199380b8bf2885eeac909480e743d
2021-07-22 17:21:47 +00:00
Mathew Inwood
31167aeaf4 Don't use mainline prebuilts for coverage builds.
Test: TH
Bug: 192556458
Bug: 159241638
Change-Id: Id29e273c1df1fa27a038ebdcff1a17acca58bd46
2021-07-22 12:10:57 +01:00
Treehugger Robot
d622e08647 Merge "dexpreopt.config should be created even though unbundled image is built" am: e01cfe4896 am: 10b90baa51
Original change: https://android-review.googlesource.com/c/platform/build/+/1730113

Change-Id: I54f082381d01c57d5fed3be25fdf764ff58431ce
2021-07-15 09:28:41 +00:00
Jeongik Cha
b26bf58e12 dexpreopt.config should be created even though unbundled image is built
Bug: 188179858
Test: compare dexpreopt_config.zip files from
 1. TARGET_BUILD_UNBUNDLED_IMAGE=true m dexpreopt_config_zip
 2. m dexpreopt_config_zip
(note that m clean should run between steps)

Change-Id: I92623b59e4fcac397c7fed3d7ab1070fe5281027
2021-07-14 18:52:01 +09:00
Bill Peckham
87ae77f7ef Merge "Break dependency from droid_targets to blueprint_tools" am: 61de59bc36 am: a897b876e7
Original change: https://android-review.googlesource.com/c/platform/build/+/1754798

Change-Id: I313be134662bf05da0efe835681ca3c32ff6112d
2021-07-07 20:39:51 +00:00
Bill Peckham
cc2961f54a Break dependency from droid_targets to blueprint_tools
But only for a TARGET_BUILD_UNBUNDLED_IMAGE build. Since
the unbundled image build attempts to remove as many
framework sources as possible, we'd like to remove the
sources and dependencies of some blueprint_tools as
well.

Test: m nothing dist
Test: Verify graph is unchanged
Test: m nothing dist TARGET_BUILD_UNBUNDLED_IMAGE=true
Test: Verify that graph no longer includes blueprint_tools
Bug: 192629969
Change-Id: Ibfb52b841379e20855d0a935a13ad047af2fe58d
2021-07-02 13:13:10 -07:00
TreeHugger Robot
ae53a41a1f Merge changes Ie63d08ac,Ia7f8200c into sc-dev am: c66099dcc6
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/15008279

Change-Id: I99e71fbfc149099a7e2bcdd9b71a7281960f5310
2021-06-17 15:18:21 +00:00