Difference between revisions of "Automatic installation"

From TinyOS Wiki
Jump to: navigation, search
(changed getting tinyos from git to downloading the release. Pulling from the git repo will not work. also reformatting.)
Line 3: Line 3:
  
 
==Installation==
 
==Installation==
 
+
<ol>
1) Follow the [http://tinyprod.net/debian-dev/ guide by Eric Decker] to install the toolchain from the tinyprod repository. You will need to have gpg installed (which is quite likely already included in your distribution).<br>
+
<li>Follow the [http://tinyprod.net/debian-dev/ guide by Eric Decker] to install the toolchain from the tinyprod repository. You will need to have gpg installed (which is quite likely already included in your distribution).</li>
<br>
+
<li>Get the code from the TinyOS release repository:
2) Get the code from the main branch (git is required):
+
<pre>
  git clone https://github.com/tinyos/tinyos-main.git
+
wget http://github.com/tinyos/tinyos-release/archive/tinyos-2_1_2.tar.gz
This will check out the actual TinyOS code in a folder named <code>tinyos-main</code> inside the directory the command was iussed.<br>
+
tar xf tinyos-2_1_2.tar.gz
<br>
+
</pre>
3) You will need to add some enviroment variables to your shell. The following file includes the necessary ones. Substitute the placeholder <code><local-tinyos-path> </code> with the path where you chose to place the code in the previous section (full path recommended).<br>
+
This will extract the actual TinyOS code in a folder named <code>tinyos-release-tinyos-2_1_2</code> inside the directory the command was iussed. Feel free to rename this folder to <code>tinyos-main</code>.
 +
</li>
 +
<li>You will need to add some enviroment variables to your shell. The following file includes the necessary ones. Substitute the placeholder <code><local-tinyos-path></code> with the path where you chose to place the code in the previous section (full path recommended).
 
<pre>
 
<pre>
 
# Here we setup the environment
 
# Here we setup the environment
Line 25: Line 27:
 
</pre>
 
</pre>
  
Suppose you named this file <code>tinyos.env</code>. There are now at least two possibilites to have these variables accessible in your shell:<br>
+
Suppose you named this file <code>tinyos.env</code>. There are now at least two possibilites to have these variables accessible in your shell:
a) Place it as root user in <code>/etc/profile.d/</code><br>
+
<ol>
b) Place it in <code><local-tinyos-path></code> and add the following line to your <code>.bashrc</code><br>
+
<li>Place it as root user in <code>/etc/profile.d/</code></li>
  source <local-tinyos-path>/tinyos.env
+
<li>Place it in <code><local-tinyos-path></code> and add the following line to your <code>.bashrc</code><br>
 +
<pre>source <local-tinyos-path>/tinyos.env</pre>
 +
</li>
 +
</ol>
 
You can also add the contents of the file directly to the .bashrc.<br>
 
You can also add the contents of the file directly to the .bashrc.<br>
 
To make the changes work, the easiest way is to open a new terminal window.<br>
 
To make the changes work, the easiest way is to open a new terminal window.<br>
<br>
+
</li>
4) In order to program motes you will need to access the serial ports. This can be done by joining the group that grants this privilege.
+
<li>In order to program motes you will need to access the serial ports. This can be done by joining the group that grants this privilege.
 
   sudo gpasswd -a <your-user> dialout
 
   sudo gpasswd -a <your-user> dialout
 
This change only takes effect when log out and log in again.
 
This change only takes effect when log out and log in again.
 +
</li>
 +
</ol>
  
 
Now you should have everything needed to get started. This guide should work on  
 
Now you should have everything needed to get started. This guide should work on  
 
all systems based on Debian Squeeze. It has been tested on Ubuntu and Mint Linux.
 
all systems based on Debian Squeeze. It has been tested on Ubuntu and Mint Linux.

Revision as of 12:59, 12 May 2013

With Debian based systems (like Ubuntu and Mint Linux) you have the possibility for a relative hassle-free installation by using the repository from the tinyprod project for the toolchain installation. The TinyOS code ifself is obtained from the official github.

You can also use this guide to install TinyOS on a virtual machine of your choice, as long as the installed system is compatible with the toolchain packages.

Installation

  1. Follow the guide by Eric Decker to install the toolchain from the tinyprod repository. You will need to have gpg installed (which is quite likely already included in your distribution).
  2. Get the code from the TinyOS release repository:
    wget http://github.com/tinyos/tinyos-release/archive/tinyos-2_1_2.tar.gz
    tar xf tinyos-2_1_2.tar.gz
    

    This will extract the actual TinyOS code in a folder named tinyos-release-tinyos-2_1_2 inside the directory the command was iussed. Feel free to rename this folder to tinyos-main.

  3. You will need to add some enviroment variables to your shell. The following file includes the necessary ones. Substitute the placeholder <local-tinyos-path> with the path where you chose to place the code in the previous section (full path recommended).
    # Here we setup the environment
    # variables needed by the tinyos 
    # make system
    
    export TOSROOT="<local-tinyos-path>"
    export TOSDIR="$TOSROOT/tos"
    export CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java
    export MAKERULES="$TOSROOT/support/make/Makerules"
    export PYTHONPATH=$PYTHONPATH:$TOSROOT/support/sdk/python
    
    echo "setting up TinyOS on source path $TOSROOT"
    

    Suppose you named this file tinyos.env. There are now at least two possibilites to have these variables accessible in your shell:

    1. Place it as root user in /etc/profile.d/
    2. Place it in <local-tinyos-path> and add the following line to your .bashrc
      source <local-tinyos-path>/tinyos.env

    You can also add the contents of the file directly to the .bashrc.
    To make the changes work, the easiest way is to open a new terminal window.

  4. In order to program motes you will need to access the serial ports. This can be done by joining the group that grants this privilege. sudo gpasswd -a <your-user> dialout This change only takes effect when log out and log in again.

Now you should have everything needed to get started. This guide should work on all systems based on Debian Squeeze. It has been tested on Ubuntu and Mint Linux.