Sunday, April 29, 2012

[HOW TO] Build Android kernel 3.0.8 of TI Omap 3630 for Android ICS

Before starting, I would like to thank to the team of TI (Texas Instruments) who has devoted all his time to make the android kernel 3.0.8 of TI-Omap 3630, so that we can make the android 4 (android ICS) for our device.

A few days ago I found this great news on the TI E2E ™ Community, Posted by Mr. PremV on March 14, 2012 12:08 AM as follows:

"You can find the drivers for Kernel 3.0 OMAP3630 at the below location:
K3.0 branch:
http://git.omapzoom.org/?p=kernel/omap.git; a = shortlog; h = refs/heads/p-android-omap3-3.0
This has all the drivers Necessary to Ensure kernel and UI bringup. There is work ongoing MM wot validate all updates and more functionality will continue to be done on this git. So please monitor the changes on this over the next few weeks. "
The existence of the above good news, now we've been able to brain-tweaking a kernel for build Android ICS ROM. To make an android kernel then you need a linux system, minimal Ubuntu 10.4. If your computer uses the Windows operating system then you can use Oracle VM VirtualBox or use a dual boot or use Cygwin or you can change your computer's operating system with Ubuntu system :D

After the computer installed Ubuntu 10.4 then it's time we make Android kernel 3.0.8 for TI Omap3630: 


Download the ARM EABI toolchain (Optional)
If you're just building the kernel and do not need the whole ROM source try using the Code Sourcery ARM EABI toolchain. Download and then extract, create an environment variable denoting the location of the toolchain as follows:
$ export CCOMPILER=[extraction directory]/bin/arm-eabi-
Download the Kernel Source Code
1. first create a directory to store files of our work
$ mkdir kernel
2. Download the open source provided by the IT team, do the following:
$ cd kernel
$ git clone git://git.omapzoom.org/kernel/omap.git
$ cd omap
$ git checkout origin/p-android-omap3-3.0
Make Kernel
To select the appropriate kernel configuration with your devices then you can see some kernel configuration is located in the directory : ~ / kernel / omap / arch / arm / configs

As an example I will use the configuration "android_zoom3_defconfig" , as follows:
$ make ARCH=arm CROSS_COMPILE=$CCOMPILER android_zoom3_defconfig
If you want to change the configuration, it is as follows:
$ make ARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig
Then do the changes according to the your devices, after that you must save the configuration by selecting "save" . Then do the following command:
$ make ARCH=arm CROSS_COMPILE=$CCOMPILER -j4
or
$ make ARCH=arm CROSS_COMPILE=$CCOMPILER zImage -j4
This step may take a while, depending on your computer.

At this point you should have a kernel stored in ~ / kernel / omap / arch / arm / boot / zImage and the kernel modules, if any were built, in the module sub-directories.

zImage (kernel) is ready for you to try to inject into boot.img file

Completed and Goodluck.

5 comments:

  1. Thanks Dude. Good news for us

    ReplyDelete
  2. which config file to choose for galaxy sl i9003?

    ReplyDelete
  3. Does anyone compile this kernel? I wanna know your results:)
    P.S. What config should i use for lg optimus black?

    ReplyDelete
  4. hi..Im college student, thanks for sharing :)

    ReplyDelete