Commit Graph

1077 Commits

Author SHA1 Message Date
Dan Willemsen baacc3a7e8 Clean up vendor image handling - DO NOT MERGE
Standardize symlinking /system/vendor -> /vendor for aosp_* devices,
since some /vendor binaries still use /system/vendor/... paths.

Support using a prebuilt vendor image and including it into all the
normal packaging steps.

Bug: 31545062
Bug: 28987532
Change-Id: I27040e8a8d1df0777e16cd1e3c3a9f1b28695e96
2016-09-20 09:45:38 -07:00
Andriy Naborskyy cface8c009 Merge "board-specific prep recovery imagefix recovery size issue" into nyc-mr1-dev 2016-08-16 14:06:46 +00:00
Alex Deymo 5134712d6f Install the update-payload-key in the recovery image as well.
The update-payload-key is required to verify the contents of the OTA in
recovery while sideloading an update.

Bug: 27178350
TEST=`make` builds a boot.img with the payload key in recovery.

(cherry picked from commit c6ebe9fcd7)

Change-Id: I0128d7f684d32201e227acce798b25f12982eaaa
2016-08-10 11:10:11 -07:00
Nick Desaulniers d491fcf438 build: sign boot.img based on BOARD_USES_RECOVERY_AS_BOOT
Bug: 30681215
Change-Id: Ic3a18a65f9b1251c2592fc54569b2c6af99e6ece
2016-08-09 12:29:26 -07:00
Andriy Naborskyy 5310557e3a board-specific prep recovery imagefix recovery size issue
Allow device config provide extra steps when preparing recovery
For example: have limited space in recovery partition and
need remove /sbin binaries that are not used in recovery mode

Bug: 30304868
Change-Id: I3890b635f4625e6e39d52ca326f92206641bbea7
2016-08-02 20:49:25 -07:00
Alex Light 3f7c34859e Merge "Add system_other partition, install odex files" into nyc-mr1-dev 2016-06-29 20:26:06 +00:00
Alex Light 4e358ab2c3 Add system_other partition, install odex files
For AB devices, support flashing two system partitions for factory use.
The normal system image on one partition, but without dex preopt. And a
system_other image that just contains the odex files. The dex files will
not be stripped out of the system image, in case the second system
partition is wiped.

Setting BOARD_USES_SYSTEM_OTHER_ODEX := true in the BoardConfig.mk
enables this behavior.

One can control which directories are placed in system_other by the
SYSTEM_OTHER_ODEX_FILTER configuration variable. Currently we default
to only copying only app and priv-app odexs.

Bug: 29278988
Change-Id: I7f4e87da919e7dc6a89fd8c668193cd4e98631bc
2016-06-24 11:07:15 -07:00
Badhri Jagan Sridharan 3bcc137b49 Add build variant to kernel command line
Verity is not enabled in eng builds. Pass the build variant so
that kernel does not try to enable verity in eng builds

BUG:29276559
Change-Id: I7f412196ac59aa63e91c21d825ad15bae9f51691
2016-06-21 13:14:14 -07:00
Mohamad Ayyash 423862500b resolve merge conflicts of 8ebbc4e to nyc-mr1-dev
Change-Id: I2349bb3fede317487227b16cb7c7b093a93a3876
2016-06-16 13:11:45 -07:00
Mohamad Ayyash 1b6d3485fc squashfs: make disable-4k-align a parameter
BUG: 29388879
Change-Id: I121d2b76db5fb269e2f7152abb2e78098437a0d5
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-06-15 16:37:21 -07:00
Tao Bao c3c17534da Track the name change for wipe_ab.
Bug: 27253717
Change-Id: I0d4c91e99267afdc4846ea50e602a2383898b9b4
2016-06-10 10:14:14 -07:00
Tao Bao 3051f4f11a Add support for TARGET_RECOVERY_BRICK.
TARGET_RECOVERY_BRICK specifies the file that lists all the partitions
to be bricked under recovery. The file, if present, will be copied to
'$(TARGET_RECOVERY_ROOT_OUT)/etc/recovery.brick'.

