Advanced Operating Systems
Developing your AOS project on Linux
Many CSE students have Linux machines which they would like to be able to use to work away from the CSE labs. The following is a guide as to how to set up the necessary drivers/software. These instructions will be debian specific in some spots (e.g. setting up the tftp server) but they should at least give you an idea of how to set up other distributions.
The components you will need to install are:
Also, recent versions of Ubuntu are special. See this section.
Two pre-built cross-compilers are provided for you
If neither of these binaries works on your distro/platform then you are on your own to build your own cross-compiler.
You need device drivers for the RTL8150 based USB to Ethernet dongle, and
the FT232RL USB-Serial converter. Fortunately, these drivers are in the
linux kernel and are compiled by most modern distributions, so you should
be able to plug them in and see messages from the drivers via
The modules required are:
If you don't have hotplug set up correctly, you may need to use modprobe:
From here on in, we'll assume you can get all of this going, with the
serial converter on
Setting up the network
The AOS board expects to find a host at
Setting up the TFTP server
The bootloader will download your software image from a tftp server running on your host. So you need to set one up:
Edit your /etc/inetd.conf. Change the following line to reflect the location of the directory which you want to use as your tftp root. (In this case it is /tftpboot).
You may need to restart inetd at this point using
You will also need to adjust your handy Makefile if you want it to automatically copy the bootimg.bin file to the tftpboot directory. The variable to look for is:
Setting up the time server
Uncomment (or add) the following line in /etc/inetd.conf :
Set up an NFS share
Install the NFS server:
Install the NSLU2 utility program
It is necessary to be able to control the NSLU2 using a utility program. It controls the reset line, allowing the NSLU2 to boot once a serial console has been opened.
Download the source code. Uncompress it,
Install other required software
Install the following packages:
Recent Ubuntu distributions
I've just updated this based on Ubuntu 12.04
The USB drivers seem to work by default.
You need may need to install some of the following packages:
Unfortunately, newer Ubuntu distributions include the 'easy to use'
NetworkManager, which destroys everything. Instead, add the following lines
After installing the
You may need to adjust ownership and/or permissions to allow
you access to the directory (e.g.
Apparently, for some versions of ubuntu there was no obvious ways to coerce xinetd into serving TIME. On the other hand, it's a 5-line Java program, so writing a server for it is left as an exercise to the reader. Have a read of this.
Serial Line Access
Add your account to group
Last modified: 23 Jul 2012.