Commit graph

263 commits

Author SHA1 Message Date
Bowgo Tsai
478bda0122 Merge "Moving GSI-specific files to system_ext"
am: a6c80c1117

Change-Id: Ibba7d959d3e8a3e2b97c9138d067f9b6d0593d60
2019-09-04 08:22:42 -07:00
Bowgo Tsai
8ef0ffe7e8 Moving GSI-specific files to system_ext
Only common files can reside in system partition, other files
should be moved to the newly added system_ext partition.

Note that for GSI, it will be a single system.img that includes the
contents of product and system_ext partitions, under /system/product
and /system/system_ext, respectively. After moving skip_mount.cfg to
system_ext partition, it also needs a symlink file under system
partition:

  /system/etc/init/config -> /system/system_ext/etc/init/config

This allows Q-launched first-stage init (in /boot partition) continue
to use the same path when new GSI image is used.

Bug: 138281441
Test: build aosp_arm64-userdebug and boot it on crosshatch
Change-Id: Ida7c2d1b0152c7ef77fa9aeb5d0766d17aec59c5
2019-09-04 14:54:53 +08:00
Justin Yun
66a0d43db2 Merge "Revert "Add product and system_ext partition for emulator""
am: 0c55b6d2cb

Change-Id: I112c27402c00276f2442daeb233ceee73814fe0e
2019-08-07 16:58:49 -07:00
Justin Yun
b5570cf17b Revert "Add product and system_ext partition for emulator"
This reverts commit ef7e3f2623.

The configuration affects GSI to have separate partitions for product
and system_ext which was not intended.

Bug: 138742524
Bug: 138382074
Test: emulator; check boot
Change-Id: Ie621d6b49f22ee2775adf1c1497e812f840f8ba7
2019-08-07 23:44:41 +00:00
Dan Willemsen
0c5a068d02 Merge "Remove import_includes/export_includes"
am: 6240872250

Change-Id: Idf487156730321d4172a057697ac3585497de13f
2019-08-05 10:44:05 -07:00
Dan Willemsen
18ffd5891e Remove import_includes/export_includes
Now that ONE_SHOT_MAKEFILE no longer exists, we don't have to rely on
the filesystem to store this informtion.

This removes ~16.7k files from our build graph
(aosp-master/aosp_arm64-eng), though only about 600 of them were being
used in a normal build.

Test: treehugger
Change-Id: I3ac12f5ea7f11d25064109a0599bc5be1976fba5
2019-08-01 14:56:45 -07:00
Dan Willemsen
58be946140 Merge changes from topic "rm_ONE_SHOT_MAKEFILE"
am: 8b8b9b6bf8

Change-Id: I5764b2ce848710584d2d837e9e33fb9fb71c8d33
2019-08-01 14:31:32 -07:00
Dan Willemsen
0df0f6bbf1 Remove [jni_]link_type files
Now that mm/ONE_SHOT_MAKEFILE have been removed, we can expect to know
about all of our dependencies at the end of the build.

This removes 19k nodes from our build graph (aosp-master
aosp_arm64-eng), though in a default build, only 3k of those are used.

Test: ALLOW_MISSING_DEPENDENCIES=true, then trigger a missing dependency
Test: treehugger
Test: create link_type files, then apply CleanSpec.mk, ensure they're removed
Change-Id: I9506331e4a9911d2f26e59a2f72a97aef1644073
2019-07-31 18:09:22 -07:00
Justin Yun
ef7e3f2623 Add product and system_ext partition for emulator
Build product and system_ext image and add them to super partition.

Bug: 138382074
Test: boot emulator and check system_ext partition mounted
Change-Id: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2
Merged-In: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2
2019-07-31 10:45:55 +00:00
Justin Yun
ff3d62d31d Add product and system_ext partition for emulator
Build product and system_ext image and add them to super partition.

Bug: 138382074
Test: boot emulator and check system_ext partition mounted
Change-Id: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2
Merged-In: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2
(cherry picked from commit 28843c3e32)
2019-07-31 00:13:19 +00:00
Bowgo Tsai
63b4c9eb76 Moving /odm/build.prop to /odm/etc/buid.prop
am: 33ff602070

