5. in vendor/htc/dream/ there is a script that must be run (from that directory) to extract some proprietary binaries from your device.*
> Ultimately, I'm trying to determine how to add another vendor's target
> into the android build system and was trying to use the dream build as
> an example. Is there documentation regarding how to properly add
> another vendor's target to the build system, or might an android team
> member be able to shed some light on the proper way to achieve this?
There's not a simple "this is how to add a new target" document yet.
Using dream as an example is not a bad idea, but it does currently
expect to copy some proprietary bits into the build. For a different
target you'd want to modify the Android.mk in the target makefile to not
copy the various proprietary bits (or to copy the proprietary bits for
the other target, as the case may be).
Brian
Yes, I see that I overlooked that - thanks. So without an actual HTC
Dream phone, I won't be able to run this script and complete the
build, correct? If so, this leads to the question of how the initial
build is ever done? I take it that there are steps/tools/pieces to
the dream build that are not included in the open source.
>
> There's not a simple "this is how to add a new target" document yet.
>
> Using dream as an example is not a bad idea, but it does currently
> expect to copy some proprietary bits into the build. For a different
> target you'd want to modify the Android.mk in the target makefile to not
> copy the various proprietary bits (or to copy the proprietary bits for
> the other target, as the case may be).
>
So in general terms, I could create a vendor/newco/newtarget
directory, populate it with appropriate files (including Android.mk,
BoardConfig.mk, *.kl and *.kcm, system.prop, init.newtarget.rc), and
then create a buildspec.mk file in android root that includes
TARGET_PRODUCT := newtarget. Is this basically correct?
One more question. Per the README.txt in vendor/htc/dream, to use a
different kernel one would add the following to the buildspec.mk file:
TARGET_PREBUILD_KERNEL :=
/path/to/different/kernel/arch/arm/boot/uImage
Will this result in the different kernel actually being built, or just
result in the uImage being extracted from the specified directory
path?
Thanks.
Another example of supporting a target and some of the build targets, you
can check out the Android on the Openmoko Freerunner at
http://git.koolu.orgin the platform/vendor/neo/freerunner.git project.
In addition, we have created a manifest file for the Openmoko Freerunner.
This locks down particular versions of the source from the OHA as well as
any parts that are currently specific to the Freerunner. We will be staging
patches that will be submitted upstream to the OHA in that tree as well as
investigating the use of Gerrit2 to allow for more of a development tree
prior to pushing source back to the Android mainline.
Hope that helps.
Cheers,
Brian Code