-
Notifications
You must be signed in to change notification settings - Fork 2k
SUIT Hackathon RIOT SetUp
You will choose a setup option depending on the kind of use you might give RIOT in the future. If this might be a one time/casual development we would recommend using Vagrant (option 1), but you will need to install VirtualBox, Vagrant and save a VirtualBox image locally.
If you might use RIOT a little more often you might think about installing the whole tool-chain directly on your computer. To do this you can do it following option 2 and 3. Option 3 is a script written by jia200x that takes cares of installing all the needed tools for this project, works on Linux hosts.
- Install and set up git
- Install latest VirtualBox & VirtualBox Extension Pack.
- Install Vagrant.
- Linux: Don't install with
sudo apt-get install vagrant
(it will install an older version), download the package from the link and thensudo dpkg -i <vagrant_<version>.deb>
- It will download an executable
- Linux: Don't install with
- Linux, OSX:
- clone RIOT repo:
git clone https://github.com/RIOT-OS/RIOT.git
- Windows:
- set
git config --global core.autocrlf input
before cloning - clone RIOT repo:
- set
git clone https://github.com/RIOT-OS/RIOT.git
-
Run
vagrant up
andvagrant ssh
from the projects dir (riot_session), the password for vagrant is "vagrant". -
For Linux Host Systems: Additionally, in order to allow USB access from within the guest system, the host system user must be a member of the vboxusers group (see here), or just run
usermod -a -G vboxusers $USER
-
For Linux Guest Systems: For new boards it is necessary to add new udev rules in the Vagrant config (in dist/tools/vagrant/udev_rules) so that Vagrant can capture the device. The needed vendor id and product id can be obtained by running vboxmanage list usbhost
-
See the Vagrant RIOT Setup for a more general explanation.
- Install and set up git
- Install the build-essential packet (make, gcc etc.). This varies based on the operating system in use.
- Install Native dependencies
- Install OpenOCD
- Install GCC Arm Embedded Toolchain
- On OS X: install Tuntap for OS X
- additional tweaks necessary to work with the targeted hardware (ATSAMR21)
- Install
netcat
with IPv6 support (if necessary)
sudo apt-get install netcat-openbsd
- clone RIOT repo:
git clone https://github.com/RIOT-OS/RIOT.git
This script pulls the needed software and builds it, installs the required firmware and then cleans up. It also takes care of setting up udev rules.
- Download and run this setup script
- Clone RIOT repository:
git clone https://github.com/RIOT-OS/RIOT.git
-
If you have an error or timeout during vagrant, it may be because your need to enable virtualization technologies for VirtualBox to work. This must be done in the BIOS. This will vary depending on computer manufacturer but you can find here a reference on how to do it.
- RIOT documentation: https://doc.riot-os.org
- RIOT page: https://riot-os.org/
- RIOT github: https://github.com/RIOT-OS/RIOT
- Coap Specs (RFC 7252): https://tools.ietf.org/html/rfc7252
- SUIT architecture draft: https://datatracker.ietf.org/doc/draft-ietf-suit-architecture/
- SUIT CBOR Serialization format: https://datatracker.ietf.org/doc/draft-moran-suit-manifest/