Docker environment to build meta-raspberrypi with yocto
Requirement: docker
, docker compose
- git clone
git clone https://github.com/kyoush/rpi-build.git # this repo
git submodule update --init # clone submodule
- Start Docker
docker compose up -d # build docker
docker exec -it yocto-builder bash # dive docker container, enjoy!
- Mount NFS server (Yocto cache)
$ sudo service rpcbind start # for nfs mount
$ sudo service nfs-common start # for nfs mount
$ sudo mkdir /mnt/yocto
$ sudo mount <host>:<path> /mnt/yocto # for yocto cache
- bake image
$ source poky/oe-init-build-env build
$ bitbake core-image-base
- write image to SD card
$ sudo bmaptool copy core-image-base-raspberrypi5.rootfs.wic.bz2 /dev/mmcblk0
- ホストPC上でapparmorが有効化されていると、permissionエラーでビルドできない。
WORKAROUND
:
カーネルコマンドラインオプションに、apparmor=0
を追加する。
GRUB例。/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=0"
grubの設定を更新して、再起動する
sudo grub-update
reboot
sudo aa-status # 無効化されているかどうか確認できる