Skip to content

Instantly share code, notes, and snippets.

@pblxptr
Last active November 15, 2021 19:57
Show Gist options
  • Save pblxptr/23b28b00d2c21f1abfe250abb7d5390c to your computer and use it in GitHub Desktop.
Save pblxptr/23b28b00d2c21f1abfe250abb7d5390c to your computer and use it in GitHub Desktop.
Yocto

Raspberry Pi Zero W

Useful links / guides etc.

YOCTO

Resources

ESSENTIAL COMMANDS

  • bitbake core-image-minimal - build image
  • bitbake core-image-minimal -c populate_sdk - build image with sdk

USEFUL COMMANDS

  • -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.

BBAPPEND - ..bbappend pliki konfiguracyjne do budowania receptury.

Zawierają np.:

  • link do repo z kodem
  • zależności

NOWA RECEPTURA

  • dodaj recepture do katalogu, np. meta-somlabs/recipies-somlabs/somlabs-example

Przyykładowa struktura:

|-- somlabs-example 
    |-- somlabs-example
        |-- main.c
|-- somlabs-example.bb

Autostart aplikacji

W pliku .bb dla recepty należy dodać:

[...]
inherit systemd
SYSTEMD_AUTO_ENABLE = "enable"
SYSTEMD_SERVICE_${PN} = "somlabs-example.service"
[...]

Przyykładowa struktura:

|-- somlabs-example 
    |-- somlabs-example
        |-- main.c
        |-- somlabs-example.service
|-- somlabs-example.bb

Customize Busybox

  • 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]

example

UNPACK IMAGE

bzip2 -d -f core-image-minimal-raspberrypi0-wifi-20210228190520.rootfs.wic.bz2

COPY IMAGE TO SDCARD

sudo dd if=core-image-minimal-raspberrypi0-wifi-20210228190520.rootfs.wic of=/dev/mmcblk0 bs=1M status=progress

RASPBERRYPI ZERO W

  • 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

WIFI STRATEGY FOR RPI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment