Raspberry Pi Zero W
- Doc
- https://jumpnowtek.com/rpi/Raspberry-Pi-Systems-with-Yocto.html
- https://www.youtube.com/watch?v=MjJw3c_5VC0
- Yocto compatible layers, contains e.g. meta-bsp for rpi etc. Should be first choice
- General layer index, Should be second choice:
- http://git.yoctoproject.org/cgit/cgit.cgi/poky/- meta-poky reference layer, contains tools to build project
- http://git.openembedded.org/meta-openembedded - meta-openembedded a layer that contains all useful tools across the embedded world.
- https://www.yoctoproject.org/docs/2.7/ref-manual/ref-manual.html#ref-features - features shipped by YOCTO project
- bitbake core-image-minimal - build image
- bitbake core-image-minimal -c populate_sdk - build image with sdk
- -g - create dependency graph e.g. bibake -g foo example
MACHINEL_EXTRA_RRECOMMENDS_append - do obrazu (NIE DLA obrazów typu core-image) dodane zostaną zdefiniowane paczki (np. sterownik wifi) CHYBA, że taki steronik znajduje się już w kernelu. Wtedy nie zostanie dodany, ale build się nie wywali.
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_append - do obrazu (nawet bazującego na core-image) dodane zostaną zdefiniowane paczki (np. sterownik wifi) CHYBA, że taki steronik znajduje się już w kernelu. Wtedy nie zostanie dodany, ale build się nie wywali.
Zawierają np.:
- link do repo z kodem
- zależności
- dodaj recepture do katalogu, np. meta-somlabs/recipies-somlabs/somlabs-example
|-- somlabs-example
|-- somlabs-example
|-- main.c
|-- somlabs-example.bb
W pliku .bb dla recepty należy dodać:
[...]
inherit systemd
SYSTEMD_AUTO_ENABLE = "enable"
SYSTEMD_SERVICE_${PN} = "somlabs-example.service"
[...]
|-- somlabs-example
|-- somlabs-example
|-- main.c
|-- somlabs-example.service
|-- somlabs-example.bb
- bitbake -c menuconfig busybox - opens menuconfig for busybox package
- bitbake -c diffconfig busybox -> creates fragment to use in .bbappend
- recipetool appendsrcfile -w [path to layer] busybox [path to fragment generated in step #2]
bzip2 -d -f core-image-minimal-raspberrypi0-wifi-20210228190520.rootfs.wic.bz2
sudo dd if=core-image-minimal-raspberrypi0-wifi-20210228190520.rootfs.wic of=/dev/mmcblk0 bs=1M status=progress
- mkdir project && cd project
- mkdir sources && cd sources
- git clone -b gatesgarth git://git.yoctoproject.org/poky
- git clone -b gatesgarth git://git.openembedded.org/meta-openembedded
- git clone -b gatesgarth git://git.yoctoproject.org/meta-raspberrypi
- cd .. && source sources/poky/oe-init-build-env build
- cd build
- bitbake-layers add-layer ../sources/meta-raspberrypi (you have to be in build directory)
- echo 'MACHINE = "raspberrypi0-wifi"' >> conf/local.conf
- https://www.yoctoproject.org/pipermail/yocto/2018-June/041372.html
- https://github.com/drewmoseley/meta-wifi-credentials/blob/master/sysvinit/recipes-connectivity/wpa-supplicant/wpa-supplicant_%25.bbappend - multiple ways to enable wlan configuration
- https://raspberrypi.stackexchange.com/questions/48351/configure-wlan-for-raspberrypi3-using-image-created-with-yocto - adding broadcom drivers to kernel
- https://raspberrypi.stackexchange.com/questions/48351/configure-wlan-for-raspberrypi3-using-image-created-with-yocto