Change-Id: I9b26413a5fbfe43e900d79010075a4c234d4b310
2019-05-22 21:07:11 -07:00
Bowgo Tsai
33ff602070 Moving /odm/build.prop to /odm/etc/buid.prop
In device root directory, we have the following symlinks:
  - /odm/app -> /vendor/odm/app
  - /odm/bin -> /vendor/odm/bin
  - /odm/etc -> /vendor/odm/etc
  ...

This allows the Generic System Image (GSI) to be used on both devices:
  1) Has a physical odm partition, where those symlink will be hidden
     when /odm is used as the mount point
  2) Has no physical odm partition and fallback to /vendor/odm/.

We can't just have the symlink /odm -> /vendor/odm, because the former
devices won't have /vendor/odm directory, which leads to mount failure
when the mount point /odm is resolved to /vendor/odm.

The existing /vendor/odm/build.prop won't be loaded in the latter
devices, because there is no symlink:
    - /odm/build.prop -> /vendor/odm/build.prop.

Note that init blocks reading through direct symlinks (O_NOFOLLOW) so
the above symlink won't work either. This CL moves the odm build.prop
to /odm/etc/build.prop for init to load it (symlinks in earlier
components of the path will still be followed by O_NOFOLLOW).

Bug: 132128501
Test: boot a device and checks /odm/etc/build.prop is loaded
Test: make dist with an odm.img, checks $OUT/odm/etc/build.prop is loaded
Change-Id: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7
Merged-In: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7
(cherry picked from commit 6c62884000)
2019-05-22 16:14:53 +08:00
Bowgo Tsai
71a4d5cdd5 Moving /odm/build.prop to /odm/etc/buid.prop
In device root directory, we have the following symlinks:
  - /odm/app -> /vendor/odm/app
  - /odm/bin -> /vendor/odm/bin
  - /odm/etc -> /vendor/odm/etc
  ...

This allows the Generic System Image (GSI) to be used on both devices:
  1) Has a physical odm partition, where those symlink will be hidden
     when /odm is used as the mount point
  2) Has no physical odm partition and fallback to /vendor/odm/.

We can't just have the symlink /odm -> /vendor/odm, because the former
devices won't have /vendor/odm directory, which leads to mount failure
when the mount point /odm is resolved to /vendor/odm.

The existing /vendor/odm/build.prop won't be loaded in the latter
devices, because there is no symlink:
    - /odm/build.prop -> /vendor/odm/build.prop.

Note that init blocks reading through direct symlinks (O_NOFOLLOW) so
the above symlink won't work either. This CL moves the odm build.prop
to /odm/etc/build.prop for init to load it (symlinks in earlier
components of the path will still be followed by O_NOFOLLOW).

Bug: 132128501
Test: boot a device and checks /odm/etc/build.prop is loaded
Test: make dist with an odm.img, checks $OUT/odm/etc/build.prop is loaded
Change-Id: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7
Merged-In: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7
(cherry picked from commit 6c62884000)
2019-05-22 14:04:39 +08:00
Chong Zhang
6dd3336925 resolve merge conflicts of 07d4342fa5 to qt-dev-plus-aosp
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Iba2e59906c6d9dd3dba2cf3ebe88206ae9d7bca9
2019-05-15 15:44:39 -07:00
Chong Zhang
07d4342fa5 Remove soft omx libs from package -- DO NOT MERGE
These are installed by media.codec as required modules,
and they're usually on vendor partition now. We don't
want to install the system targets here.

bug: 132466615

Change-Id: I8375563648bc2a5016dac4760b853cb32dde5429
2019-05-15 20:02:23 +00:00
Martin Stjernholm
b7fd03fd32 Merge "Remove libc_malloc_{debug,hooks} from the system image." am: eba4d2312a
am: 5b657c75ac

Change-Id: I61d80c674ea5066e104bace51a329b951b159f0c
2019-05-09 13:18:49 -07:00
Martin Stjernholm
5055dae50c Remove libc_malloc_{debug,hooks} from the system image.
They are part of Bionic and should now be in the Runtime APEX.

