Skip to content

amnonpaz/meta-mrobot

Repository files navigation

Yocto Layer For mrobot Project

A layer for integrating the mrobot project into Yocto build. Supports Mickeldore. Might work on previous versions down to Hardknott (tested only with Mickeldore).

Building

Assuming all Yocto's dependies are installed. Clone poky and required layers:

git clone git://git.yoctoproject.org/poky -b mickledore
git clone https://git.yoctoproject.org/meta-raspberrypi/ -b mickledore poky/meta-raspberrypi/ 
git clone https://github.com/openembedded/openembedded-core.git  -b mickledore poky/openembedded-core
git clone git@github.com:amnonpaz/meta-mrobot.git poky/meta-mrobot 

Execute:

source ./poky/oe-init-build-env rpi-build

Edit conf/bblayers.conf:

# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /home/amnon/workspace/poky/meta \
  /home/amnon/workspace/poky/meta-poky \
  /home/amnon/workspace/poky/meta-yocto-bsp \
  /home/amnon/workspace/poky/meta-raspberrypi \
  /home/amnon/workspace/poky/meta-openembedded/meta-multimedia \
  /home/amnon/workspace/poky/meta-openembedded/meta-networking \
  /home/amnon/workspace/poky/meta-openembedded/meta-oe \
  /home/amnon/workspace/poky/meta-openembedded/meta-python \
  /home/amnon/workspace/poky/meta-mrobot \
  "

Edit conf/local.conf, and set MACHINE to the proper machine type. For RPI zero w:

MACHINE = "raspberrypi0-wifi"

Build:

bitbake mrobot-rpi

Flashing an SD: CAUTION: Destination device should be set to /dev/sdX, where sdX is the SD device on your machine. Setting this to the wrong value may delete other drives, cause lose of data and even bricking your machine.

bunzip2 -c rpi-build/tmp/deploy/images/raspberrypi0-wifi/mrobot-rpi-raspberrypi0-wifi.wic.bz2 | sudo dd of=/dev/sdX bs=10M status=progress

Notes

WiFi password

For automatically connecting to a WiFi network, the network's SSID and password should be set in recipes-connectivity/wpa-supplicant/files/wpa_supplicant-nl80211-wlan0.conf. To generate a configuration file with hashed password, execute:

wpa_passphrase <SSID> <Password>

UART enable

As noted in meta-raspberrypi, enabling UART on the RPI-0-W causes performance issues. If UART is not needed, it is recommended to remove this flag.

Commercial license

Accepting "commercial" licenses is required for allowing installation of gstreamer libav & ugly plugings. If these plugins packages are not used, then commercial can be removed from the accepted list.