Advanced Operating Systems
CISCO/Linksys NSLU2 (Slug) Lab
The Slug lab is organised around 32-bit computers, the ARMv5, based on a 133 MHz Intel XScale processor.
Linksys originally designed the Slug to be a lightweight network fileserver. They chose to use the Intel IXP420 system running the Linux operating system on it, which was fortunate for us as Linux is under GPL and Linksys/CISCO are required to release the operating system code. A thriving community has developed around the NSLU2 and they, affectionately, call the device a Slug. (NSLU2 and Slug will be used interchangeably).
UNSW has modified the basic Slug by installing a USB-Serial converter in it, to give direct access to the IXP420's serial port for debugging purposes. The USB-Serial board also allows the Slug's reset signal to be controlled using the DTR pin on the serial port. Lastly, the USB-Serial adapter provides power to the Slug using the 5V available from USB.
Slug technical details
The Slug was designed by Linksys based upon Intel's IXP420 Network Processor. The device features:
The NSLU2 provided as part of the COMP9242 kit is identical to an NSLU2 available off the shelf, with the following modifications:
The USB to serial converter was custom designed by David Johnson at CSE. The schematics are available here. It uses an FTDI FT232RL chip operating at 3.3V, interfaced directly to the NSLU2.
The kit given out for COMP9242 contains the following items:
Setting up your host
The CSE lab machines already have the required software installed (if it is not installed on the machine itself, then it is installed in ~disy/bin or ~disy/crossdev. See milestone 0 for development details.
Your host machine will require certain software and drivers to talk to the Slug. This is mostly machine specific:
Setting up a Slug
Plug the Slug into your host machine's USB port using the Mini-B cable. If your host machine does not have a powered USB port, then you will also need to plug in the power adapter.
You need a network connection between the host and the Slug for downloading OS images, or using NFS filesystems, either using the USB/Ethernet dongle, or a direct Ethernet connection. In the CSE labs you will use the USB/Ethernet dongle. Connect an Ethernet cable cable from the Slug to the USB/Ethernet dongle.
Once the Slug is connected to your development machine you should launch
the two consoles that connect you to its output. Run
You may be required to change the settings for minicom. On linux, use
Press the power button on the front of the NSLU2. The power button should light up, but the other lights should remain dim.
When minicom connects to the serial port, the DTR line is changed so
that the NSLU2 is reset. It stays that way until you toggle the DTR line.
We have written a utility which will control the DTR line appropriately.
It is called
How to use - what is really happening
A brief description of the development cycle can be found in Milestone 0. A lot is happening under the covers to allow you to easily develop an operating system:
Booting LinuxThe original installation of Linux has been left intact on the NSLU2. You might like to boot into Linux to play around.
To boot this image, you will first need to power your Slug up as usual
and break into the RedBoot bootloader environment. Do this by pressing the
power button on the front of the Slug, running the
++ [during short delay - type ^c] Ethernet eth0: MAC address 00:14:bf:68:99:0f IP: 192.168.168.2/255.255.255.0, Gateway: 192.168.168.1 Default server: 0.0.0.0, DNS server IP: 0.0.0.0 RedBoot(tm) bootstrap and debug environment [ROMRAM] Red Hat certified release, version 1.92 - built 15:16:07, Feb 3 2004 Platform: IXDP425 Development Platform (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00000000-0x02000000, 0x000723a0-0x01ff3000 available FLASH: 0x50000000 - 0x50800000, 64 blocks of 0x00020000 bytes each. == Executing boot script in 2.000 seconds - enter ^C to abort ^C RedBoot>
Linux is stored in flash memory. In order to load linux into RAM, run
the pre-defined boot script using the
Pictures of the modified slug, and the contents of the kit are shown below:
Last modified: 27 Jul 2007.