[riot-devel] Directions on how to setup a test environment for RIOTOS (Real Time OS for tiny embedded devices)

Steven Anderson wanfuse123 at gmail.com
Tue Aug 9 14:28:14 CEST 2016


Hi I have performed the following in order to setup a test network of
devices on Ubuntu 14.04 with Vagrant and vbox. (see below)

I am getting the following error:

ifconfig 4 add 2001:db8::1
error: unable to add IPv6 address.
I cant get around this.
I believe I am using the native chipset in order to work on Linux.

Please take a look and tell me what I am doing wrong.

Thanks in advance!

Steven



Directions on how to setup a test environment for
RIOTOS (Real Time OS for tiny embedded devices)

install Ubuntu 14.04
http://releases.ubuntu.com/14.04/ubuntu-14.04.5-desktop-amd64.iso and burn
it to a  CD install it on a x86_64 bit machine

Install VirtualBox 4.3
https://www.virtualbox.org/wiki/Download_Old_Builds_4_3

install "VirtualBox Extension Pack 4.3"
https://www.virtualbox.org/wiki/Download_Old_Builds_4_3

Install vagrant (DONT DO sudo apt-get install vagrant ) instead do
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
WARNING: do not upgrade to later version of ubuntu if it asks!
sudo apt-get install wget build-essential subversion git
linux-header-`uname -r' nano gedit
cd /home/<homedirectory>/Downloads
mkdir vagrant
cd vagrant
wget https://releases.hashicorp.com/vagrant/1.8.5/vagrant_1.8.5_x86_64.deb
sudo dpkg -i vagrant_1.8.5_x86_64.deb
mkdir /home/<username>/Downloads/RIOT-OS
cd /home/<username>/Downloads/RIOT-OS
git clone --recursive https://github.com/RIOT-OS/Tutorials
git clone git://github.com/RIOT-OS/RIOT.git
cd /home/<username>/Downloads/RIOT-OS/RIOT
NOTE: if your computer does not have USB3 then you will need to do the
following
gedit Vagrantfile
find the line that reads
vb.customize ["modifyvm", :id, "--usbxhci", "on"]

and comment it out by putting a # sign in front of it
#    vb.customize ["modifyvm", :id, "--usbxhci", "on"]
this fixes a usb3 error that is generated by vagrant and vbox

The following commands must be run from the RIOT-OS root directory on the
host system. This will set the ability to name a terminal with set-title
command inside terminal on Ubuntu install. NOTE: This is different than the
repeat of this step you are going to do for Vagrant VM inside vbox. More
info on this helpful shortcut can be found here:
http://unix.stackexchange.com/questions/177572/how-to-rename-terminal-tab-title-in-gnome-terminal
This seems like a lot of work but it actually saves lots of confusion later
on.
gedit /home/<username>/.bashrc
at the bottom of the .bashrc file that appears type
function set-title() {
  if [[ -z "$ORIG" ]]; then
    ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1=${ORIG}${TITLE}
}

save the .bashrc and exit

NOW you will open terminal tabs one for each of the RIOTOS devices you wish
to create. For ease of use open them as tabs. DO this by opening a terminal
and then go to FILE-Open TAB on Ubuntu Desktop. For example,VirtualBox I
wanted to have 4 devices with 4 tap interfaces so I opened 4 terminals.
After you open the terminals
go into each terminal and type set-title RIOT-OS tap{0,1,2,3,4}...number of
terminals consecutively one in each terminal for example set-title RIOT-OS
tap0 or in next terminal set-title RIOT-OS tap1,  etc...etc.

vagrant up
This will start up the virtual machine and download the Ubuntu image as
well as all necessary toolchains.
This will download and build a VirtualBox VM with Ubuntu 15.04 in it for
use as a platform for RIOTOS, it will then build RIOTOS inside the VM
assuming all goes well
You will do the next step once for each of the instances of native RIOTOS
hardware instances you wish to create.
If your not there already type
cd /home/<username>/Downloads/RIOT-OS/RIOT (you should be here)
type:
vagrant ssh

<Begin do only after first vagrant up <repeat only after a VirtualBox
vagrant destroy is performed>>
For the very first time after building with vagrant up or after a vagrant
destroy you will need to edit the .bashrc in the vagrant / VirtualBox VM
gedit /home/vagrant/.bashrc
at the bottom of the .bashrc file that appears type
function set-title() {
  if [[ -z "$ORIG" ]]; then
    ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1=${ORIG}${TITLE}
}

save the .bashrc and exit

<End do only after first vagrant up <repeat only after a vagrant destroy is
performed>>

cd /home/vagrant/RIOT/dist/tools/tapsetup
./tapsetup -c 10 where -c 10 is the number of virtual different boards you
want

[NOTE: if you previously created a tap interface you will need
./tapsetup -d to delete other tap interface ]
cd /home/vagrant/RIOT/examples/default
type in:  make all term
wait a minute and hit enter to bring up prompt >
BEGIN REPEAT SECTION:
For each of the ./tapsetup -c 10 ←-- do the following
open a new terminal on your desktop (not the VirtualBox VM created early
but on the actual desktop)
In the terminal type:
set-title RIOT-OS tap<0>  <followed by an enter >where <0> is the number of
the tap interface <allows you to keep track> this will name the terminal
according to which tap interface you are accessing. More info on this
helpful shortcut can be found here:
http://unix.stackexchange.com/questions/177572/how-to-rename-terminal-tab-title-in-gnome-terminal

cd /home/<username>/Downloads/RIOT-OS/RIOT
vagrant ssh (this puts you into the vagarant vm running on vbox)

In the terminal type:
set-title RIOT-OS tap<0>  <followed by enter>where <0> is the number of the
tap interface <allows you to keep track> this will name the terminal
according to which tap interface you are accessing.

cd /home/vagrant/RIOT/examples/default {inside VM here in
second,third,forth...terminal}

make term  PORT=tap<1>   ---where each of the tap<1> is incremented as you
do the repeat steps
END REPEAT SECTION





*******************************
vagrant at vagrant:~/RIOT/dist/tools/tapsetup$ cd ../../../examples/default
vagrant at vagrant:~/RIOT/examples/default$ make all term
Building application "default" for "native" with MCU "native".

"make" -C /home/vagrant/RIOT/boards/native
"make" -C /home/vagrant/RIOT/boards/native/drivers
"make" -C /home/vagrant/RIOT/core
"make" -C /home/vagrant/RIOT/cpu/native
"make" -C /home/vagrant/RIOT/cpu/native/netdev2_tap
"make" -C /home/vagrant/RIOT/cpu/native/periph
"make" -C /home/vagrant/RIOT/drivers
"make" -C /home/vagrant/RIOT/drivers/netdev2_eth
"make" -C /home/vagrant/RIOT/drivers/saul
"make" -C /home/vagrant/RIOT/sys
"make" -C /home/vagrant/RIOT/sys/auto_init
"make" -C /home/vagrant/RIOT/sys/auto_init/netif
"make" -C /home/vagrant/RIOT/sys/auto_init/saul
"make" -C /home/vagrant/RIOT/sys/config
"make" -C /home/vagrant/RIOT/sys/fmt
"make" -C /home/vagrant/RIOT/sys/net/crosslayer/netopt
"make" -C /home/vagrant/RIOT/sys/net/gnrc
"make" -C /home/vagrant/RIOT/sys/net/gnrc/netapi
"make" -C /home/vagrant/RIOT/sys/net/gnrc/netif
"make" -C /home/vagrant/RIOT/sys/net/gnrc/netif/hdr
"make" -C /home/vagrant/RIOT/sys/net/gnrc/netreg
"make" -C /home/vagrant/RIOT/sys/net/gnrc/pkt
"make" -C /home/vagrant/RIOT/sys/net/gnrc/pktbuf_static
"make" -C /home/vagrant/RIOT/sys/net/gnrc/pktdump
"make" -C /home/vagrant/RIOT/sys/net/gnrc/link_layer/netdev2
"make" -C /home/vagrant/RIOT/sys/od
"make" -C /home/vagrant/RIOT/sys/phydat
"make" -C /home/vagrant/RIOT/sys/ps
"make" -C /home/vagrant/RIOT/sys/saul_reg
"make" -C /home/vagrant/RIOT/sys/shell
"make" -C /home/vagrant/RIOT/sys/shell/commands
   text   data    bss    dec    hex filename
  88984    640  71948 161572  27724
/home/vagrant/RIOT/examples/default/bin/native/default.elf
/home/vagrant/RIOT/examples/default/bin/native/default.elf tap0
RIOT native interrupts/signals initialized.
LED_RED_OFF
LED_GREEN_ON
RIOT native board initialized.
RIOT native hardware initialization complete.

main(): This is RIOT! (Version: 2016.10-devel-21-gcf11a-vagrant)
Native RTC initialized.
Welcome to RIOT!
PKTDUMP: data received:
~~ SNIP  0 - size:  76 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 24 00 01 00 00 00 00 00 00 00 00
000010 00 00 00 00 00 00 00 00 ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 16 3a 00 05 02 00 00 01 00
000030 8f 00 f1 25 00 00 00 01 04 00 00 00 ff 02 00 00
000040 00 00 00 00 00 00 00 01 ff c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:16
~~ PKT    -  2 snips, total size:  96 byte
> PKTDUMP: data received:
~~ SNIP  0 - size:  76 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 24 00 01 00 00 00 00 00 00 00 00
000010 00 00 00 00 00 00 00 00 ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 16 3a 00 05 02 00 00 01 00
000030 8f 00 f1 25 00 00 00 01 04 00 00 00 ff 02 00 00
000040 00 00 00 00 00 00 00 01 ff c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:16
~~ PKT    -  2 snips, total size:  96 byte
PKTDUMP: data received:
~~ SNIP  0 - size:  64 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 18 3a ff 00 00 00 00 00 00 00 00
000010 00 00 00 00 00 00 00 00 ff 02 00 00 00 00 00 00
000020 00 00 00 01 ff c6 7d 9e 87 00 8d 66 00 00 00 00
000030 fe 80 00 00 00 00 00 00 90 f7 62 ff fe c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:ff:c6:7d:9e
~~ PKT    -  2 snips, total size:  84 byte
PKTDUMP: data received:
~~ SNIP  0 - size:  76 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 24 00 01 fe 80 00 00 00 00 00 00
000010 90 f7 62 ff fe c6 7d 9e ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 16 3a 00 05 02 00 00 01 00
000030 8f 00 82 48 00 00 00 01 04 00 00 00 ff 02 00 00
000040 00 00 00 00 00 00 00 01 ff c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:16
~~ PKT    -  2 snips, total size:  96 byte
PKTDUMP: data received:
~~ SNIP  0 - size:  56 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 10 3a ff fe 80 00 00 00 00 00 00
000010 90 f7 62 ff fe c6 7d 9e ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 02 85 00 98 75 00 00 00 00
000030 01 01 92 f7 62 c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:02
~~ PKT    -  2 snips, total size:  76 byte
PKTDUMP: data received:
~~ SNIP  0 - size:  76 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 24 00 01 fe 80 00 00 00 00 00 00
000010 90 f7 62 ff fe c6 7d 9e ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 16 3a 00 05 02 00 00 01 00
000030 8f 00 82 48 00 00 00 01 04 00 00 00 ff 02 00 00
000040 00 00 00 00 00 00 00 01 ff c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:16
~~ PKT    -  2 snips, total size:  96 byte


> ifconfig
ifconfig
Iface  4   HWaddr: 92:f7:62:c6:7d:9f

           Source address length: 6

> PKTDUMP: data received:
~~ SNIP  0 - size:  56 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 10 3a ff fe 80 00 00 00 00 00 00
000010 90 f7 62 ff fe c6 7d 9e ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 02 85 00 98 75 00 00 00 00
000030 01 01 92 f7 62 c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:02
~~ PKT    -  2 snips, total size:  76 byte


> ifconfig
ifconfig
Iface  4   HWaddr: 92:f7:62:c6:7d:9f

           Source address length: 6

> PKTDUMP: data received:
~~ SNIP  0 - size:  56 byte, type: NETTYPE_UNDEF (0)
000000 60 00 00 00 00 10 3a ff fe 80 00 00 00 00 00 00
000010 90 f7 62 ff fe c6 7d 9e ff 02 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 02 85 00 98 75 00 00 00 00
000030 01 01 92 f7 62 c6 7d 9e
~~ SNIP  1 - size:  20 byte, type: NETTYPE_NETIF (-1)
if_pid: 4  rssi: 0  lqi: 0
flags: 0x0
src_l2addr: 92:f7:62:c6:7d:9e
dst_l2addr: 33:33:00:00:00:02
~~ PKT    -  2 snips, total size:  76 byte


> ifconfig
ifconfig
Iface  4   HWaddr: 92:f7:62:c6:7d:9f

           Source address length: 6

> ifconfig 4 add 2001:db8::1
ifconfig 4 add 2001:db8::1
error: unable to add IPv6 address.
>
********************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/devel/attachments/20160809/9473e562/attachment-0001.html>


More information about the devel mailing list