Build uClinux for EA2478 Board

From Klaus' wiki
Revision as of 13:14, 2 August 2010 by Klaus (Talk | contribs)

Jump to: navigation, search

Just a mini howto:

Make a xen-virtualised Centos.

Install development tools

yum groupinstall "development tools"
yum install ncurses-devel
yum install zlib-devel
yum install libacl-devel lzo-devel uuid-devel

Create /home/emb/eadisk

Copy the extra directory on the EA DVD to /home/emb/eadisk

Create the file /home/emb/uClinux-dist/ and put in the following:

# Setup script for uCLinux development environment.
# Run using 'source ./'
# Copyright (c) 2006 uCLogix
# Make sure our current working directory represents
# a valid uCLinux environment.
if [ ! -f $script_name ]; then
  echo Please change to the root directory of your uCLinux
  echo environment and type \'source ./$script_name\'.
# And check that we are being run using 'source ./file' rather
# than 'sh ./file'.
#elif [ `basename $0` == $script_name ]; then
#  echo
#  echo Please use \'source ./$script_name\'.
#  echo
  export UCLINUX
  export UCLINUX_VER=0.40-final
  # Figure out host system architecture
  # for now, only linux-i386 supported
  # Add required binary tools to the user's search path
  # Check for "." or ".\" in the path - it's broken
  echo $PATH | tr ":" "\n" | grep '^\./*$' > /dev/null &&
        echo "WARNING: '.' detected in PATH - fixing it." 1>&2
  PATH=`echo ${PATH} | tr ":" "\n" | grep -v '^\./*$' | tr "\n" ":"`
  export PATH
  echo uCLinux environment set to \'$UCLINUX\'

Now in /home/emb execute these commands (where you in the menuconfigs vendor section select Embedded Artists and the board purchased) :

ln -s eadisk/extra/* .
tar zxvf uClinux-dist-20070130.tar.gz
cd uClinux-dist
rm -rf linux-2.*
tar zxvf ../linux-2.6.21.tar.gz
mv linux-2.6.21/ linux-2.6.x
gunzip -c ../ea-uClinux-081020.diff.gz | patch -p1  
gunzip -c ../ea-v3_1_incr1.diff.gz | patch -p1

Edit the file changing line 39 to look like this:

tail -n +${SKIP} ${SCRIPT} | gunzip | tar xvf -

Ignore any burps from gzips at the end of the file.

Copy the precompiled file system utilities to uClinux-dis/bin folder:

scp*fs* bin/
chmod a+x bin/mkcramfs 
tar zxvf ../arm-linux-tools-20061213.tar.gz

Now Install Uboot before continuing.

cp ../u-boot-1.1.6/tools/mkimage bin/
chmod a+x bin/mkimage
make menuconfig # Select proper vendor and board - exit twice to save the new settings after selection of the proper hardware