Test: Flash and boot
Bug: 122566199
Bug: 118374951
Change-Id: Ib1a2999b56d743242ef7aafa7aed57f8c6a7b0e5
2019-05-07 17:33:36 +01:00
Tao Bao
721a294a1c Merge "Update the references to verity tools." am: 31c2bf905e
am: ee153db46a

Change-Id: I9f6b38c0538b8b0e9146c622dfb807f170398c8d
2019-05-03 06:59:30 -07:00
Tao Bao
d5ab10eed4 Update the references to verity tools.
Test: `m -j dist` with aosp_marlin-userdebug
Test: `atest releasetools_test`
Test: Run signing with otatools.
Test: TreeHugger
Change-Id: I60d5bad4435d588c5f97b2245ca67ed3d55299b7
2019-05-02 18:32:11 -07:00
Pete Bentley
5a78b371ed Remove libjavacrypto from system image.
The only copy needed is the one in the Conscrypt APEX.

Bug: 123925742
Test: m
Change-Id: Ieea8549d047750cf3580d6fe0204fdf55b6b8394
Merged-In: Ieea8549d047750cf3580d6fe0204fdf55b6b8394
2019-04-30 20:36:18 +01:00
Pete Bentley
c3b9f66cd1 Merge "Remove libjavacrypto from system image." am: 4ec15d2c50
am: 229ba6c8ee

Change-Id: Ic879fa9a3b3137182ab77150fee563303148f3d4
2019-04-26 11:14:36 -07:00
Pete Bentley
f9dd05f1bf Remove libjavacrypto from system image.
The only copy needed is the one in the Conscrypt APEX.

Bug: 123925742
Test: m
Change-Id: Ieea8549d047750cf3580d6fe0204fdf55b6b8394
2019-04-26 10:28:16 +01:00
Bowgo Tsai
2835149987 Revert "Adding adb_debug.prop"
This reverts commit a280a66b5a.

/init now switched to read adb_debug.prop from debug ramdisk instead
of GSI or other system.img. No need to keep the file in GSI.

See the following for more details:
  https://android-review.googlesource.com/c/platform/system/core/+/946517

Bug: 126493225
Test: tree hugger
Change-Id: I981db8e13216fbe0f066f4d3684ee149b1177d22
Merged-In: I981db8e13216fbe0f066f4d3684ee149b1177d22
(cherry picked from commit 8966070431)
2019-04-23 16:24:29 +08:00
Bowgo Tsai
bf23e32478 Merge "Revert "Adding adb_debug.prop"" am: db57997c72
am: 3a4df557b0

Change-Id: I30d442f7e519684dfdb9824c02af5556d9218320
2019-04-23 00:52:26 -07:00
Colin Cross
5180722c5e Use framework.aidl built by Soong
Bug: 130798034
Test: m checkbuild
Change-Id: I24621b41860ce1fd1c3ba067430c8d62b49d03cb
Merged-In: I24621b41860ce1fd1c3ba067430c8d62b49d03cb
(cherry picked from commit 50bf3127d9)
2019-04-22 09:58:07 -07:00
Bowgo Tsai
8966070431 Revert "Adding adb_debug.prop"
This reverts commit a280a66b5a.

/init now switched to read adb_debug.prop from debug ramdisk instead
of GSI or other system.img. No need to keep the file in GSI.

See the following for more details:
  https://android-review.googlesource.com/c/platform/system/core/+/946517

Bug: 126493225
Test: tree hugger
Change-Id: I981db8e13216fbe0f066f4d3684ee149b1177d22
2019-04-22 18:39:44 +08:00
Colin Cross
963a88aa80 Merge "Use framework.aidl built by Soong" am: ab2b34b8fd
am: 009981c5e4