Bug: 27253717
Change-Id: Id84195b5ee1031a83bf7a077be070a3728416580
2016-06-01 15:18:06 -07:00
Badhri Jagan Sridharan e053d5c56f Merge "Extract public key ID from cert" into nyc-mr1-dev 2016-05-27 15:46:06 +00:00
Badhri Jagan Sridharan 3af315aed5 Extract public key ID from cert
Extracts keyid inline using openssl commands.
The keyid is passed as one of the kernel command line parameters
for the dm-android-verity module to mount root fs(system)
with verity enabled.

BUG: 28384658
Change-Id: I8efbe1b0e415ef1d396f9b51cfa4b3fa01b22484
2016-05-26 17:35:50 -07:00
Mohamad Ayyash dfec815882 Pass squashfs block size as a parameter
BUG: 28920352
Change-Id: Ifed02bd1565131814047991ec87fa61691bfe240
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-05-24 20:55:13 +00:00
Baligh Uddin 6187c1dabe Merge commit \'9b4daacaf8f7ce5a534fae524507e4a4f7622ce4\' into nyc-dev
am: 0418406186

* commit '0418406186f67096a3c42fa276799095620e2296':
  Add Oem Props to otatools package

Change-Id: I11ac21e62912328ec5bb19cb4b341c5b8e331ba1
2016-05-21 00:31:19 +00:00
Baligh Uddin 0418406186 Merge commit '9b4daacaf8f7ce5a534fae524507e4a4f7622ce4' into nyc-dev 2016-05-20 17:27:18 -07:00
Baligh Uddin 9b4daacaf8 Merge commit '6c70b85cb3c75650e5154366fb5e08e3aadf9a50' into mnc-dr1.5-dev 2016-05-20 17:14:04 -07:00
Baligh Uddin 6c70b85cb3 Merge commit \'8c0c5e61498783496eec848da4f2aa4e30fe98b6\' into mnc-dr-dev
am: 275af3429f

* commit '275af3429f3049378862883dc6a0db2701f9311f':
  Add Oem Props to otatools package

Change-Id: I7e26f26d773c1dac31b274b6c7e708aee1537be8
2016-05-21 00:04:37 +00:00
Baligh Uddin 275af3429f Merge commit '8c0c5e61498783496eec848da4f2aa4e30fe98b6' into mnc-dr-dev 2016-05-20 16:59:14 -07:00
Baligh Uddin 8c0c5e6149 Merge commit \'c1937df4b12afecfdfc6a5d3b37f0aaf6ffdda5b\' into lmp-mr1-ub-dev
am: 50cae53b10

* commit '50cae53b10b7e6a18fe6016bd5dc9eaba715545d':
  Add Oem Props to otatools package

Change-Id: I4ca967ea935f4a3a5c709047ca2ed486d196e974
2016-05-20 23:50:56 +00:00
Baligh Uddin 50cae53b10 Merge commit 'c1937df4b12afecfdfc6a5d3b37f0aaf6ffdda5b' into lmp-mr1-ub-dev 2016-05-20 16:44:27 -07:00
Baligh Uddin c1937df4b1 Add Oem Props to otatools package
am: 4f8df41cef

* commit '4f8df41ceff7434ece651737b15bf1035f5549e8':
  Add Oem Props to otatools package

Change-Id: I2b5ba1bb090c5144f4ea0b17153352eb31b46e7f
2016-05-20 18:43:25 +00:00
Baligh Uddin 4f8df41cef Add Oem Props to otatools package
Bug: 23967152
2016-05-20 11:29:53 -07:00
Baligh Uddin 74da4d6eef DO NOT MERGE - Add verifiedboot keys to otatools.zip (this is needed for Shamu)
otatools.zip is used to release key sign device images.

Bug: 23967152
2016-05-19 08:50:19 -07:00
Patrick Tjin f3b0dc290e Makefile: exclude cache symlink on devices with no cache partition
rsync will complain due to broken cache symlink on devices
without cache partition when creating the recovery disk.
Recovery does not depend on /cache.

Bug: 28747374
Change-Id: Ie2dc6e84194fbc3bbb39fe59ef92a6e8936b71e2
2016-05-13 15:26:09 -07:00
Baligh Uddin f193546d65 DO NOT MERGE ANYWHERE - Fix otatools on lmp-mr1-dev
Bug: 23967152
Change-Id: I2e2f1ead28f51f549dafacfc7d1d1e65b0b84bc7
2016-05-12 15:55:26 -07:00
Baligh Uddin 16690162c3 DO NOT MERGE ANYWHERE - Add verifiedboot keys to otatoools.zip.
This is needed for nemo* signing off emerald-dev.

