The toolchain and the BSP require approximately 4 GB of disk space:
Directory | Required space |
---|---|
/opt | ca. 2GB |
/home | ca. 2GB |
At least the following packages should be installed:
In Ubuntu or Debian you can install these packages with this command:
sudo apt-get install patch libncurses5-dev tftpd-hpa subversion nfs-kernel-server fakeroot tofrodos
The NFS server has to be enabled:
sudo update-rc.d nfs-kernel-server enable sudo service nfs-kernel-server start
sudo apt-get install meld geany geany-plugins tftp-hpa glibc-doc manpages-posix manpages-posix-dev
In Ubuntu or Debian the symbolic link /bin/sh has to be changed to call /bin/bash:
sudo ln -sf /bin/bash /bin/sh
Sudo should preferably be configured in such a way, that the required environment variables are adopted. Therefore the following line should be added to the file /etc/sudoers:
Defaults env_keep += "PATH ELDK ELDKDIR RFS_TOP SYSTOPDIR GCC_PATH LIB_BASE CROSS_COMPILE"
Get your working copy from the subversion repository:
svn co --username <user> https://svn.reccoware.de/tq/system/trunk tq
Falls noch kein Benutzername (<user>) für Sie eingerichtet wurde, wenden Sie sich bitte an Ihren Ansprechpartner bei TQ If you don't already have a user account (<user>), please ask your contact at TQ.
The following question should be answered with 'p' like permanent:
Error validating server certificate for 'https://svn.reccoware.de:443 ... Certificate information: - Hostname: recconet.de - Valid: from Mon, 13 Jun 2011 04:09:50 GMT until Thu, 14 Jun 2012 12:59:52 GMT - Issuer: Domain Validated SSL, GeoTrust Inc., US - Fingerprint: f5:d4:31:b8:db:15:60:71:f1:11:d2:61:55:b4:21:11:ca:3e:61:8d (R)eject, accept (t)emporarily or accept (p)ermanently?
Afterwards just interrupt by pressing Ctrl-C in order to reconfigure subversion. The current version 1.6 of the subversion client uses the gnome password manager to store the password. This can cause problems with the Eclipse SVN plug-in.
To avoid this set the parameter password-stores in section [auth] of the subersion config file .subversion/config to (empty):
nano ~/.subversion/config
[auth] password-stores =
This only has to be done once.
Now start subversion once again:
svn co --username <user> https://svn.reccoware.de/tq/system/trunk tq
Answer the question “Store password unencrypted” with “yes”.
Finally change to directory tq and store the absolute path of the working copy directory in the shell variable $TOPDIR.
cd tq; TOPDIR=$(pwd)
The variable $TOPDIR now contains the top level directory of the build environment. It is required for the following steps.
Usually the TFTP root directory on the server is /var/lib/tftpboot. The Linux kernel image uImage should be stored in a directory named after the IP address of the target, e.g.:
/var/lib/tftpboot/172.16.135.170/uImage
The following variables in the U-Boot environment have to be set or customised:
Name | Description | Default value |
---|---|---|
ipaddr | Target IP address | 172.16.135.170 |
serverip | Server IP address (TFTP and NFS) | 172.16.135.107 |
gatewayip | Gateway IP address | 172.16.135.254 |
netmask | Netmask | 255.255.255.0 |
kernel | Filename of kernel image on TFTP server | 172.16.135.170/uImage |
bootcmd | Default boot command (set to run boot_net_debian for network boot) | run boot_mmc |
After customising the variables, permanently save the environment to flash using the command saveenv.
Example:
setenv ipaddr 192.168.145.129 setenv serverip 192.168.145.8 setenv gatewayip 192.168.145.254 setenv netmask 255.255.255.0 setenv kernel $ipaddr/uImage setenv bootcmd run boot_net_debian saveenv
The archive of the Debian rootfilesystem tree is available here:
Download the rootfs to tmp/, extract it and set up as follows:
rfsarch=rootfs-squeeze-yyyymmdd-nn.tgz pushd /tmp; wget http://repository.reccoware.de/stuff/tq0412/$rfsarch; popd cd $TOPDIR mkdir -p rootfs sudo tar -C rootfs -xzf /tmp/$rfsarch rm -f rootfs/debian; ln -s tqma28.squeeze rootfs/debian
sudo -s ipaddr=<ipaddr> mkdir -p /exports/rootfs/$ipaddr ln -s $TOPDIR/rootfs/debian /exports/rootfs/$ipaddr/debian echo "/exports/rootfs/$ipaddr/debian $ipaddr(rw,no_root_squash,async,no_subtree_check)" >>/etc/exports exportfs -a exit
Replace <ipaddr> with the actual IP address of the targets.
The Debian System can be launched from U-Boot using
run boot_net_debian
The very first run will take a while untill the X11 system shows up on the screen (2-3 minutes).
The root password is root. The debian system can also be accessed via SSH.
The ELDK ISO image is available for download from http://repository.reccoware.de/stuff/tq0412/arm-2008-11-24.iso.
pushd /tmp; wget http://repository.reccoware.de/stuff/tq0412/arm-2008-11-24.iso; popd sudo mount -o loop,ro /tmp/arm-2008-11-24.iso /mnt pushd /mnt; sudo ./install -d /opt/eldk; popd sudo umount /mnt
It is recommended to answer 'y' when asked “Do you really want to install into /opt/eldk directory[y/n]?:”.
The error message “error: failed to stat …/.gvfs: Permission denied” is not critical.
cd $TOPDIR/build source setenv-eldk sudo ./setup-eldk-toolchain.sh
cd $TOPDIR; make prepare
To automatically set the alias tq every time you login, you can add the following line to .bashrc:
cat >>~/.bashrc <<EOF alias tq="cd $(echo $TOPDIR); . ./build/setenv-eldk; PS1='[\[\033[43m\]TQ\[\033[0m\] \W]\$ '" EOF
Now you can change to the tq directory by executing tq. Additionally the environment is properly configured for cross compiling.
: Testing required for Ubuntu, validated to work on Fedora 14