UbunTOS – Ubuntu 9.10 + TinyOS 2.x VirtualBox Image

This is my admittedly minor but I hope useful contribution to the TinyOS development community. TinyOS is an Operating System and development framework for Wireless Sensor Networks and other platforms which has a small footprint and is very energy conscious.

The TinyOS source code is available for free online for many operating systems, however it takes a long time to get the environment set up and it is not portable at all. I came across XubunTOS but it did not seem to be in active development anymore, so I endeavored to install TinyOS 2.1 and 2.x from source into a regular Ubuntu image. The most help came from Matt Keally’s Blog. While doing this, I thought it might be useful to many others who wish to develop in the TinyOS framework but might not have the skills necessary to install it. Therefore, I developed this VirtualBox image so that you can install it on any system for which VirtualBox is available and supports USB passthrough for the programming of the motes. I’ve tested on Windows 7, Windows XP and it should work on any other host OS, but I would love to hear your feedback. All funny business aside, I present to the world UbunTOS:


  • Ubuntu 9.10 OS (patched through 2/5/2010)
  • Complete TinyOS development environment
  • TinyOS 2.1 Installed
  • TinyOS 2.x CVS Installed (default environment)
  • Portable for development in a variety of host environments
  • Patched motelist for MIB520 programming board


  1. Unzip the file and import into VirtualBox. I recommend at least 768M RAM
  2. Boot system
  3. Enable USB passthrough for the programming board. Check off the USB device in the menu as shown:
    VirtualBox USB Passthrough
  4. Check ‘motelist’ to see which port it has been assigned to (motelist has been patched to see MIB520 programming board)
  5. Program away! TinyOS resides in /opt/


MD5 sum:    9a27ba7902337139c2eae0121ec6ca4e

Download UbuntuTOS_Ubuntu-9.10_TinyOS-2.x.zip [2/8/2010]:    [ torrent | http ]

If you happen to have spare bandwidth, please send me a note and I will link to the file via http or ftp.


  • The default username is wcu and password is nosecurity
  • The hostname is wcu-desktop, in honor of West Chester University which is sponsoring my research into Wireless Sensor Networks.
  • To switch between the TinyOS 2.x and 2.1 environment, run the shell script /opt/tinyos-2.1.0/tinyos.sh or /opt/tinyos-2.x/tinyos-2.x.sh. By default the 2.x environment is loaded via ~/.bashrc/.
  • To update TinyOS 2.x with latest CVS Code:
    cd /opt; cvs -z3 -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos co -P tinyos-2.x
  • I’ve testing this using Mica2 and Micaz. Let me know if you have success with other combinations as I just do not have the hardware to test.
  • Usually the programming port and the data port are on consecutive ports. In the example above, the programming device is /dev/ttyUSB0 and the data port, for serialforwarder, is /dev/ttyUSB1

Known Bugs?

If you have issues while enabling USB Passthrough, such as an error like:

Version:1.0 StartHTML:0000000105 EndHTML:0000001970 StartFragment:0000000127 EndFragment:0000001952

Result Code: E_INVALIDARG (0x80070057)
Component: HostUSBDevice
Interface: IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a}
Callee: IConsole {6375231a-c17c-464b-92cb-ae9e128d71c3}

Reboot your host system. I believe this happens while reinstalling the passthrough driver for the USB device for the first time. Rebooting seems to fix this problem, and after the initial setup this problem seems to disappear.

If you have any other problems (or compliments!) please leave a message via the form below.

  • John

    48b3d94fd0c3e4c7ab37a8fb6d6cb8eb was what md5 returned on the vmdk file.

  • Anonymous

    Dear Dave
    I installed TinyOS through cygwin in my laptop which having windows7. How
    to create .out file in TinyOS

    Thanks & Regards

  • Anonymous

    I installed TinyOS through cygwin in my windows7 laptop. how create .out file and how to compile a NesC code in programmers notepad

  • Anonymous

    can you help me how to create a .out file in TinyOS and how to compile nesC code in programmers notepad

  • Anonymous

    can you help me how to create a .out file in TinyOS and how to compile nesC code in programmers notepad

  • Anil Srivatsav

    dave for me root password, if i give nosecurity.. its giving authentication failure.. pls help

  • Vinobala

    how to compile nesc code without mote.wat compiler i have to use

  • Paul

    Hi, I am trying to download your image, but the torrent is taking forever, and when I try the http option, I get redirected to a Launchrock site. Is the file still available?

  • Darksoul_e

    Yes, I’m having the same problem. It would be really useful to know if the file is accessible via launchrock and how. 
    Thanks in advance

  • Not Amused

    Alot of relatively favourable comments despite download links now being broken.  Can someone either fix the links or delete this post so it doesn’t turn up in searches anymore – time waster.

  • Links are fixed and I am seeding the torrent. Thanks for your interest. 

  • Try the link now, it is fine. Thanks!

  • Usubha

    I tried with VirtualBox. But I am getting error
    “Bios disk write error,Failed to boot default entries”.

    Please help me to install