Difference between revisions of "Hammer How to buildroot"

From eLinux.org
Jump to: navigation, search
 
 
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
1) buildroot needs hammer-config copied to .config
+
The following steps were successful using the Gutsy Gibbon release (7.10) of ubuntu. All commands are executed from the command line.
  
2) if you dont have makeinfo installed need to patch
+
First, you need to install the compilers and tools. You also have to be sure that sh is linked to bash instead of dash, which will break some things.
/buildroot/toolchain_build_arm/binutils-2.17.50.0.17/missing
+
sudo apt-get install build-essential libncurses-dev bison flex texinfo zlib1g-dev gettext libssl-dev wget
to comment out line 302 "test -f $file || exit 1"
+
cd /bin
 +
sudo rm sh
 +
sudo ln -s bash sh
  
3) kernel is compiled outside of buildroot
+
For Ubuntu/Kubuntu (8.10):
 +
sudo apt-get install build-essential libncurses-dev bison flex gettext
 +
cd /bin
 +
sudo rm sh
 +
sudo ln -s bash sh
  
4) copy hammer-config to .config
+
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
  
5) edit Makefile to set the cross compiler path properly
+
Note: these files are also found on the cd shipped with your [[Hammer_Board]] under the hammer/source directory
  
6) make oldconfig
+
Grab the latest files (these were from the [[Hammer_Board_Software]] page). This assumes that you're still in the source directory
 +
<pre>
 +
wget http://www.elinux.org/upload/b/b6/Buildroot-01082008.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
 +
</pre>
  
7) make zImage
+
Build buildroot
 +
tar xzf Buildroot-01082008.tar.gz
 +
cd buildroot
 +
cp Hammer-config .config
 +
make oldconfig
 +
make
 +
cd ..
  
7a) untill dave adds buzzer-gpio.h need to comment out references to the buzzer platform device in
+
Add the cross compiler tools into your path. You may want to add this to your ~/.bashrc(or ~/.dashrc) , although you should replace /home/hammer with the absolute path to your hammer/source directory.
arch/arm/march-2c32410/mach-tct_hammer.c
+
  
8) in apex "xr 0x30008000" then send the zImage (arch/arm/boot/zImage) via xmodem
+
export PATH="${PATH}:/home/hammer/buildroot/build_arm/staging_dir/bin"
  
8a) ubuntu 6.06 LTS needs lrzsz installed for xmodem etc. to work in minicom.
+
Note: If you run the linux version of vmware (i.e. linux is the host OS) then you'll want to add the Hammer staging_dir/bin to the end of the PATH, rather than the beginning, otherwise vmware will fail to load (you'd need to edit your ~/.bachrc and logout/login or reboot to actually see this failure)
  
9) in apex "boot"
+
export PATH=${PATH}:$(pwd)/buildroot/build_arm/staging_dir/bin
  
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
+
For the technically minded, the vmware launcher script uses a utility called ldd, and since the hammer staging_dir/bin also includes a different version of ldd, vmware gets confused when it uses the wrong ldd utility.
 +
 
 +
Now [[Hammer_How_to_build_Kernel|build the kernel]] or view an introduction to [http://labor-liber.org/en/gnu-linux/development/ GNU Development]
 +
[[category:TCT-Hammer]]
 +
[[category:TinCanTools]]

Latest revision as of 22:05, 18 November 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. You also have to be sure that sh is linked to bash instead of dash, which will break some things.

sudo apt-get install build-essential libncurses-dev bison flex texinfo zlib1g-dev gettext libssl-dev wget
cd /bin
sudo rm sh
sudo ln -s bash sh

For Ubuntu/Kubuntu (8.10):

sudo apt-get install build-essential libncurses-dev bison flex gettext
cd /bin
sudo rm sh
sudo ln -s bash sh

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: these files are also found on the cd shipped with your Hammer_Board under the hammer/source directory

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/upload/b/b6/Buildroot-01082008.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-01082008.tar.gz
cd buildroot
cp Hammer-config .config
make oldconfig
make
cd ..

Add the cross compiler tools into your path. You may want to add this to your ~/.bashrc(or ~/.dashrc) , although you should replace /home/hammer with the absolute path to your hammer/source directory.

export PATH="${PATH}:/home/hammer/buildroot/build_arm/staging_dir/bin"

Note: If you run the linux version of vmware (i.e. linux is the host OS) then you'll want to add the Hammer staging_dir/bin to the end of the PATH, rather than the beginning, otherwise vmware will fail to load (you'd need to edit your ~/.bachrc and logout/login or reboot to actually see this failure)

export PATH=${PATH}:$(pwd)/buildroot/build_arm/staging_dir/bin

For the technically minded, the vmware launcher script uses a utility called ldd, and since the hammer staging_dir/bin also includes a different version of ldd, vmware gets confused when it uses the wrong ldd utility.

Now build the kernel or view an introduction to GNU Development