Difference between revisions of "Hammer How to buildroot"

From eLinux.org
Jump to: navigation, search
 
Line 1: Line 1:
 
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.
  
First, you need to install the compilers and tools.
+
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
 
  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.
 
Decide where you're going to build everything. I decided to create a directory called hammer in my home directory.

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