Skip to content

Cross Compile Linux Kernel for Pandaboard (armel and armhf)

February 23, 2013

This article describe steps to build kernel for Pandaboard. However, the kernel compiling steps is generally same for any other ARM board running embedded linux.

Some reference web links that I found useful are list as below:

  1. http://www.omappedia.com/wiki/Ubuntu_kernel_for_OMAP4
  2. http://omappedia.org/wiki/OMAP_Ubuntu_Core

Below are the steps and description to cross compile linux kernel

A) Tool chain setup in Ubuntu 12.04

  1. To build kernel for armel : sudo apt-get install gcc-arm-linux-gnueabi cpp-arm-linux-gnueabi
  2. To build kernel for armhf : sudo apt-get install gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf
  3. Steps below showing building armel, to build armhf, change the compiler option in steps from ‘arm-linux-gnueabi-‘ to ‘arm-linux-gnueabihf-‘

B) Getting kernel source files

  1. git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  2. git checkout -b v3.3-rc1 v3.3-rc1

C) Configure kernel source files by getting readied file from elinux.org

  1. wget http://elinux.org/images/a/a2/Config.3.3-rc1.1
  2. mv Config.3.3-rc1.1 .config

D) Cross compile kernel + kernel modules

  1. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
  2. End of steps above a ‘uImage’ file will be create at ‘kernel-source/arch/arm/boot/
  3. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules

E) Install kernel modules into file system

  1. sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_install INSTALL_MOD_PATH=’path to file system
Advertisements

From → Embedded Linux

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: