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:
modprobe rtl8150 && modprobe ftdi_sio.
Of course, you might be better off throwing some effort into making
hotplug work, like in the CSE labs.
From here on in, we'll assume you can get all of this going, with the
serial converter on
/dev/ttyUSB0, and the ethernet adapter
eth1. Substitute these values below if your setup varies
(e.g. if you are using a real Ethernet port or network) --
dmesg should show you what interface you get.
The AOS board expects to find a host at
can change this temporarily in the bootloader, but it's easier to set up
your host to be at this address. (This is the rationale behind using an
independent network provided by the USB to Ethernet dongle.)
Set this up with
ifconfig eth1 192.168.168.1 up
The bootloader will download your software image from a tftp server running on your host. So you need to set one up:
apt-get install tftpd
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).
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /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:
Uncomment (or add) the following line in /etc/inetd.conf :
#time dgram udp wait root internal
Install the NFS server:
Then set up the exports by editing$ apt-get install nfs-kernel-server nfs-common portmap
/etc/exportsand adding the following lines (adjusted for the location of your tftp root directory and your username):
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,
make, and copy the resulting executable to a directory in your $PATH (or add the nslu2-util directory to your $PATH).
Install the following packages:
apt-get install picocom netcat ethereal
Then, restart NetworkManager, and bring up the interface:iface eth1 inet static address 192.168.168.1 netmask 255.255.255.0
sudo service network-manager restart sudo ifup eth1
tftpd-hpapackage, and configure it in
TFTP_DIRECTORYspecifies the tftpboot directory.
/var/tftpbootfor whatever you set
TFTP_DIRECTORYto in your tftpd configuration.