Advanced Operating Systems
Developing your AOS project on Windows
If you would like to work locally on your own machine running Windows (away from the CSE labs), the easiest way is to run 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 pre-configured, and the networking configuration tweaked to work mostly straight out of the box.
Note: If you want to use your own virtual machine Linux
install, you need to enable USB host controller for the virtual
machine and allow the guest OS to take control of USB devices. The
guest OS needs to directly take control of the USB-to-serial
device and the USB-to-Ethernet device. In recent versions of
VMware player this is done by
Once you have a functioning Linux VM, you need to connect the USB devices through to Linux. Right-click the blue USB icons to the top right (or bottom right, depending on the version of vmware) for the serial + eth and connect.
We use a standard Ubuntu 16.04 server install (to keep it small-ish) and then simply followed the instructions for Developing on Linux. Note: you do not need to set up the provided VMware image, it's already been done.
To get up an running:
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.
To ssh in from the Windows, use either Cygwin and ssh or
Putty. To run a X server, install Xming on Windows. For Putty, set
it up with X display
Once logged in, run sudo ifup eth1 to configure the network to the Sabre Lite. Use ifconfig to confirm eth1 is up with IP address 192.168.168.1. Some students may have the USB <-> ETH adapter attach as eth2 (confirm using ifconfig -a), in which case you'll have to modify /etc/networks/interfaces appropriately.
You should not need to adjust the tftp directory defined in our source tree. However, if you do, the tftpboot directory is specified by 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: 28 Jul 2017.