The insufficient disk space provided in the course VM has been causing difficulty for some students when compiling the kernel for Assignment 6. Instructions are provided here for adding extra disk space. If you still run out of disk space after adding a new virtual disk, your only other options are to (1) increase the size of your root partition (i.e., the "hard way", as described in the prior link), or (2) to use a different VM.

For those who are interested, I have created a new VM image using a minimal install of Debian 8.3. The disk size is 32GB, so nobody should run out of space. To be clear, I have successfully used the "official" Lubuntu 14.04 course VM myself to compile and install the kernel (by adding an additional virtual disk), so I can attest to the fact that it is in fact doable. Nevertheless, if you are still having trouble, this VM is for you to try, but I will not be able to provide any further technical assistance.

This VM has no GUI installed, so you should be fully comfortable using a terminal. If you would like to work in more than one terminal at the same time, you may simply ssh into your VM (I have enabled the ssh server on the VM image). Linux and Mac users may use the native ssh client that comes bundled with their system, and Windows users may use PuTTY. I assume that everybody knows how to use ssh by now. For copying files to and from your VM, Linux and Mac users can use scp, and Windows users can use WinSCP.

Why no GUI? I decided to make this a minimal Debian installation with the absolute bare minimum packages needed to get the job done, to minimize any chances of anything going wrong. You should be able to follow through the assignment instructions, copy and paste each command, and everything should work. I have tested it myself (and followed the instructions to the letter) before uploading the VM image to ensure that it does in fact work.

One more thing before I move on: This VM is configured to show the GRUB boot menu at startup, so if you ever install a kernel that you are not able to boot from, you may select "Advanced options" and boot from the default kernel (3.16) instead.

You may download the VM image here, and import it into VirtualBox. The user name and password for the student account is the same as what is used in the existing course VM.

The default networking configuration in VirtualBox is NAT mode, so all the VMs share the same private IP address on a virtual network interface on your host operating system. To find out what the private IP address is, run:

  • ifconfig in a terminal on Linux or Mac, and inspect the output for the VirtualBox virtual interface, which should be named something like, e.g., virbr0, and have a 192.168.x.x IP address.
  • ipconfig in a cmd prompt on Windows, and inspect the output for the VirtualBox virtual adapter, which should have a 192.168.x.x IP address (you can also find this IP address by looking for the VirtualBox interface from your Network Connections in Control Panel, double-clicking on it, and displaying the connection details).

Since all the VMs share the same IP address when configured in NAT mode, the SSH port needs to be forwarded from the Guest (i.e., VM) through the virtual network interface on your Host OS (i.e., Windows, Mac, or whatever you're using). I have already done this by forwarding port 22 from the VM to port 63000 on the virtual interface. If you want to see for yourself how this is done:

  • Right-click on the "COMP3000_Debian" VM, and click "Settings".
  • Click on "Network" in the pane on the left-hand side.
  • Click on "Advanced" to show more settings.
  • Click on "Port Forwarding", and you should see a single entry with "TCP" under Protocol, "63000" under Host Port, and "22" under Guest Port.
If you want to experiment further on your own time, you can also try the "Bridged" network option (instead of NAT), which allows your VM to obtain a publicly-accessible IP address on the local network. This would allow you to access your VM from other machines on the same network.

Now, all you need to do to connect to your VM via ssh from your Linux or Mac Host OS is to run ssh student@192.168.x.x -p 63000. To copy a file from your VM to your current working directory, you would run scp -P 63000 student@192.168.x.x:/path/to/my/file.txt . (note that scp requires a capital P, whereas ssh uses a lower-case p). If you are using Windows, you will have to use PuTTY and WinSCP - these are both GUI-based tools, so I am sure you can figure out how they work.