Hammer How to buildroot

From eLinux.org
Jump to: navigation, search

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
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