Difference between revisions of "Hammer How to buildroot"

From eLinux.org
Jump to: navigation, search
m (How to buildroot moved to Hammer How to buildroot: naming scheme)
 
(20 intermediate revisions by 4 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
 
  
7b) dave added it in the latest version of the hammer patch for 2.6.22 so disregard 7a).
+
export PATH="${PATH}:/home/hammer/buildroot/build_arm/staging_dir/bin"
  
8) in apex "xr 0x30008000" then send the zImage (arch/arm/boot/zImage) via xmodem
+
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)
  
8a) ubuntu 6.06 LTS needs lrzsz installed for xmodem etc. to work in minicom.
+
export PATH=${PATH}:$(pwd)/buildroot/build_arm/staging_dir/bin
  
9) in apex "boot"
+
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.
  
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
+
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]]
11) now that you have a working kernel, you may want to configure it for networking,
+
[[category:TinCanTools]]
see [[How_to_Networking]]
 

Latest revision as of 15: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