Template:Container 3

From OMAPpedia

Jump to: navigation, search
Android Logov2.jpg
How to get started building your own binaries for the Android OS on your OMAP Platform
Overview Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

   

Step 3


The kernel consists of the uImage and related binaries. This page describes how to build the kernel depending on the Android release used. For more information on the Kernel project visit this page.

Contents

[edit] Building Kernel

[edit] For PandaBoard

cd $MYDROID
git clone git://gitorious.org/pandroid/kernel-omap.git
cd $MYDROID/kernel-omap
git checkout -b <my_L27.4_panda_branch_name> origin/L27.4_panda
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- android_4430panda_defconfig
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

[edit] For Blaze

[edit] Get source

For OMAP4430 releases L27.x (Blaze/OMAP4430) onwards, the kernel source is not part of the Android manifest. To continue with getting started on Android and build your own binaries, if you are building a release that is not L27.x or above, skip this step.

For L27.x(Blaze/OMAP4430), it is required to pull the source separately from the git tree.

The below is an example to use the commit for L27.4

Repo   : git://git.omapzoom.org/kernel/omap.git
Branch : p-android-omap-2.6.32
Commit : android-2.6.32-2.1-omap4.4
Config : android_4430_defconfig

How to use the information above

If mydroid folder isn't already created, (it would have already been created if you followed "Android Environment - Source versions and Manifest" previously)

mkdir -p /mydroid

Then,

cd /mydroid
export MYDROID=`pwd`
git clone 
cd $MYDROID/kernel/android-2.6.32
git checkout 

To build kernel,

$ cd $MYDROID/kernel/android-2.6.32
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- android_4430_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage 

To build the kernel modules:

$ cd $MYDROID/kernel/android-2.6.32
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules

[edit] For Zoom 2/3

[edit] L25.10 and higher

$ cd $MYDROID/omap
$ make CROSS_COMPILE=/arm-none-linux-gnueabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- zoom2_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

Note: Configuration option varies by platform. Above is an example for building zoom2. Change "zoom2_defconfig" to "zoom3_defconfig" to enable a build for zoom3 (OMAP3630).


To build the kernel modules:

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules

The output module for USB gadget is at:

$MYDROID/omap/drivers/usb/gadget/

[edit] Prior to L25.10

$ cd $MYDROID/kernel
$ make CROSS_COMPILE=/arm-none-linux-gnueabi- distclean
$ make CROSS_COMPILE=arm-none-linux-gnueabi- omap_zoom2_android_defconfig
$ make CROSS_COMPILE=arm-none-linux-gnueabi- uImage

Note: Configuration option varies by platform. Above is an example for building zoom2. Change "omap3430zoom2_config" to "omap_ldp_android_defconfig" to enable a build for zoom1 (LDP).

For USB modules:

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules

The output modules are at:

$MYDROID/kernel/drivers/usb/gadget/

[edit] Where to find uImage

$MYDROID/kernel-omap/arch/arm/boot
$MYDROID/omap/arch/arm/boot/
$MYDROID/kernel/android-2.6.29/arch/arm/boot/
$MYDROID/kernel/arch/arm/boot/



Left arrow1.png Android Logov2.jpg Right arrow1.png
Previous Home Next
Personal tools
Namespaces
Variants
Views
  • Read
  • Edit
  • View history
Actions
Navigation
Toolbox
  • What links here
  • Related changes
  • Special pages
  • Printable version