Commit graph

85 commits

Author SHA1 Message Date
Raphael
9ca1628e3f Support building Windows SDK under Linux.
- envsetup.mk & config.mk: we define a new BUILD_OS and a minimal set
of things like BUILD_OUT to be able to use some local tools when
doing cross-compilation. This allows us to use the Linux version of
ACP when cross-compiling the tools to Windows.

- Makfile: include windows_sdk.mk when needed to build a Windows SDK.

- main.mk: support a win_sdk target (e.g. PRODUCT-sdk-win_sdk)

(Merge master Change I9d08d0df)
2010-04-23 13:17:23 -07:00
Ying Wang
139e33243b Add symbols.zip and build.prop to sdk dist.
Change-Id: I667f5ef847a6e8e78c6b3df5c2b092bb5d863955
http://b/issue?id=2394164
2010-03-31 17:29:04 -07:00
Ying Wang
910dcbebc0 Cherry-pick 6f1c75849c4b101b55ae624755e43293724ce76e from eclair
Change-Id: I21a69669935d838595b2fa01c5be10e6c1975da9
2010-03-24 23:22:33 -07:00
Doug Zongker
283e2a1e1b store filesystem config info in target files at build time
Store a dump of the desired uid/gid/mode for every system file in the
target_files zip.  Modify ota_from_target_files to use this stored
information when it is available, instead of running fs_config from
the current client (which might be out of sync from the one where the
target_files zip was built).

b/2516887 - New android_filesystem_config.h needed

Change-Id: I8409a0265d1d50daad9c2bc033c99b74b8931b20
2010-03-15 18:04:15 -07:00
The Android Open Source Project
d2e571cb55 merge from open-source master
Change-Id: I9fedeb014c946b53bfdd424b00c0cb5fc08f8333
2010-03-08 17:16:23 -08:00
Jean-Baptiste Queru
518ce5753a De-dupe PRODUCT_COPY_FILES
This allows to explicitly deal with situations where we
want to use PRODUCT_COPY_FILES to manage overrides.

Change-Id: I2f87862e19b973f090099f335e9bdeb0c9f3bfe9
2010-03-01 16:22:10 -08:00
Jean-Baptiste Queru
75e3264867 Don't build OTA package for aosp_emulator_us
This allows "make dist" to work on that configuration.

A better fix would be to allow each product to specify
whether it's an emulator target or a device target, and
to adapt to that, but that'd be a lot more intrusive.

Change-Id: I47708025204a4991466abceb1708a3020a543238
2010-02-24 15:59:36 -08:00
Doug Zongker
7e2f13b43a build the event-log-tags file for the simulator
Change-Id: Idfbc8257e5e3651fe92649d59305f0e24ba60c91
2010-02-16 16:01:43 -08:00
Dima Zavin
1181898e54 core: pass nand page size to mkyaffs2image based on BOARD_NAND_PAGE_SIZE boardconfig var
Change-Id: I6feefba15eb1562161e38df03223cb2fba4eb7ee
Signed-off-by: Dima Zavin <dima@android.com>
2010-02-12 15:31:36 -08:00
Doug Zongker
f6a53aa5f2 add "EXTERNAL" as special value of LOCAL_CERTIFICATE
Setting LOCAL_CERTIFICATE to "EXTERNAL" now marks an apk (either a
prebuilt or otherwise) as needing the default test key within the
system, but one that should be signed after the target_files is
produced but before sign_target_files_apks does the rest of the
signing.  (We use this to ship apps on the system that are signed by
third parties, like Facebook.)
2009-12-15 15:06:55 -08:00
Doug Zongker
672b05c47c make build depend on event-log-tags file
Oops, I forgot to make the build actually require the event-log-tags file.
2009-12-04 10:05:20 -08:00
Doug Zongker
9bd4962af8 break up event-log-tags; generate java source files with constants
Construct the /system/etc/event-log-tags file by unioning together any
*.logtags files included in LOCAL_SRC_FILES throughout the system (with
appropriate error checking for dup tag numbers, etc.)

For java packages, generate a java source file from the logtags file for
that package that contains static integer constants for each tag name.
2009-12-03 16:47:52 -08:00
Xavier Ducrohet
258b2b4504 am 1ae98804: Change where makefile looks for sdk_clean.sh
Merge commit '1ae988040777f88f766fc421af79a61175e917af' into eclair

* commit '1ae988040777f88f766fc421af79a61175e917af':
  Change where makefile looks for sdk_clean.sh
