TinyOS VM image

Not logged in

Using the pre-built TinyOS VM image

First of all, download the image here. You should be able to import it into VirtualBox ("File", "Import Appliance..."). Note that you will need to have the VirtualBox extension pack installed. This will create a new virtual machine, already (mostly) configured correctly. The machine includes the TinyOS development toolchain, as well as Fossil 1.28. Note, however, that the VM does not include the X Windows graphical environment, it's strictly a CLI affair.

(If you prefer a more graphical setup, you can use the Xubuntu VM image on the TinyOS wiki. Bear in mind that this image does not include Fossil, or the ability to use shared folders.)

The default user account on the VM is tinyos with password tiny. Sudo has been configured to not request a password, and the system with auto-login on tty1 on boot.

There are a few different ways you can use the VM:

Connecting to the VM: console or SSH

To interact with the VM, you can either simply type at the VirtualBox console directly, or you can use SSH to connect to the VM.

Project source code: shared or local

The preferred method for connecting the VM to the project source code is to save the source tree on your host machine, and use VirtualBox's shared folders support to mount it within the VM. This will require you to have Fossil installed on your host machine, but means that you can edit the sources with whatever editor you like. You will use Fossil on your host machine to commit your changes (you never need to run Fossil on the VM with this method).

To use the shared folder method:

  1. Clone and open the project repository into a directory (we'll call it $SRCTREE) on your host machine.

  2. In the settings for the VM, under the Shared Folders tab, create a new Machine shared folder. Set the path to $SRCTREE and set the name to project-src. Check both the Auto-Mount and Persistent check boxes.

  3. Restart the VM.

The alternate method is to keep your project source tree purely in the VM. You will only be able to edit it using editors within the VM (i.e., Nano or VIM by default). You will have to use Fossil on the VM to commit your changes.

To use the VM-local method:

  1. fossil clone the repository into ~/fossils/csci256.fossil and then open it in ~/project.

  2. If you want to use fossil ui to look at your local repository, point your (host machine) browser at http://localhost:8080 after starting fossil ui.

Note that with either method, you will always build your projects (via make telosb) and deploy to motes (via make telosb reinstall bsl,/dev/ttyUSB0) on the VM, not on your host machine.