Difference between revisions of "Build uClinux for EA2478 Board"
Line 5: | Line 5: | ||
==Install development tools== | ==Install development tools== | ||
− | + | log in to your virtual server as '''root''' user and do this: | |
<source lang="php"> | <source lang="php"> | ||
Line 13: | Line 13: | ||
$ init 6 # Reboots the server | $ init 6 # Reboots the server | ||
</source> | </source> | ||
+ | |||
+ | The server reboots and uses the newest kernel and other software packages updated. | ||
+ | |||
+ | ==Prepare for the Embedded Artists SW== | ||
+ | |||
+ | Log in again as '''root''' | ||
Create /home/emb/eadisk | Create /home/emb/eadisk | ||
<source lang="bash"> | <source lang="bash"> | ||
− | mkdir -p /home/emb/eadisk | + | $ mkdir -p /home/emb/eadisk |
</source> | </source> | ||
+ | |||
+ | == Get the EA realese == | ||
Copy the '''extra''' directory on the EA DVD to /home/emb/eadisk or by using | Copy the '''extra''' directory on the EA DVD to /home/emb/eadisk or by using | ||
<source lang="bash"> | <source lang="bash"> | ||
− | cd /home/emb/eadisk | + | $ cd /home/emb/eadisk |
− | scp -r <your login>@bren.hih.au.dk:/home/emb/extra/ . | + | $ scp -r <your login>@bren.hih.au.dk:/home/emb/extra/ . |
</source> | </source> | ||
+ | |||
+ | == Prepare settings== | ||
Create the file /home/emb/uClinux-dist/settings.sh and put in the following: | Create the file /home/emb/uClinux-dist/settings.sh and put in the following: | ||
Line 82: | Line 92: | ||
</source> | </source> | ||
− | Now in /home/emb execute these commands | + | == Prepare the distribution== |
+ | |||
+ | Now in /home/emb execute these commands: | ||
<source lang="bash"> | <source lang="bash"> | ||
− | ln -s eadisk/extra/* . | + | $ ln -s eadisk/extra/* . |
− | tar zxvf uClinux-dist-20070130.tar.gz | + | $ tar zxvf uClinux-dist-20070130.tar.gz |
− | cd uClinux-dist | + | $ cd uClinux-dist |
− | rm -rf linux-2.* | + | $ rm -rf linux-2.* |
− | tar zxvf ../linux-2.6.21.tar.gz | + | $ tar zxvf ../linux-2.6.21.tar.gz |
− | mv linux-2.6.21/ linux-2.6.x | + | $ mv linux-2.6.21/ linux-2.6.x |
− | gunzip -c ../ea-uClinux-081020.diff.gz | patch -p1 | + | $ gunzip -c ../ea-uClinux-081020.diff.gz | patch -p1 |
− | gunzip -c ../ea-v3_1_incr1.diff.gz | patch -p1 | + | $ gunzip -c ../ea-v3_1_incr1.diff.gz | patch -p1 |
</source> | </source> | ||
− | Edit the arm-elf-tools-20040427.sh file changing line 39 to look '''exactly''' like this: | + | Edit the arm-elf-tools-20040427.sh file changing line 39 to look '''exactly''' like this (note the -n): |
tail '''-n''' +${SKIP} ${SCRIPT} | gunzip | tar xvf - | tail '''-n''' +${SKIP} ${SCRIPT} | gunzip | tar xvf - | ||
Line 104: | Line 116: | ||
Execute this command: | Execute this command: | ||
<source lang="bash"> | <source lang="bash"> | ||
− | sh arm-elf-tools-20040427.sh | + | $ sh arm-elf-tools-20040427.sh |
</source> | </source> | ||
Ignore any "burps" from gunzip at the end of the file. | Ignore any "burps" from gunzip at the end of the file. | ||
Line 111: | Line 123: | ||
<source lang="bash"> | <source lang="bash"> | ||
− | cp /home/emb/eadisk/extra/mk*fs* bin/ | + | $ cp /home/emb/eadisk/extra/mk*fs* bin/ |
− | chmod a+x bin/mkcramfs | + | $ chmod a+x bin/mkcramfs |
</source> | </source> | ||
− | + | == Install the arm linux tools== | |
+ | |||
<source lang="bash"> | <source lang="bash"> | ||
− | source settings.sh | + | $ source settings.sh |
− | tar zxvf ../arm-linux-tools-20061213.tar.gz | + | $ tar zxvf ../arm-linux-tools-20061213.tar.gz |
</source> | </source> | ||
+ | == Install u-boot == | ||
'''Important!''' [[Install Uboot]] before continuing. | '''Important!''' [[Install Uboot]] before continuing. | ||
+ | |||
+ | ==Finish the kernel configuration== | ||
After the u-boot has been successfully installed and compiled finish up the kernel configuration: | After the u-boot has been successfully installed and compiled finish up the kernel configuration: | ||
<source lang="bash"> | <source lang="bash"> | ||
− | cp ../u-boot-1.1.6/tools/mkimage bin/ | + | $ cp ../u-boot-1.1.6/tools/mkimage bin/ |
− | chmod a+x bin/mkimage | + | $ chmod a+x bin/mkimage |
− | make menuconfig # Select proper vendor and board - | + | $ make menuconfig # Select proper vendor and board - |
− | + | # exit twice to save the new settings | |
#after selection of the proper hardware | #after selection of the proper hardware | ||
− | make | + | $ make # Be patient - take a mug of coffee or the like |
</source> | </source> | ||
If no errors, you are up running! | If no errors, you are up running! | ||
+ | |||
+ | What you may need now is to setup a TFTP server. |
Revision as of 07:38, 29 September 2010
Contents
A mini howto
Make a xen-virtualised Centos or use the one assigned to you.
Install development tools
log in to your virtual server as root user and do this:
$ yum groupinstall "development tools" $ yum install ncurses-devel zlib-devel libacl-devel lzo-devel uuid-devel $ yum update # Updates the server completely $ init 6 # Reboots the server
The server reboots and uses the newest kernel and other software packages updated.
Prepare for the Embedded Artists SW
Log in again as root
Create /home/emb/eadisk
$ mkdir -p /home/emb/eadisk
Get the EA realese
Copy the extra directory on the EA DVD to /home/emb/eadisk or by using
$ cd /home/emb/eadisk $ scp -r <your login>@bren.hih.au.dk:/home/emb/extra/ .
Prepare settings
Create the file /home/emb/uClinux-dist/settings.sh and put in the following:
# # Setup script for uCLinux development environment. # Run using 'source ./settings.sh' # # Copyright (c) 2006 uCLogix # script_name='settings.sh' # # Make sure our current working directory represents # a valid uCLinux environment. # if [ ! -f $script_name ]; then echo echo Please change to the root directory of your uCLinux echo environment and type \'source ./$script_name\'. echo else UCLINUX=`pwd` export UCLINUX export UCLINUX_VER=0.40-final # Figure out host system architecture # for now, only linux-i386 supported HOSTARCH=linux-i386 # # Add required binary tools to the user's search path # PATH=$UCLINUX/bin:$PATH PATH=$UCLINUX/usr/local/bin:$PATH PATH=/home/emb/uClinux-dist/usr/local/bin/:$PATH PATH=/usr/local/lib/gcc-lib/arm-elf/2.95.3:$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" ":"` PATH=${PATH}:/home/emb/uClinux-dist/usr/local/bin/ export PATH echo uCLinux environment set to \'$UCLINUX\' fi
Prepare the distribution
Now in /home/emb execute these commands:
$ 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 arm-elf-tools-20040427.sh file changing line 39 to look exactly like this (note the -n):
tail -n +${SKIP} ${SCRIPT} | gunzip | tar xvf -
Execute this command:
$ sh arm-elf-tools-20040427.sh
Ignore any "burps" from gunzip at the end of the file.
Copy the precompiled file system utilities to uClinux-dist/bin folder:
$ cp /home/emb/eadisk/extra/mk*fs* bin/ $ chmod a+x bin/mkcramfs
Install the arm linux tools
$ source settings.sh $ tar zxvf ../arm-linux-tools-20061213.tar.gz
Install u-boot
Important! Install Uboot before continuing.
Finish the kernel configuration
After the u-boot has been successfully installed and compiled finish up the kernel configuration:
$ 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 $ make # Be patient - take a mug of coffee or the like
If no errors, you are up running!
What you may need now is to setup a TFTP server.