Setting up the Linux Host

The Software is being tested on RHEL 4 (32 bit) and Ubuntu 10.04 (32 bit).

When using an older distribution like RHEL 4, certain extra software will need to be installed. In such cases we will provide links and documentation on how to prepare your machine.

MAKE, BISON, FLEX
On Ubuntu the following command will add the needed packages (except for gcc-3.4 below)

sudo apt-get install git-core build-essential bison flex

GIT
GIT version control will be used for the project. More Information can be found at GIT VERSION CONTROL

A Good Video Tutorial can be found here

GCC
Any release in the 2.0 series can use the host GCC from your distribution. To build the 0.7.x releases, the following information is relevant.

You will need a 3.x version of GCC. RHEL4's native gcc will do fine.

The easiest way to satisfy this requirement for Ubuntu 10.04 is to install the gcc-3.4 packages from Ubuntu 9.04. This is not generally a good practice but the combination below has been tested on 10.04 and works fine. Note that this does not change the default gcc for your machine but add a new gcc-3.4 command that can be used.

mkdir cheater-packages; cd cheater-packages wget http://ftp.osuosl.org/pub/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_i386.deb wget http://ftp.osuosl.org/pub/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_i386.deb wget http://ftp.osuosl.org/pub/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_i386.deb sudo dpkg -i *.deb

ftp.osuosl.org is an offical mirror of Ubuntu. Any official mirror supporting 9.04 should work just as well.

Here's a download example from ANL mirror, the packages seem to have been updated in version as well:

mkdir cheater-packages; cd cheater-packages wget http://mirror.anl.gov/pub/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-6ubuntu5_i386.deb wget http://mirror.anl.gov/pub/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-6ubuntu5_i386.deb wget http://mirror.anl.gov/pub/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-6ubuntu5_i386.deb sudo dpkg -i *.deb

DEPMOD
If the user is using an old machine like a RHEL4 machine, the version of depmod in /sbin/depmod is not sufficient for a big endian build to succeed.

The below is one way to solve this problem. However keep in mind that the steps described below will replace your machines depmod with an non-RHEL4 version.

Download the rpm from the link

And then issue the following commands

sudo rpmbuild --rebuild module-init-tools-3.3-0.pre3.1.60.el5.src.rpm

and then in the appropriate directory give the command below

sudo rpm -U module-init-tools-3.3-0.pre3.1.60.i386.rpm

The directory in which the above command needs to be executed will differ from machine to machine. One probably location might be /usr/src/redhat/RPMS/i386

Please be on the lookout for the output from the rpmbuild command above to see where the rpm is getting installed. The output of the rpmbuild command will clearly show the location where the second command mentioned above needs to be insatlled

GENROMFS
The genromfs utility is required to build a romfs image which can be used as a filesystem.

RHEL 4 machines do not have this utility.

Download the rpm from the link

And then issue the following commands

sudo rpmbuild --rebuild genromfs-0.5.2-1.src.rpm

and then in the appropriate directory give the command below

sudo rpm -U genromfs-0.5.2-1.i386.rpm

The directory in which the above command needs to be executed will differ from machine to machine. One probably location might be /usr/src/redhat/RPMS/i386.

Please be on the lookout for the output from the rpmbuild command above to see where the rpm is getting installed. The output of the rpmbuild command will clearly show the location where the second command mentioned above needs to be insatlled.

AUTO TOOLS
Since the linux port on the c64x range of devices is in its infancy, Linux Test Project is being used to validate the baseport.

To compile LTP on a RHEL4 machine we need to install the following three pieces of software

1) Version 1.4.11 of m4 from

2) Version 1.11 of automake from

3) Version 2.63 of autoconf from

/bin/sh
On Ubuntu, /bin/sh is normally dash and not bash. For linux-c6x-0.7.0 this causes an issue. To work around this issue, configure /bin/sh to be bash instead of dash:

sudo dpkg-reconfigure dash

When asked "Install dash as /bin/sh?", answer "No".