The XDAndroid Project is no longer active.
This site provides archived information from while the project was under development. Some links may no longer function.

Difference between revisions of "Building and Packaging Eclair"

From The XDAndroid Project
Jump to navigation Jump to search
[unchecked revision][pending revision]
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
----
+
:''See [[Building and Packaging]] for ''Froyo'' and newer versions of Android.''
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 
----
 
=[http://ekygelymib.co.cc This Page Is Currently Under Construction And Will Be Available Shortly, Please Visit Reserve Copy Page]=
 
----
 
=[http://ekygelymib.co.cc CLICK HERE]=
 
----
 
</div>
 
 
With a configured source tree, building and packaging is a somewhat painless process. There are a couple of preliminary steps to do for optional portions of the system (such as Google apps). However, most of the time spent with the build process is waiting for compilation.
 
With a configured source tree, building and packaging is a somewhat painless process. There are a couple of preliminary steps to do for optional portions of the system (such as Google apps). However, most of the time spent with the build process is waiting for compilation.
  
Line 12: Line 5:
  
 
==Build Dependencies==
 
==Build Dependencies==
It will most likely be necessary to provide certain proprietary drivers and libraries to the build system. For XDAndroid project target devices, this will require the HTC Dream (Android Dev Phone) system image, from which those bits will be extracted. The Android Dev Phone is reference hardware, and so the system image is provided by HTC for download. The image can be downloaded from the [http://developer.htc.com/adp.html HTC Developer Center website], via the &lt;tt>signed-dream_devphone_userdebug-ota-14721.zip&lt;/tt> link. The zip file should be saved, with the same name, in the root directory of the XDAndroid source tree. This can be skipped only if the build system has been configured to generate a kitchen base image.
+
It will most likely be necessary to provide certain proprietary drivers and libraries to the build system. For XDAndroid project target devices, this will require the HTC Dream (Android Dev Phone) system image, from which those bits will be extracted. The Android Dev Phone is reference hardware, and so the system image is provided by HTC for download. The image can be downloaded from the [http://developer.htc.com/adp.html HTC Developer Center website], via the <tt>signed-dream_devphone_userdebug-ota-14721.zip</tt> link. The zip file should be saved, with the same name, in the root directory of the XDAndroid source tree. This can be skipped only if the build system has been configured to generate a kitchen base image.
  
If, while configuring the build system via &lt;tt>buildspec.mk&lt;/tt>, installation of the Google apps was enabled, it is necessary to provide those binaries to the build system. These binaries can be extracted from a running Android Eclair system via ADB, or in lieu of such a device, a bundle of apps can be downloaded from an [http://www.mediafire.com/?hy2yj42my3i external filesharing mirror]. Save this file in the root directory of the XDAndroid source tree, under the same name.
+
If, while configuring the build system via <tt>buildspec.mk</tt>, installation of the Google apps was enabled, it is necessary to provide those binaries to the build system. These binaries can be extracted from a running Android Eclair system via ADB, or in lieu of such a device, a bundle of apps can be downloaded from an [http://www.mediafire.com/?hy2yj42my3i external filesharing mirror]. Save this file in the root directory of the XDAndroid source tree, under the same name.
  
 
Finally, the needed files must be extracted from those archives. There is a script in the XDAndroid-specific portion of the source tree which can accomplish this. To do this, perform the following from the root of the XDAndroid source tree...
 
Finally, the needed files must be extracted from those archives. There is a script in the XDAndroid-specific portion of the source tree which can accomplish this. To do this, perform the following from the root of the XDAndroid source tree...
  
&lt;syntaxhighlight lang="bash">
+
<syntaxhighlight lang="bash">
 
$ cd vendor/xdandroid/msm
 
$ cd vendor/xdandroid/msm
 
$ ./unzip-files.sh
 
$ ./unzip-files.sh
&lt;/syntaxhighlight>
+
</syntaxhighlight>
  
 
The files will be extracted and available to the build system.
 
The files will be extracted and available to the build system.
Line 30: Line 23:
 
To build the system, execute the following extremely complicated command from the root directory of the XDAndroid source tree...
 
To build the system, execute the following extremely complicated command from the root directory of the XDAndroid source tree...
  
&lt;syntaxhighlight lang="bash">
+
<syntaxhighlight lang="bash">
 
$ make -j4 # A -jX argument based on the number of CPUs available, plus one, is recommended.
 
$ make -j4 # A -jX argument based on the number of CPUs available, plus one, is recommended.
&lt;/syntaxhighlight>
+
</syntaxhighlight>
  
 
After several weeks, the build will be complete and the system is ready for packaging.
 
After several weeks, the build will be complete and the system is ready for packaging.
  
 
==Packaging the System==
 
==Packaging the System==
The Android build system, which hopefully went off without a hitch, will have generated a number of filesystem images in &lt;tt>out/target/product/msm&lt;/tt> under the root directory of the source tree.
+
The Android build system, which hopefully went off without a hitch, will have generated a number of filesystem images in <tt>out/target/product/msm</tt> under the root directory of the source tree.
  
Until development of the system has progressed to the point where the system can be flashed to the phone's integrated flash storage, most of the generated images are of no concern. The most interesting image is &lt;tt>system.img&lt;/tt>, which contains the binaries generated by the compilation process.
+
Until development of the system has progressed to the point where the system can be flashed to the phone's integrated flash storage, most of the generated images are of no concern. The most interesting image is <tt>system.img</tt>, which contains the binaries generated by the compilation process.[http://www.gadgetsdotcom.com/ ]
  
If the recommendations given in [[Build Configuration]] have been followed, the filesystem images will be ext2. This is usable as-is with the current initramfs that the XDAndroid project uses, and it can be renamed &lt;tt>system.ext2&lt;/tt> and placed in the user's &lt;tt>andboot&lt;/tt> directory for a successful boot.
+
If the recommendations given in [[Build Configuration]] have been followed, the filesystem images will be ext2. This is usable as-is with the current initramfs that the XDAndroid project uses, and it can be renamed <tt>[[system.ext2]]</tt> and placed in the user's <tt>andboot</tt> directory for a successful boot.
  
 
Optionally, the system image can be repacked as a SquashFS file system, for smaller size. Instructions on completing this step will follow shortly.
 
Optionally, the system image can be repacked as a SquashFS file system, for smaller size. Instructions on completing this step will follow shortly.

Latest revision as of 14:31, 28 August 2011

See Building and Packaging for Froyo and newer versions of Android.

With a configured source tree, building and packaging is a somewhat painless process. There are a couple of preliminary steps to do for optional portions of the system (such as Google apps). However, most of the time spent with the build process is waiting for compilation.

Before commencing with the complete build, it may be necessary to provide dependencies for the system.

Build Dependencies

It will most likely be necessary to provide certain proprietary drivers and libraries to the build system. For XDAndroid project target devices, this will require the HTC Dream (Android Dev Phone) system image, from which those bits will be extracted. The Android Dev Phone is reference hardware, and so the system image is provided by HTC for download. The image can be downloaded from the HTC Developer Center website, via the signed-dream_devphone_userdebug-ota-14721.zip link. The zip file should be saved, with the same name, in the root directory of the XDAndroid source tree. This can be skipped only if the build system has been configured to generate a kitchen base image.

If, while configuring the build system via buildspec.mk, installation of the Google apps was enabled, it is necessary to provide those binaries to the build system. These binaries can be extracted from a running Android Eclair system via ADB, or in lieu of such a device, a bundle of apps can be downloaded from an external filesharing mirror. Save this file in the root directory of the XDAndroid source tree, under the same name.

Finally, the needed files must be extracted from those archives. There is a script in the XDAndroid-specific portion of the source tree which can accomplish this. To do this, perform the following from the root of the XDAndroid source tree...

$ cd vendor/xdandroid/msm
$ ./unzip-files.sh

The files will be extracted and available to the build system.

Building the System

This highly convoluted step will eventually spit out a number of filesystem images, including one containing the XDAndroid system.

To build the system, execute the following extremely complicated command from the root directory of the XDAndroid source tree...

$ make -j4 # A -jX argument based on the number of CPUs available, plus one, is recommended.

After several weeks, the build will be complete and the system is ready for packaging.

Packaging the System

The Android build system, which hopefully went off without a hitch, will have generated a number of filesystem images in out/target/product/msm under the root directory of the source tree.

Until development of the system has progressed to the point where the system can be flashed to the phone's integrated flash storage, most of the generated images are of no concern. The most interesting image is system.img, which contains the binaries generated by the compilation process.[1]

If the recommendations given in Build Configuration have been followed, the filesystem images will be ext2. This is usable as-is with the current initramfs that the XDAndroid project uses, and it can be renamed system.ext2 and placed in the user's andboot directory for a successful boot.

Optionally, the system image can be repacked as a SquashFS file system, for smaller size. Instructions on completing this step will follow shortly.