There are currently two errors in the way we test the size of built
images against the size of the partition on the hardware:
- the limits in BoardConfig.mk are set with the data size only, but
images contain an extra 64 bytes per 2048-byte page. This means we
think the partition is about 1/32 smaller than it really is.
- when we deliver a build via OTA, the system partition ends up with
one more file than when it's flashed via fastboot. That file is a
copy of the recovery image. In order to be able to OTA a build, we
need to make sure the system partition has enough room for all the
system files plus the recovery image as well.
For the kila system partition, these errors are roughly the same order
of magnitude -- about 2MB, one in the "safe" direction, one in the
"unsafe" direction. This change fixes both to give us a more accurate
notion of how close we are to the limit.
Make the build emit a warning (but not fail) when the size is within
32kb of the limit.
Also, include the values of the partition size limits in an info file
in the target-files package, so post-processing tools can use them
without parsing the BoardConfig.mk file.
Merge commit 'a2bd9af94757e73a4ff4c1fe8c98b4174b008b62'
* commit 'a2bd9af94757e73a4ff4c1fe8c98b4174b008b62':
Removing top tabs from PDK navigation because right now we only have one section.
If we fail to load the device-specific releasetools module (ie, if -s
is specified but the file is missing), issue an error message but
continue without any device-specific code.
If the source target-files zip omits files needed to build the
recovery and/or boot images, leave them out instead of dying with an
error. This lets build like "generic-userdebug" work.
Merge commit '55766e47aaf4fe72a2b5cdd8aa60d14781c01e94'
* commit '55766e47aaf4fe72a2b5cdd8aa60d14781c01e94':
don't fail if no required bootloaders are defined
Generic targets don't have a list of defined bootloaders. Instead of
failing to build an OTA package, just omit the constraint.
Fix bad references to ExternalError.
This allows TARGET_ARCH_VARIANT to be set by the vendor before we choose the
architecture in core/combo/select.mk.
Also add a primitive armv7-a.mk for turning on hardware floating point.
When building an OTA package, TARGET_RELEASETOOLS_EXTENSIONS can be
set (in BoardConfig.mk) to specify where the device-specific
releasetools code is located. (The default location is the common
directory for the device's vendor.) The TARGET_OTA_SCRIPT_MODE can be
used to override the default script mode ("auto") for a particular
device.
Merge commit 'bf8a59aa12dd8dd8ceb6eeeec22dd94b8332c228'
* commit 'bf8a59aa12dd8dd8ceb6eeeec22dd94b8332c228':
Don't install afar and dexpreopt-wrapper on system while building tests.
Non-HTC devices may have multiple files constituting their "radio
image". Generalize the INSTALLED_RADIOIMAGE_TARGET variable a bit:
initially define it as empty, then let AndroidBoard.mk files add to
it. Provide a convenience function add-radio-image for them to call
to add files. Put all those files into the target_files zip for use
in OTA and fastboot package construction.
Note that for HTC devices, this changes the name of the radio image in
the target_files zip: instead of "RADIO/image" it will be
"RADIO/radio.img". Tools that use the target_files zip will need to
be changed.
Replace the installation of the "radio image", which is an
HTC-specific notion, with calls to device-specific python modules that
can add whatever additional OTA script commands are necessary. Add
the -s flag to specify the location of the device-specific script
(replacing the unused -s flag in sign_target_files_apks).
Merge commit 'edb6829f832bb79ba2e96ada74b3b971b73ad9a7'
* commit 'edb6829f832bb79ba2e96ada74b3b971b73ad9a7':
Put the java source file list files somewhere where they don't
* changes:
Put the java source file list files somewhere where they don't conflict with the .class files that are getting zipped up, and delete them when we're done with them.
Split the details of generating script syntax into a generator class:
one for amend (whose output should be equivalent to the current
output), and one for edify.
Fix 'otatools' build rule to build imgdiff.
The ota and img building scripts contained some hardcoded 'linux-x86'
paths. Remove and replace with a slightly redefined -p option.
Modify Makefile to pass correct -p when building.
Merge commit '1a28c1a4c1ad0c4adf0c63bb36f47394e9509360'
* commit '1a28c1a4c1ad0c4adf0c63bb36f47394e9509360':
remember in the target-files package what version of the API recovery uses