These instruction works on XP Windows PC with NTFS. In case following instruction does not work or you are using some other operating systems then please follow official TinyOS installation instructions.

 

Step 1: Install Java SDK from Sun website. It should be jdk 1.5/1.6. Please check if you already have java installed using “java –version” command.

 

Step 2: Install Cygwin using following instructions

 

  1. Go to here to download cygwin-files.zip and unzip it under some local folder say c:/cygwin-files
  2. Go to c:/cygwin-files and start the setup. Use following instructions.
    1. When it ask for “Choose A download source”, then use “Install from Local Directory” option
    2. When it ask for “Select Root Install Director” then use following options.

Root Directory: c:\cygwin

Install for: All Users

Default Text file type: Unix/Binary

    1. When it ask for “Select local Package directory” then select “c:/cygwin-files” (Note: this location depends on where you have unzip cygwin-files.zip, in step-1 above we have used c:/cygwin-files)
    2. Complete the rest of installation process

 

Step 3:  Installing TinyOS and nesC

 

  1. Download RPMs (Mica2 use AVR microcontroller hence we need AVR related RPMs) from here.
    1. Unzip them under folder c:/cygwin/home/<administration or whatever>/rpm/
  2. Start cygwin and go to (change directory to) c:/cygwin/home/<administration or whatever>/rpm/
  3. Now run following commands in the order. Make sure that you have no errors (ignore the warnings).
    1. “rpm -ivh --force –-ignoreos avr-binutils-2.15tinyos-3.cygwin.i386.rpm”
    2. “rpm –ivh --force –-ignoreos avr-gcc-3.4.3-1.cygwin.i386.rpm”
    3. “rpm -ivh --force –-ignoreos avr-libc-1.2.3-1.cygwin.i386.rpm”
    4. “rpm -ivh --force –-ignoreos avarice-2.4-1.cygwin.i386.rpm”
    5. “rpm -ivh --force –-ignoreos avr-insight-6.3-1.cygwin.i386.rpm”
    6. “rpm -Uvh --force –-ignoreos nesc-1.2.8a-1.cygwin.i386.rpm”    (Note: rpm -ivh will not install it correctly, hence use -Uvh ...)
    7. “rpm -ivh --force –-ignoreos tinyos-tools-1.2.4-2.cygwin.i386.rpm”
    8. “rpm –ivh --force –-ignoreos tinyos-2.0.2-2.cygwin.noarch.rpm”

 

Step 4: Setting environment variables.

1.      While running cygwin change directory to /etc/profile.d/

2.      Create a new file named “tinyos.sh”. You can use "nano" editor, it is similar as "pico" editor.

3.      Add following lines in tinyos.sh file.

 

TOSROOT=/opt/tinyos-2.x

TOSDIR=$TOSROOT/tos

MAKERULES=$TOSROOT/support/make/Makerules

export TOSROOT

export TOSDIR

export MAKERULES

 

4.      Use command "chmod a+x tinyos.sh"

5.      Use command "dos2unix tinyos.sh". It is just to make sure that file is in right format.

6.      Restart the cygwin

7.      In the windows CLASSPATH environment variable  put "C:\cygwin\opt\tinyos-2.x\support\sdk\java\tinyos.jar;.;"   (do not forget to put the dot in the CLASSPATH as mentioned here)

 

Step 5: Installing Graphviz (same as in offical installation instructions)

 

Go to download page of the Graphviz project and download the appropriate RPM. You only need the basic graphviz RPM (graphviz-); you don't need all of the add-ons, such as -devel, -doc, -perl, etc. Install the rpm with rpm -i rpm-name. In the case of Windows, there is a simple install program, so you don't need to deal with RPMs.

 

You are Done with the installation!


Test if installation was a success. In cygwin cd to "/opt/tinyos-2.x/apps/Blink" and Use command "make mica2". If it runs without errors then we are in business. :-)