Bug: 28726512
2016-05-11 16:32:17 -07:00
Tao Bao f54216f292 Pack base_fs files into target_files.zip.
Pack the base_fs files ({system,vendor}.map) into target_files.zip,
which would be needed when rebuilding the images at signing.

Reset the base_fs paths to point to the files in META/.

Also add blk_alloc_to_base_fs into otatools.zip.

Bug: 27698960
Change-Id: If4eb274b3f3d839c4365624f46f0dc89bd2fa440
2016-04-30 23:56:10 -07:00
Mohamad Ayyash 1868a601b7 Rename incr ext4 base_fs path vars. Add to product_var_list.
BUG: 27698960
Change-Id: I4624f782846ee54525d0ac29b866a04c0d67aa40
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-04-25 15:47:42 -07:00
Baligh Uddin 69cf5dfc4d DO NOT MERGE ANYWHERE - Add squashFS tools to otatools
Bug: 23967152
2016-04-24 12:40:03 -07:00
Tao Bao cffaf73f84 Makefile: Pack squashfs and f2fs tools into otatools.zip.
The following tools are essential to create squashfs and f2fs images
during signing (if applicable).

squashfs: mksquashfs and mksquashfsimage.sh
f2fs: make_f2fs and mkf2fsuserimg.sh

Bug: 28179154
Change-Id: Ia48bc6d9a40d2667bc6f2c973bd0c55eed7a06fc
2016-04-14 13:33:35 -07:00
Joe Onorato 969b6f8ada Remove unused module-info.txt generation.
Change-Id: Ic2e384ad3e2bae8e76a98818c18a99bf5d427b0e
2016-04-06 14:49:55 -07:00
Johan Redestig 8d3311f50d DO NOT MERGE ANYWHERE - Add libbase to otatools
build_verity_tree uses libbase since b104044.

Change-Id: I6d3406a107ceb6cd58d1a51aa79935209d4c435f
2016-03-31 14:20:38 -07:00
Baligh Uddin f9d685008d Add ability to package verifiedboot keys 2016-03-28 13:09:03 -07:00
Yohann Roussel 29b1afee9e Remove JILL, JACK_JAR and JILL_JAR
Also ensure that sdk.atree can find jack.jar and jill.jar from prebuilt.

Bug: 27372042

(cherry picked from commit 233584bb80)

Change-Id: Ie266104e51c09fa21ccb09c1f27ad7068472965c
2016-03-18 11:38:05 +01:00
Ying Wang fc16dca602 Merge "Rebuild odex files in PDK fusion build." into nyc-dev 2016-03-15 21:23:50 +00:00
Sami Tolvanen a8c37be285 Revert "Revert "build: pass version and patch level to mkbootimg""
This reverts commit 494a9090f9.

Bug: 27498078
Bug: 22914603
Change-Id: Iee6a784271ec32c6bfcc0a6ad3f0395d82016df3
(cherry picked from commit 3303d909a1)
2016-03-15 11:23:56 -07:00
Ying Wang 3a61eeb6cb Rebuild odex files in PDK fusion build.
To rebuild odex files of Java libraries and apps,
we store the jars/apks without stripping the classes.dex inside the
platform.zip. We also save the build variables that may affect how we
rebuild an odex in pdk_dexpreopt_config.mk in the platform.zip.
We store the files and configuration only for libraries/apps that get
installed to the system.img (or vendor.img).

In PDK fusion build, we auto-generate prebuilt module definitions for
the javalib.jar and package.dex.apk carried in the platform.zip, using
configuration stored in pdk_dexpreopt_config.mk.
With the prebult modules, we override the implicit rule that directly
copies the odex from the platform.zip.
To rebuild odex of javalib.jar, we added support for prebuilt shared Java
library to prebiult_internal.mk. An installable prebuilt Java library is
treated as shared Java library, i.e. with classes.dex in the jar instead
of a set of .class files.
For apks in the platform.zip, we install the stripped version from
platform files inside platform.zip, instead of the package.dex.apk,
using a new variable LOCAL_REPLACE_PREBUILT_APK_INSTALLED. We can't
strip package.dex.apk because we can't re-sign the stripped apk at this
point.

We generate prebuilt module only if it's not already defined in the
source tree.

