The Baserock GENIVI Demo Platform Hands On took place in Seoul on 2015-10-22.
The event was livecasted on Youtube
Getting Started with ybd on Scaleway
# Choose a Fedora image (we could not get stock Ubuntu to work)
# then after ssh root@your.ip.address
dnf install which make automake gcc gcc-c++ gawk git m4 shellinabox
mkdir /src ; cd /src
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install pyyaml sandboxlib jsonschema requests bottle
cd /src
git clone git://git.baserock.org/delta/ybd
git clone git://git.baserock.org/baserock/baserock/definitions
echo "base: /src" > /src/ybd/ybd.conf
echo "kbas-url: http://artifacts1.baserock.org:8000" >> /src/ybd/ybd.conf
cd definitions
# we use the recent GENIVI-K1.0 release tag
git checkout GENIVI-K1.0
# build the GENIVI Demo Platform for Jetson
/src/ybd/ybd.py systems/genivi-demo-platform-armv7lhf-jetson.morph armv7lhf
Hands-on on Baserock GENIVI Demo Platform on NVIDIA Jetson
cd /src/definitions
# deploy in place by specifying the gdp-jetson-upgrade cluster
/src/ybd/ybd.py clusters/gdp-jetson-upgrade.morph armv7lhf
You can make a local edit, then repeat the deploy, following the instructions at ybd-workflows
Deployment to Raspberry Pi2
For RPi2 it's the same process but slightly different system and cluster definitions. This work is experimental, so was not part of the GENIVI-K1.0 release.
cd /src/definitions
git checkout baserock/pedroalvarez/GENIVI-K1.0-rpi
# build the GENIVI Demo Platform for Raspberry Pi2
/src/ybd/ybd.py systems/genivi-demo-platform-armv7lhf-rpi2.morph armv7lhf
# deploy rpi image to /dev/mmcblk1 (SD card slot of a Jetson)
/src/ybd/ybd.py clusters/clusters/rpi2-gdp.morph armv7lhf
Extra things that were done to prepare
We created various servers at Scaleway, and on Moonshot, by setting the machines up for ybd as described at the start page.
There was some special configuration on the Scaleway machines so they could be accessed via web browsers:
# set a password for root
passwd
# configure and start shellinabox
systemctl enable shellinaboxd.service
systemctl start shellinaboxd.service
We ran some builds on Moonshot and Scaleway machines. One of the Moonshot cartridges was used as an artifact cache (running kbas): this was live at http://artifacts0.baserock.org:8000
Then we cloned artifacts to one of the Scaleway servers (http://artifacts1.baserock.org:8000) by running ybd there. Then we ran kbas on that so it could act as a second artifact server.