Installing TinyOS under Ubuntu 12.04 or 12.10 or 13.04 or 13.10
I am specifying 3 different methods for installing tinyos. There are different ways one can install. I prefer last method for advanced users and first two methods for simple use. Also, not to forget that There is a problem reported with MSP430-gcc version < 4.6.3. So, all users should make sure that they use MSP430-gcc version 4.6.3 for
TelosB devices. If you want to download 4.6.3, please follow
http://tinyprod.net/repos/debian/README-46.html .
When you try different methods, please make sure to remove previous installations (including toolchain).
Method 1:
1. Add software source, deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main to /etc/apt/sources.list
2. Type, sudo apt-get update to get new changes. Install tinyos-2.1.1 by typing sudo apt-get install tinyos-2.1.1.
3. Change the environment variables. Open the .bashrc file (sudo gedit ~/.bashrc), and add the following lines to the bashrc file:
export TOSROOT=/opt/tinyos-2.1.1
export TOSDIR=$TOSROOT/tos
export CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.$CLASSPATH
export MAKERULES=$TOSROOT/support/make/Makerules
export PATH=/opt/msp430/bin:$PATH
source /opt/tinyos-2.1.1/tinyos.sh
Use command: source ~/.bashrc to update changes.
3. Get the access authority to the tinyos folder (sudo chown usr_name:usr_name -R /opt/tinyos-2.1.1/). Also follow this 2 steps:
- Change the ownership on your /opt/tinyos-2.x files:
chown -R <your uid> /opt/tinyos-2.x
- Change the permissions on any serial (/dev/ttyS<N>), usb (/dev/tts/usb<N>, /dev/ttyUSB<N>), or parallel (/dev/parport) devices you are going to use:
chmod 666 /dev/<devicename>
4. Install tinyos jave tools. First install JNI by running "tos-install-jni". Go to "$TOSROOT/support/sdk/java/". If the directory has a Makefile in it, type make and make install.
5. Generate the documents of TinyOS java tools. Go to "$TOSROOT/support/sdk/java/" , copy the the directory to another place (e.g., /home/usr_name), open the Makefile, change "JAVADOCDIR" to the intended location. Type "make javadoc" to generate the documents.
Close all editors, restart the machine. And you are done.
- Remove tinyos using : sudo apt-get remove tinyos-2.1.2
- Add software source,
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu maverick main
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu natty main
to /etc/apt/sources.list
Type as instructed in bullet.
- Type, sudo apt-get update to get new changes. Install tinyos-2.1.2 by typing sudo apt-get install tinyos-2.1.2.
- Type: cd /opt
- Get tinyos repository using: sudo git clone https://github.com/tinyos/tinyos-main.git
- sudo cp -R /opt/tinyos-main /opt/tinyos-2.x
- Change the ownership on your /opt/tinyos-2.x files:
chown -R <your uid> /opt/tinyos-2.x
- Change the permissions on any serial (/dev/ttyS<N>), usb (/dev/tts/usb<N>, /dev/ttyUSB<N>), or parallel (/dev/parport) devices you are going to use:
chmod 666 /dev/<devicename>
4. Copy tinyos.sh file from /opt/tinyos-2.1.2/ using: sudo cp /opt/tinyos-2.1.2/tinyos.sh /opt/tinyos-2.x/tinyos.sh (if don't have tinyos.sh file under tinyos-2.1.2, get it from tinyos-2.1.1)
5. Change permission: sudo chmod +x /opt/tinyos-2.x/tinyos.sh
6. Open tinyos.sh file under /opt/tinyos-2.x/ and add below lines, save and exit:
#! /usr/bin/env bash
# Here we setup the environment
# variables needed by the tinyos
# make system
echo "Setting up for TinyOS 2.x Repository Version"
export TOSROOT=
export TOSDIR=
export MAKERULES=
TOSROOT="/opt/tinyos-2.x"
TOSDIR="$TOSROOT/tos"
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/java/tinyos.jar
MAKERULES="$TOSROOT/support/make/Makerules"
export TOSROOT
export TOSDIR
export CLASSPATH
export MAKERULES
7. Type sudo gedit ~/.bashrc and add below line:
source /opt/tinyos-2.x/tinyos.sh
8. Install tinyos jave tools. First install JNI by running "tos-install-jni". Go to "$TOSROOT/support/sdk/java/". If the directory has a Makefile in it, type make and make install.
Close all editors, restart the machine. And you are done.
Method 3:
My preferred way (difficult for some people though).
- Get tinyos repository using: sudo git clone https://github.com/tinyos/tinyos-main.git
- cd ~ ;
- mkdir local/src
- sudo git clone https://github.com/tinyos/tinyos-main.git
- Get required tools using TinyOS wiki step 3. You can try converting rpm to deb using simple search on Google.
- Make sure you install MSP430-gcc version 4.6.3 from http://tinyprod.net/repos/debian/README-46.html. Before installing version 4.6.3, make sure to remove previous versions from your machine, otherwise you will end up having errors in your machine.
- Once everything is done, install automake using sudo apt-get install automake;
- Use following commands:
- sudo apt-get install automake
- cd tinyos-2.x/tools
- ./Bootstrap
- ./configure --prefix=$HOME/local
- make all
- make install
- Set environment variables under bashrc:
- #! /usr/bin/env bash
# Here we setup the environment
# variables needed by the tinyos
# make system
echo "Setting up for TinyOS 2.x Repository Version"
export TOSROOT=
export TOSDIR=
export MAKERULES=
TOSROOT="/opt/tinyos-2.x"
TOSDIR="$TOSROOT/tos"
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/java/tinyos.jar
MAKERULES="$TOSROOT/support/make/Makerules"
export TOSROOT
export TOSDIR
export CLASSPATH
export MAKERULES
You are done. Close all editors and Enjoy.
Method 4:
My preferred way (Very easy to follow).
Follow Eric Decker's
link for installation. After following his steps from 1 to 4 (and of-course "Note" mentioned)
- cd /opt/
- Get git repos using: sudo git clone https://github.com/tinyos/tinyos-main.git
- sudo cp -R /opt/tinyos-main /opt/tinyos-2.x
- Change the ownership on your /opt/tinyos-2.x files:
chown -R <your uid> /opt/tinyos-2.x
- Create tinyos.sh file under /opt/tinyos-2.x/ and add these lines:
#! /usr/bin/env bash
# Here we setup the environment
# variables needed by the tinyos
# make system
echo "Setting up for TinyOS 2.x Repository Version"
export TOSROOT=
export TOSDIR=
export MAKERULES=
TOSROOT="/opt/tinyos-2.x"
TOSDIR="$TOSROOT/tos"
CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/java/tinyos.jar
MAKERULES="$TOSROOT/support/make/Makerules"
export TOSROOT
export TOSDIR
export CLASSPATH
export MAKERULES
- Type sudo gedit ~/.bashrc and add below line: source /opt/tinyos-2.x/tinyos.sh
- Install tinyos jave tools. First install JNI by running "tos-install-jni". Go to "$TOSROOT/support/sdk/java/". If the directory has a Makefile in it, type make and make install.
Please post your comments and suggestions if you find this helpful.