Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "Hammer How to buildroot"

From eLinux.org
Jump to: navigation, search
Line 1: Line 1:
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.
 
The following steps were successful using the Gutsy Gibbon release (7.10) of ubuntu. All commands are executed from the command line.
  
Line 64: Line 35:
 
  gunzip -c Hammer-linux-2.6.22-09122007.diff.gz | patch -p0
 
  gunzip -c Hammer-linux-2.6.22-09122007.diff.gz | patch -p0
 
  cd linux-2.6.22
 
  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
 
  cp hammer-config .config
 
  make oldconfig
 
  make oldconfig

Revision as of 01:10, 8 January 2008

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 oldconfig
   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
cp hammer-config .config
make oldconfig
make zImage

The kernel can be found in arch/arm/boot/zImage