Change-Id: I1913f5acb7d49c6d3b723b7510784b59d8f2ea5b
2019-04-21 10:38:42 -07:00
Colin Cross
50bf3127d9 Use framework.aidl built by Soong
Bug: 130798034
Test: m checkbuild
Change-Id: I24621b41860ce1fd1c3ba067430c8d62b49d03cb
2019-04-18 12:06:27 -07:00
Victor Chang
c3538a4ac0 Remove libicu*.so from /system
Bug: 120659668
Test: CtsJniTestCases
Merged-In: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616
Change-Id: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616
(cherry picked from commit c164b8ef13)
2019-04-15 12:36:50 +01:00
vichang
9def1f23e9 Merge "Remove libicu*.so from /system" am: b23062899c
am: 5a7ce27b9f

Change-Id: Ifdaa72481889fe37e751e355b906e99eef2029c0
2019-04-13 02:46:46 -07:00
Victor Chang
c164b8ef13 Remove libicu*.so from /system
Bug: 120659668
Test: CtsJniTestCases
Change-Id: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616
2019-04-12 20:01:43 +01:00
Yifan Hong
0d8e89b5f8 Reland "Only assert-max-image-size for static partitions."
assert-max-image-size doesn't make sense for
dynamic partitions, as build_image.py always find the
right size for the output image. Hence:

- build_image.py no longer need to write generated_*_info.txt
  (which contains the size of the image).
- assert-max-image-size on the static BOARD_*IMAGE_PARTITION_SIZE. If
  a partition is dynamic, that variable isn't set, and
  assert-max-image-size becomes a no-op. If the partition is static,
  assert-max-image-size checks the static partition size as it used
  to be.
- Fix read-size-of-partitions to use the size of the partition by
  reading the image directly (instead of using generated_*_info.txt).

For devices without AVB, with DAP enabled, and does not have
RESERVED_SIZE for partitions, because of right sizing, the original
code always warns about approaching size limits. Since such checks
doesn't make sense for dynamic partitions, remove them.

Test: builds on device with dynamic partitions
Test: builds on cuttlefish with DAP enabled (without AVB), no
      more size limit warnings:
WARNING: out/target/product/vsoc_x86/vendor.img approaching size limit (X now; limit X)

This reverts commit 6e099095d1.

Reason for revert: reland the CL

Bug: 122377935
Test: build blueline_mainline

Change-Id: Iee594b64e687decff186c0fa60f82b88608febe9
Merged-In: Iee594b64e687decff186c0fa60f82b88608febe9
2019-04-11 10:12:27 -07:00
Yifan Hong
f15b77cfe7 Merge "Reland "Only assert-max-image-size for static partitions."" am: d72873dc41
am: d70f1c637a

Change-Id: I204a6cdeee52ebd8643a223f8bb6f312037d159a
2019-04-10 13:48:34 -07:00
Yifan Hong
8c3dce0c56 Reland "Only assert-max-image-size for static partitions."
This reverts commit 6e099095d1.

Reason for revert: reland the CL

Bug: 122377935
Test: build blueline_mainline

Change-Id: Iee594b64e687decff186c0fa60f82b88608febe9
2019-04-09 10:56:34 -07:00
Florian Mayer
a1bfa46cfa Merge "Revert "Only assert-max-image-size for static partitions."" am: 1d26ca95c3
am: 3db0c17630

Change-Id: I5fb9b3f57d7e86fc5644dd059986082ecb382612
2019-04-09 07:20:48 -07:00
Florian Mayer
6e099095d1 Revert "Only assert-max-image-size for static partitions."
This reverts commit 67e4336912.

Reason for revert: Broke master

Change-Id: I8a5054a42f145881437e2cb5b372f276bfdaa3d2
2019-04-09 09:54:59 +00:00
Yifan Hong
201daffa9a Merge changes from topic "dap_size_check" am: 3c4889fc79
am: 27128f4b10

Change-Id: I3bdebdef8a8bcef7c841967ff9562342ed33a60c
2019-04-08 22:19:03 -07:00
Yifan Hong
67e4336912 Only assert-max-image-size for static partitions.
assert-max-image-size doesn't make sense for
dynamic partitions, as build_image.py always find the
right size for the output image. Hence:

- build_image.py no longer need to write generated_*_info.txt
  (which contains the size of the image).
- assert-max-image-size on the static BOARD_*IMAGE_PARTITION_SIZE. If
  a partition is dynamic, that variable isn't set, and
  assert-max-image-size becomes a no-op. If the partition is static,
  assert-max-image-size checks the static partition size as it used
  to be.
- Fix read-size-of-partitions to use the size of the partition by
  reading the image directly (instead of using generated_*_info.txt).

For devices without AVB, with DAP enabled, and does not have
RESERVED_SIZE for partitions, because of right sizing, the original
code always warns about approaching size limits. Since such checks
doesn't make sense for dynamic partitions, remove them.

Test: builds on device with dynamic partitions
Test: builds on cuttlefish with DAP enabled (without AVB), no
      more size limit warnings:
WARNING: out/target/product/vsoc_x86/vendor.img approaching size limit (X now; limit X)

Fixes: 122377935
Change-Id: I75e1b8322197cb18cf397d02aefd49d777bb6405
2019-04-04 15:09:51 -07:00
Yifan Hong
7a8ffbeb9f resolve merge conflicts of 7bd8a3692f to master
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I16278376fb4a2b26f15b675016d00819ea99c296
2019-04-01 09:53:23 -07:00
Yifan Hong
5478754cd6 Move super.img to obj/PACKAGING
To avoid the confusion. super.img isn't intended to be flashed
during day-to-day development.

Test: m superimage
Bug: 128891161
Change-Id: I9d62e5929b415343b2d890ab21e6ae51175af2ae
2019-03-29 14:47:28 -07:00
Jiwen 'Steve' Cai
eee1046b50 Remove android.frameworks.bufferhub@1.0-service
Disable this for Q. We will add this back once Q branches.

Bug: 128320950
Bug: 123429755
Test: Build system
Change-Id: I1d360c7a8890148be6197092ba149203a72a019d
2019-03-29 11:51:42 -07:00
Bowgo Tsai
e4544b1c02 Moving system_other key into product.img
Currently system_other AVB public key is placed in system.img.
However, this makes it's harder to have a *generic* system.img
across different product configs. Moving the key to /product
partition to allow more product-specific AVB keys.

Device board config can add /product/etc/fstab.postinstall,
to mount system_other with this key in /product. It can specify
different mount options, file systems, verity settings, etc., in
this product-specific fstab as well.

Bug: 123611926
Test: `make productimage` checks the following is generated.
      $OUT/product/etc/security/avb/system_other.avbpubkey
      Also checks it's included in $OUT/installed-files-product.{json, txt}