Bug: 27543283
Change-Id: I9e146f8b713d6f57c397fd28d88c9ab700757ca1
2016-03-14 21:01:46 -07:00
Sami Tolvanen b3038bedcd Merge "Revert "build: pass version and patch level to mkbootimg"" into nyc-dev 2016-03-14 15:49:15 +00:00
Sami Tolvanen 1bca9fb6d4 Revert "build: pass version and patch level to mkbootimg"
This reverts commit e555f77962.

Bug: 27580174
Change-Id: I0fd1ddb64d2fd4f91b0ecbc1ab8953a1324a10eb
2016-03-14 15:47:11 +00:00
Ying Wang bd07ad01b5 Add dependency on boot_singer and vboot_singer if necessary.
Change-Id: Ic10c2ae6a0debf51100a30eb11217e77060a6066
2016-03-10 21:01:54 +00:00
Mohamad Ayyash 6a3185f23d Merge "Hook incremental ext4 image generation into build" into nyc-dev 2016-03-09 20:56:19 +00:00
Sami Tolvanen e555f77962 build: pass version and patch level to mkbootimg
Add --os_version and --os_patch_level arguments to mkbootimg.

Needs matching changes from
  I57682611e0c27fec5ed284da7d9a788383ff98b1

Bug: 27498078
Bug: 22914603
Change-Id: I04e20b0de40d864aac92ac7bcf466a6cbde3d0e4
(cherry pick from commit 8fb47f191f)
2016-03-08 08:21:52 -08:00
Mohamad Ayyash f876555893 Hook incremental ext4 image generation into build
Allows passing the *.base_fs or *.map files for system and vendor in
INTERNAL_SYSTEM_BASE_FS_PATH and INTERNAL_VENDOR_BASE_FS_PATH variables
respectively.

Internal Design Doc: go/incremental-ext4
BUG: 26839493
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>

Change-Id: Ie57ef6dbfa6084268b6535fe0a673a3b4aaa6e2f
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-03-03 12:07:21 -08:00
Dan Willemsen 4fbc164da8 Warn more clearly when there are duplicate copied headers
When more than one makefile tries to copy a header to the same
destination, the warning is not clear, and hard to track down and assign
blame:

build/core/copy_headers.mk:15: warning: ignoring old commands for target `out/target/product/bullhead/obj/include/qcom/display/copybit.h'

With this change, the same behavior is kept, but the warning message is
more descriptive, and contains the offending Android.mk files:

build/core/Makefile:54: Duplicate header copy: out/target/product/bullhead/obj/include/qcom/display/copybit.h
build/core/Makefile:54: Defined in: hardware/qcom/display/msm8994/libcopybit/Android.mk hardware/qcom/display/msm8994/libcopybit/Android.mk

In this case, a $(CLEAR_VARS) is missing, so the same Android.mk file is
copying the same headers twice.

Bug: 27302058
Change-Id: Icf8f580ae71a78741db21c1d8f3213424459e637
(cherry picked from commit 6f60f020d7)
2016-02-23 16:09:49 -08:00
Tao Bao fdd2693b65 Makefile: Add the missing library in otatools.zip.
With the change in [1], delta_generator now needs
libprotobuf-cpp-lite.so instead of libprotobuf-cpp-lite-rtti.so to
generate A/B payloads.

[1] commit ab5bd668f6be600a8cceb8772e426c0aa902a5e1

Bug: 27145830
Change-Id: Ib9a93bf0fbe7fa44fc5fb94668d17fa1a2e07b05
2016-02-11 09:53:51 -08:00
Patrick Tjin e11aa50bb2 Add compressor options for squashfs vendor images
Change-Id: I4f9f5d62e24654cb37d436cb73dd5893aed30fa8
2016-02-09 15:41:07 -08:00
Patrick Tjin 426ec55b41 Allow squashfs for vendor image only
Previously, the squashfs dependencies were included only if
the system image was squashfs.  Allow the vendor image trigger
the dependency.

Change-Id: I5b1c513e9c13d83efc3ca6a904f08a91d9cca85f
2016-02-09 14:12:47 -08:00
Colin Cross c2f1d01eec Merge "Don\'t build otatools for PDK" am: 9e8866f4a4
am: 3611f2f440

* commit '3611f2f440944dadd74b36a235c41c7957a6963c':
  Don't build otatools for PDK
2016-02-05 00:04:43 +00:00