[CSE]  Advanced Operating Systems 
COMP9242 2012/S2 
CRICOS Provider
Number: 00098G

PRINTER Printer-Friendly Version

Developing your AOS project on Windows

If you would like to work on your own Windows machine away from the labs, you can, but you need to use Linux in a virtual machine. If you are the really adventurous type, you might try to port the tools via cygwin, but you will get stuck when it comes to serving NFS on Windows for the project. So don't waste your time.

We suggest installing VMware Player http://www.vmware.com/products/player/overview.html, a free virtualisation solution for Windows.

We provide a Ubuntu VMware image that has all the tools needed pre-installed, and the networking configuration tweaked to work mostly straight out of the box.

Note: If you use your own vmware-hosted Linux install, you need to make sure you can enable a USB host controller for the virtual machine to connect the NSLU2 directly to Linux. VMware player does not support this when installing a VM from scratch (as far as we know). However, Player does support it, if the image it is using has it already configured - which our image is.

We use a standard Ubuntu 12.04 server install (to keep it small) and install the following. Note: you do not need to do this, it's just for reference.

apt-get install build-essential mercurial
apt-get install libncurses5-dev
apt-get install linux-headers-`uname -r`
apt-get install netcat.traditional
update-alternatives --set nc /bin/nc.traditional
apt-get install picocom minicom
apt-get install tftpd-hpa tftp-hpa
apt-get install nfs-kernel-server
apt-get install xinetd

You will still have to install VMware tools yourself.

In addition, we have also:

  • Enabled time in xinetd.
  • Created an 'aos' account with password 'aos'.
  • Installed the cross-development tools in /opt/armv5teb/bin and updated the aos's PATH accordingly.
  • Updated the networking config for 'eth1'
  • Added aos to the sudoers and dialup group
  • Exported /var/lib/tftpboot via NFS to the NSLU2, and made it writeable to 'aos'.
  • Ran sudo minicom -s to configure minicom to use /dev/ttyUSB0 and with no hardware flow control.

Getting Started

To get up an running:

  • Download our VMware image, or copy it from /home/cs9242/public_ftp/aos-vmware-image.zip. Note: It is a 600+ MB image!
  • Unzip it to somewhere sensible, usually the Virtual Machines folder.
  • Plug in the NSLU2 into two USB ports and turn it on. Windows might complain about lack of drivers, just ignore it.
  • Run VMware Player, select 'Open a Virtual Machine' and choose ubuntu-server-12.04-i386.vmx from where you unzipped the image.
  • You'll get a question regarding where the image came from, select 'I copied'.
  • Connect the realtek usb device and future devices usb <-> unsw-aos usb device to the VM, by clicking on the USB icons at the bottom right.
  • Login 'aos', password 'aos'

Now you are mostly set up. You will either need to install a desktop environment, or you can ssh into the virtual machine from Windows (run ifconfig to get the IP address to ssh in to). I personally run a Xserver on Windows and port forward from Linux to my display and use emacs, etc... You will need to apt-get install your favourite editor (if it is not vi) or any other software you generally use.

Once logged in, run sudo ifup eth1 to configure the network to the NSLU2. Use ifconfig to confirm eth1 is up with IP address Some students have had the USB <-> ETH adapter attach as eth2, in which case you'll have to delve into the Linux setup instructions to figure out what to adjust.

Before you can start the project, you need to adjust the tftp directory defined in our source tree. The tftpboot directory is /var/lib/tftpboot. You must adjust TFTPROOT in the top-level Makefile (edit directly), and CONFIG_SOS_NFS_DIR in .config (either by editing directly, or make menconfig).

You should now be able to follow the normal project instructions.

Last modified: 24 Jul 2012.