Trolley Software

Main Wiki

Restricted Wiki

Local resources

PmWiki

pmwiki.org

edit SideBar

Trolley Software

Compiling trolley software

The trolley computer uses a low-power ARM processor with limited resources. It does not have the resources to compile the trolley software, hence it is necessary to use a cross-compiler on a desktop PC to compile the code. This was fairly straightforward in 2005 when the COAST group started development for this board, but the computer world has moved on a very long way since then. Here is how EBS solved the problem.

The essence of the solution is to generate a virtual PC on your desktop PC and install an old Linux distribution, circa 2006, in that.

What you will need

  • A copy of the Arcom Embedded Linux development kit CD.
  • A 32-bit Linux installation CD circa 2006. EBS used Debian Etch.

You can download old Debian network install CDs from here.

Installing a virtual machine

There are two major free virtual machines available for Linux, these are VirtualBox and KVM. EBS used KVM but there is no compelling reason to choose one over the other. Set up your virtual machine, ensuring that the resulting machine has:

  • A 32 bit Intel i386 CPU architecture.
  • Network access.
  • Access to the host computer's CD-ROM drive.
  • Boot priority is the CD-ROM, followed by the hard drive.

Installing your retro Linux distribution

This depends on your distribution. You want something with an early 2.6 Linux kernel. For Debian etch using a network install:

  • Place the install CD in the drive.
  • Boot the virtual machine.
  • Follow the instructions. As this is an environment that only exists to compile the trolley code, there's no need to install anything beyond the basic installation at this stage.
  • The installation will complete, with errors (the default etch repository no longer exists online).
  • Log in to the new virtual machine and edit /etc/apt/sources.list to read:
deb http://archive.debian.org/debian-archive/debian/ etch main
deb-src http://archive.debian.org/debian-archive/debian/ etch main
  • Run, as root:
apt-get update
apt-get upgrade
  • This will hopefully complete the previously failed installation. Some packages might be "held back", you should be able to get these to install manually:
 apt-get install some-held-back-package.deb
  • Install a Linux 2.6 kernel if it isn't installed by default (you'll need to reboot the virtual machine after this step):
 apt-get install linux-image-2.6-686
  • Finally, install anything else you need. This will include the gcc, subversion, and lsb packages.

Install the Arcom development environment

  • Put the Arcom development kit in the CD-ROM drive and mount it.
  • As root, type:
perl [your CD mount point]/.install
  • EBS had data corruption problems doing this, he ended up copying the entire CD directory tree onto the host computer and copying that over to the virtual machine with scp.
  • The virtual machine should chug away for a very long time before telling you that the installation is complete.
  • Add the Arcom binaries to your search path, by adding the following to your virtual machine .bash_profile:
 export PATH="/opt/arcom/bin:$PATH"

Build the Arcom kernel source

This step is necessary to allow the compilation of the trolley kernel modules.

  • Change to the package directory on the CD-ROM. As root:
 dpkg -i ./linux-source-2.6.11.11-arcom3_2.6.11.11-3_all.deb
  • As an ordinary user, create a subdirectory called "src" containing two further subdirectories, "3rdparty" and "svn". The "svn" subdirectory should have a further subdirectory, "dl".
  • Change to the "3rdparty" subdirectory and do the following:
 tar -xvf /usr/src/linux-source-2.6.11.11-arcom3.tar.gz
 make ARCH=arm viper_defconfig
 ael-kernel-build --architecture=arm image

Compile the trolley software

  • Change to src/svn/dl.
 svn checkout http://appcs.ra.phy.cam.ac.uk:8080/svn/coast-repos/dl/commonlibs
 svn checkout http://appcs.ra.phy.cam.ac.uk:8080/svn/coast-repos/dl/trolley
  • Change to commonlibs. You'll have to build it for both the host architecture and the development environment.
 make
 make install (as root)
 make clean
 make arch=arm
 make arch=arm install
  • Change to the trolley subdirectory.
 make
 make package

That last command packages up the executables, to be sent to the trolley computer for later unpacking and installation using the included scripts.



Attachments for MROIDelayLine.TrolleySoftware

Click here to upload file to attach to this page.

Recent Changes (All) | Edit SideBar Page last modified on July 22, 2011, at 05:20 PM Edit Page | Page History
Powered by PmWiki