Star Hype News.

Premium celebrity moments with standout appeal.

updates

Installing TinyOS on recent version of Ubuntu

By John Thompson

I am following this tutorial to install TinyOS but when I run sudo apt-get install tinyos it says unable to locate package. I have tried all distributions.

4 Answers

From the TinyOS tutorial at your link:

Supported distributions are (hardy, intrepid, jaunty, karmic)

All of these Ubuntu releases are end of life and are no longer supported by updates. You are using Ubuntu 14.04 which is not supported by the TinyOS package repository that is shown in the tutorial at your link.

Instead I followed the instructions from Automatic installation - TinyOS Wiki to install TinyOS in Ubuntu 14.04 (it also works in Ubuntu 16.04).

Install TinyOS in Ubuntu 14.04 and 16.04

  1. Visit TinyOS (TinyProd) Debian Development Repository and follow these instructions:

    1. Tell apt about the TinyProd Signing Key.

      wget -O - | sudo apt-key add -
    2. Add the two new lines to /etc/apt/sources.list.d/tinyprod-debian.list:

      sudo -s
      cd /etc/apt/sources.list.d
      echo "deb wheezy main" >> tinyprod-debian.list
      echo "deb msp430-46 main" >> tinyprod-debian.list
    3. Install the new packages:

      sudo apt-get update
      sudo apt-get install nesc tinyos-tools 

      I didn't install either msp430-46 or avr-tinyos at this step, in case you want to install them later after you have tested your TinyOS installation.

  2. Get the code from the TinyOS release repository:

    wget
    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 issued. Feel free to rename this folder to tinyos-main.

  3. You will need to add some environment variables to your shell. The following file includes the necessary ones. Substitute the placeholder 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 possibilities 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 

After the TinyOS installation is finished, you can check if it is successful by executing some of these commands:

tos-bsl tos-ident-flags tos-serial-debug
tos-build-deluge-image tos-install-jni tos-set-symbols
tos-channelgen tos-locate-jre tos-storage-at45db
tos-check-env tos-mote-key tos-storage-pxa27xp30
tos-decode-flid tos-mviz tos-storage-stm25p
tos-deluge tos-ramsize tos-write-buildinfo
tos-dump.py tos-serial-configure tos-write-image
1

I happened to have the same issue and I solved it in the following way.

  1. I downloaded the tinyos package form their github repo tiny-os-main.

  2. I extracted it to my Desktop (you can extract it wherever you want and note down the path).

  3. I then installed tinyos-tools from apt using apt-get install tinyos-tools.

  4. I then followed the 3rd instruction form the link Automatic Installation - TinyOS Wiki to setup the environment. The "local-tinyos-path" is the path you noted down in step 2.

Btw I am using Ubuntu 14.04.

Hope this helps.

1

Install TinyOS on Ubuntu 18.04

You don't need to download source for TinyOS, these command would do that:

% sudo apt-get update
% sudo apt-get install tinyos-tools bison flex graphviz
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed: ca-certificates-java default-jre default-jre-headless fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libjama-java libpcsclite1 nescc openjdk-11-jre openjdk-11-jre-headless tinyos-source uisp
Suggested packages: default-java-plugin libjama-java-doc pcscd gcc-avr gcc-msp430 libnss-mdns fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
The following NEW packages will be installed: ca-certificates-java default-jre default-jre-headless fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libjama-java libpcsclite1 nescc openjdk-11-jre openjdk-11-jre-headless tinyos-source tinyos-tools uisp
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 53.2 MB of archives.
After this operation, 233 MB of additional disk space will be used.
Do you want to continue? [Y/n]y

The above commands install Java, nescc (v1.3.5), tinyos-source (v2.1.2), and tinyos-tools (v.1.4.2).

The source code for TinyOS will be placed in /usr/src/tinyos.

After installing these, you will need to add some enviroment variables to your shell by:

source /etc/profile.d/tinyos.sh

Or to add these enviroment variables automatically, type:

printf 'source /etc/profile.d/tinyos.sh\n' | tee -a "$HOME/.bash_profile"

Next, check the installation with:

tos-check-env

Finally, change owner of TinyOS source:

% printenv TOSROOT
/usr/src/tinyos
% sudo chown -R "$USER". "$TOSROOT"

Useful links

That will happen if the package name is typed incorrectly , you can double check package name in the software center or install from there . The terminal is case sensitive for some operations , use lower case for installing packages. sudo apt- get install name. It may depend which repository those packages are in and whether those repositories are enabled. I am no expert on apt - get, but if you list which packages you are looking for , someone may be able to help.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Related Archive

More in updates