Test: run the following command and checks that
      PRODUCT/etc/security/avb/system_other.avbpubkey is updated:
      ./build/tools/releasetools/sign_target_files_apks \
        --avb_system_other_algorithm SHA256_RSA2048 \
        --avb_system_other_key external/avb/test/data/testkey_rsa2048.pem \
        out/dist/*-target_files-*.zip signed-target_files.zip

Change-Id: I6804f29941bec54375d80bd68a5aedb5c23b842e
2019-03-20 16:18:11 +08:00
Nelson Li
1f8357fe7d Revert "Revert "Build System: Solve dependency problem for test""
This reverts commit 6fe7f194b9.

Reason for revert: Fixed all build break.

Change-Id: I0a4842df1225399752515a4cd7a7c14173a5bf7b
2019-03-14 01:05:36 +00:00
Nelson Li
6fe7f194b9 Revert "Build System: Solve dependency problem for test"
This reverts commit 224e103308.

Reason for revert: Build Breakage in git_pi-dev-plus-aosp/docs @5366136
make -j110 docs showcommands dist DIST_DIR=/buildbot/dist_dirs/git_pi-dev-plus-aosp-linux-docs/5366136 checkbuild
FAILED:
 Dependencies in out found with no rule to create them:
 out/target/product/generic/data/app/CtsVerifierTester/CtsVerifierTester.apk
 out/target/product/generic/data/app/TradeFedTestApp/TradeFedTestApp.apk
 out/target/product/generic/data/app/TradeFedUiTestApp/TradeFedUiTestApp.apk
 15:53:46 stopping
and
make -j50 showcommands dist TARGET_PRODUCT=cf_x86_phone DIST_DIR=/buildbot/dist_dirs/git_master-linux-ndk_translation_all/5366149 ndk_translation_all
FAILED: ninja: 'out/target/product/vsoc_x86/data/nativetest/arm/arm_insn_tests_arm_static/arm_insn_tests_arm_static', needed by 'out/target/product/vsoc_x86/obj/PACKAGING/ndk_translation_tests_intermediates/arm_insn_tests_arm_static_result.xml', missing and no known rule to make it
15:55:38 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1
Return Code: 2

Change-Id: Idf95ef2e06526a0a31690420c923207db627605f
2019-03-11 16:48:29 +00:00
nelsonli
224e103308 Build System: Solve dependency problem for test
1. A test can add a runtime dependent test module by just setting
   LOCAL_REQUIRED_MODULES or LOCAL_TARGET_REQUIRED_MODULES. Then the dependent test
   module will be copied to testcase folder.
2. Do not install to $(TARGET_OUT_DATA) for testcase

BUG: 117224272

Test: 1. (a) vi cts/tests/tests/text/Android.mk
         (b) add LOCAL_REQUIRED_MODULES := CtsPrintTestCases
         (c) m -j CtsTextTestCases
         (d) Then, CtsPrintTestCases should also be built to testcase folder like below.
             ./target/product/generic_arm64/testcases/CtsPrintTestCases

Change-Id: I24ea3783486c54a05cfa9d3d0375b977afc230f8
2019-03-07 14:08:35 +08:00
Martin Stjernholm
6fd16926b1 Clean up libjdwp.so and possibly other dependencies that might have crept in
between http://r.android.com/890494 and http://r.android.com/913898.

(Repopulating libs from intermediates is quick, so not wasting effort trying
to be precise.)

Test: Don't have a suitably old build tree to test with.
Bug: 124498388
Change-Id: Ice35606e4c301d5b01837963137421f9d23a9733
2019-03-01 20:41:52 +00:00
Martin Stjernholm
616dc79043 Remove libnpt from system again.
http://r.android.com/914573 fixes libjdwp to look for it in the APEX.

Test: Flash and boot
Test: adb forward tcp:5555 jdwp:`adb shell pidof com.android.email` && jdb -attach localhost:5555
Test: atest CtsJdwpTestCases
Bug: 124498388
Change-Id: Idf380660a21c88969e42d6a03a6b50fd2baa4c17
2019-02-27 20:51:56 +00:00
Colin Cross
47e384c3d6 Remove dexpreopting of boot jars from Make
Dexpreopting of boot jars is now implemented in
build/soong/java/dexpreopt_bootjars.go.

Test: m checkbuild
Change-Id: I036510e7674b876976ce191c5b18bf0b7a15c6ee
2019-02-15 13:00:14 -08:00
Martin Stjernholm
a568592f53 Disable installation of ART modules in /system.
Remove ART modules (`art-runtime`, `art-tools`) from `PRODUCT_PACKAGES`, as
they are provided by the Android Runtime APEX module
(`com.android.runtime`).

Copy of rpl's http://r.android.com/812674.

Test: Flash and boot
Test: atest CtsJniTestCases
Test: atest CtsJdwpTestCases
Test: m checkbuild dist
Bug: 113373927
Change-Id: I3e0c130f1a9c596629ab243648f0251cf71c1499
2019-02-13 22:28:09 +00:00
Anton Hansson
95958eefa9 Change RRO default location to /product
This changes the default location of RRO packages that don't
specify where they should be installed to /product instead of
/vendor.

Also change the auto-generated "enforced RRO" packages to install
on /product, and be explicit about that in the mk to make it
independent of the RRO default.

The reasoning for this change is that most overlays tend to be
for product level customizations, like themes and so on. RROs
for hardware related things can still be explicitly installed
on /vendor.

Bug: 123566903
Test: preubmit
Test: various internal tests
Change-Id: Ie7d5f19dc7ab421a7bcf584153f991e18e961cda
2019-02-07 13:06:18 +00:00