Difference between revisions of "Hammer How to buildroot"
(Added more detailed instructions for building buildroot under ubuntu) |
m (Added step to copy kernel config file) |
||
Line 67: | Line 67: | ||
ARCH=arm | ARCH=arm | ||
CROSS_COMPILE=arm-linux- | CROSS_COMPILE=arm-linux- | ||
+ | cp hammer-config .config | ||
make oldconfig | make oldconfig | ||
make zImage | make zImage |
Revision as of 19:40, 6 January 2008
1) buildroot needs hammer-config copied to .config
2) if you dont have makeinfo installed need to patch /buildroot/toolchain_build_arm/binutils-2.17.50.0.17/missing to comment out line 302 "test -f $file || exit 1"
3) kernel is compiled outside of buildroot
4) copy hammer-config to .config
5) edit Makefile to set the cross compiler path properly
6) make oldconfig
7) make zImage
8) in apex "xr 0x30008000" then send the zImage (arch/arm/boot/zImage) via xmodem
8a) ubuntu 6.06 LTS needs lrzsz installed for xmodem etc. to work in minicom.
9) in apex "boot"
10) cat /proc/version ==> Linux version 2.6.22 (kenm@kenm-desktop) (gcc version 4.1.2) #1 Sat Sep 1 12:50:36 MDT 2007
11) now that you have a working kernel, you may want to configure it for networking, see How_to_Networking
Building under Ubuntu
The following steps were successful using the Gutsy Gibbon release (7.10) of ubuntu. All commands are executed from the command line.
First, you need to install the compilers and tools.
sudo apt-get install build-essential libncurses-dev bison flex texinfo zlib1g-dev gettext libssl-dev wget
Decide where you're going to build everything. I decided to create a directory called hammer in my home directory.
cd ~ mkdir -p hammer/source cd hammer/source
Note: If you copy the whole directory tree from the CD, you'll get a directory called SOURCE which will be read-only. I prefer lowercase filenames, so I renamed the files. The files on the CD were also truncated to 8.3 filenames, so the names won't match what you see here.
Grab the latest files (these were from the Hammer_Board_Software page). This assumes that you're still in the source directory
wget http://www.elinux.org/images/4/4c/Buildroot-01032008.tar.gz wget http://www.elinux.org/images/f/ff/Hammer-linux-2.6.22-09122007.diff.gz wget http://www.elinux.org/images/e/ef/Hammer-kernel-config wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.gz
Build buildroot
tar xzf Buildroot-01032008.tar.gz cd buildroot cp Hammer-config .config make menuconfig Exit from menuconfig without making any changes. This creates the .config.cmd file make cd ..
Add the cross compiler tools into your path. You may want to add this to your ~/.bashrc, although you should replace $(pwd) with the absolute path to your hammer/source directory.
export PATH=$(pwd)/buildroot/build_arm/staging_dir/bin:${PATH}
Build the kernel:
tar xzf linux-2.6.22.tar.gz gunzip -c Hammer-linux-2.6.22-09122007.diff.gz | patch -p0 cd linux-2.6.22 edit the Makefile and add the following 2 lines to the top of the Makefile ARCH=arm CROSS_COMPILE=arm-linux- cp hammer-config .config make oldconfig make zImage
The kernel can be found in arch/arm/boot/zImage