2009-11-18 17:11:53 -08:00
Xavier Ducrohet
1ae9880407 Change where makefile looks for sdk_clean.sh 2009-11-17 15:10:41 -08:00
David 'Digit' Turner
2edfb71d01 Support secondary CPU ABI in build.prop
BoardConfig.mk typically defines TARGET_CPU_ABI to the name of the
native machine code CPU ABI supported by the target device. For example,
existing devices today use the value 'armeabi' corresponding to an
ARMv5TE instruction set with soft-float implementation.

This patch allows this file to also define TARGET_CPU_ABI2 to name
a secondary (minor) CPU ABI also supported by the device. This is useful
when the main ABI is ARMv7-A (identified as 'armeabi-v7a') which also
supports ARMv5TE. Such devices should have TARGET_CPU_ABI defined to
'armeabi-v7a' and TARGET_CPU_ABI2 defined to 'armeabi'.

TARGET_CPU_ABI2 will be translated into the ro.product.cpu.abi2 property
in build.prop. This value will be used by the PackageManager to handle
"fat-binaries" generated with the NDK.
2009-11-06 15:12:00 -08:00
Doug Zongker
c18736b1a7 remember device-specific releasetools extensions in target-files
Store the location of the releasetools extensions in the target-files
zip, and make ota_from_target_files use that stored location by
default (though it can still be overridden with -s if desired).
2009-09-30 09:20:32 -07:00
Doug Zongker
ed96e88850 resolved conflicts for merge of 6dd2ae02 to eclair 2009-08-26 09:37:07 -07:00
Doug Zongker
6dd2ae02c1 turn down allowed image size
yaffs appears to reserve 5 blocks on the partition for itself.
Account for this when computing the maximum allowable image size.
2009-08-25 18:05:02 -07:00
Doug Zongker
8510a1e0d7 use *_PARTITION_SIZE instead of *_MAX_SIZE
Make BoardConfig.mk store the size of the partition rather than the
maximum size of the image that can be flashed there, because the
function used to do the conversion isn't available when BoardConfig.mk
is read any more.
2009-08-10 09:03:16 -07:00
Brian Swetland
630b7d3ffa build: do not attempt to build recovery.img for TINY_ANDROID builds
Signed-off-by: Brian Swetland <swetland@google.com>
2009-08-07 18:09:44 -07:00
Sriram Raman
7b02ff0fdc am 1e96ac84: Make the recovery.img construction (from boot.img) logic depend on whether recovery.img was installed. Don\'t have to re-specify exclusion list for the patch file construction.
Merge commit '1e96ac8430da922332e4c85e7eed0e95442ff2ce'

* commit '1e96ac8430da922332e4c85e7eed0e95442ff2ce':
  Make the recovery.img construction (from boot.img) logic depend on whether recovery.img was installed.
2009-07-24 16:09:20 -07:00
Sriram Raman
1e96ac8430 Make the recovery.img construction (from boot.img) logic depend on whether recovery.img was installed.
Don't have to re-specify exclusion list for the patch file construction.
2009-07-24 14:24:35 -07:00
Android Git Automerger
9c3b0d58c8 Merge commit '66ae61670d3ea69dd1cf72cf529c29654c07405e' 2009-07-24 12:48:15 -07:00
Android Git Automerger
c41bda63a3 Merge commit '3455a3d4a1b5f59ccbcc2ac7268d11b03861c229' 2009-07-24 12:47:48 -07:00
Android Git Automerger
dabee36b79 Merge commit 'b003d89ee3a6d39a0ad3ca6e9c8a61f39ef3b92a' 2009-07-24 12:47:28 -07:00
Android Git Automerger
cb69dabbdd Merge commit '22bc517cdfb6b7ee5f90f61de425516c1d7b0245' 2009-07-24 12:47:17 -07:00
Android Git Automerger
72e108a1d4 Merge commit '7a7cd0d8a3ee6d061d7b505583cb791eec6124f5' 2009-07-24 12:47:03 -07:00
Android Git Automerger
358a48e12a merge 73ef8257ce from donut (resolved conflicts) 2009-07-24 12:46:51 -07:00
Sriram Raman
b11428e53b Fix generic-userdebug build (don't build OTA for this target). 2009-07-24 12:02:28 -07:00
Android (Google) Code Review
ef9f4ea0b8 am 4d7c4348: Merge change 8295 into donut
Merge commit '4d7c4348077b0f1a713ebffe59b458a5d95fba11'

* commit '4d7c4348077b0f1a713ebffe59b458a5d95fba11':
  applypatch changes for patching recovery image
2009-07-23 23:58:04 -07:00
Doug Zongker
3455a3d4a1 don't try to build recovery patch in generic build 2009-07-23 20:06:57 -07:00
Doug Zongker
b003d89ee3 make path explicit when running imgdiff
The build servers don't run "lunch" before building, so they don't
have the same path as everyone else.  Explicitly set it when running
imgdiff.
2009-07-23 18:48:38 -07:00
Doug Zongker
22bc517cdf fix imgdiff/bsdiff dependencies
These should be regular dependencies, not order-only ones.
2009-07-23 18:27:43 -07:00
Doug Zongker
7a7cd0d8a3 fix system size calculation for SDK build
The SDK build doesn't have recovery, don't try to generate a patch or
include it in the system image size calculation.  Also there's a
dependency on bsdiff that was omitted.
2009-07-23 17:58:54 -07:00
Doug Zongker
73ef8257ce use a binary patch to install recovery from system
Instead of storing the whole recovery image in system in order to
flash it on first boot, we instead use an imgdiff patch from the boot
image to create the recovery image.  This is substantially smaller
since it effectively only stores the recovery binary and UI images
(the kernel and the init binary are identical to that of the boot
image).

This change modifies the OTA-building script to create and install
these patches, and changes the calculation of the system image size in
the Makefile to reflect the new scheme.
2009-07-23 15:12:53 -07:00
Doug Zongker
6c770467fb applypatch changes for patching recovery image
Make some changes needed to applypatch in order to store the recovery
image in the system partition as a binary patch relative to the boot
image:

  - make applypatch use shared libraries, so it's smaller.  It will
    need to be on the main system so it can install the recovery
    image.  Make an applypatch_static binary for use in recovery
    packages (still needed for updating cupcake devices to donut).

  - output the results of patching to an in-memory buffer and write
    that to the partition; there's no convenient /tmp for us to us.
    (This should be basically a no-op in recovery, since /tmp is a
    ramdisk anyway.)
2009-07-22 19:15:59 -07:00
Doug Zongker
b6d89448a9 am 8cebf1ff: fix mislaid \'if\' in recovery
Merge commit '8cebf1ff7836a5dc365e49f7a14d7546a651d9c7'

* commit '8cebf1ff7836a5dc365e49f7a14d7546a651d9c7':
  fix mislaid 'if' in recovery
2009-07-07 17:19:29 -07:00
Doug Zongker
8cebf1ff78 fix mislaid 'if' in recovery
When I moved the building of the recovery image upwards in the file, I
moved an 'endif' surrounding it but not the matching 'if'.  How did
this ever work?
2009-07-07 17:14:25 -07:00
Doug Zongker
97f696cdaa am 4647f12a: fix image size tests
Merge commit '4647f12a4ff9dc54247184f17ff3de1cc423f213'

* commit '4647f12a4ff9dc54247184f17ff3de1cc423f213':
  fix image size tests
2009-07-07 16:43:16 -07:00
Doug Zongker
4647f12a4f fix image size tests
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.
2009-07-02 12:21:43 -07:00
Doug Zongker
659fc55e44 pass correct -s and -m options to release tools
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.
2009-06-23 09:54:52 -07:00
Doug Zongker
e01100c7ac generalize the definition of a "radio image"
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.
2009-06-22 17:46:19 -07:00
Doug Zongker
ac4920a90b resolved conflicts for merge of c494d7ce to master 2009-06-18 13:42:20 -07:00
Doug Zongker
c494d7cee8 generate OTA packages that use edify
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.
2009-06-18 13:19:07 -07:00
Doug Zongker
d6fb2d40b5 am 602a84e0: fix releasetools for non-linux architectures
Merge commit '602a84e0bbf1807a9403cfa50184241f6fc035c4'

* commit '602a84e0bbf1807a9403cfa50184241f6fc035c4':
  fix releasetools for non-linux architectures
2009-06-18 10:47:13 -07:00
Doug Zongker
602a84e0bb fix releasetools for non-linux architectures
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.
2009-06-18 10:43:55 -07:00
Android (Google) Code Review
daadaaa308 am 1a28c1a4: Merge change 4541 into donut
Merge commit '1a28c1a4c1ad0c4adf0c63bb36f47394e9509360'

* commit '1a28c1a4c1ad0c4adf0c63bb36f47394e9509360':
  remember in the target-files package what version of the API recovery uses
2009-06-17 21:49:40 -07:00
Doug Zongker
b1134dd049 remember in the target-files package what version of the API recovery uses 2009-06-17 17:09:40 -07:00
Doug Zongker
38a649f873 handle BOARD_KERNEL_BASE in releasetools
Some devices define a BOARD_KERNEL_BASE argument which must be given
as an argument to mkbootimg when building a bootable image.  Store the
value of this var (if any) in the target-files zip and use it when
building images.
2009-06-17 09:07:09 -07:00
The Android Open Source Project
157064f0b6 manual merge of dddd957c, explicitly list SDK image dependencies
Merge commit 'dddd957c'
2009-06-15 22:21:14 -07:00