aboutsummaryrefslogtreecommitdiffstats
Cloning this repo
-----------------

$ git clone --recurse-submodules git://git.kernel.org/pub/scm/linux/kernel/git/rw/yocto-rpi-example.git

OR

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/rw/yocto-rpi-example.git
$ cd yocto-rpi-example
$ git submodule update --init --recursive

Required Packages for the Build Host
------------------------------------

Debian/Ubuntu:

$ apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
     xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
     pylint3 xterm make xsltproc docbook-utils fop dblatex xmlto

Fedora:

$ dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \
     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
     ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
     python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
     python3-jinja2 SDL-devel xterm rpcgen docbook-style-dsssl docbook-style-xsl \
     docbook-dtds docbook-utils fop libxslt dblatex xmlto

SUSE:

$ zypper install python gcc gcc-c++ git chrpath make wget python-xml \
     diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
     python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel xterm rpcgen pip3 \
     install GitPython dblatex xmlto


When not building one of the above distros, please use docker or some chroot.

This repo contains an example Ubuntu container.

$ cd docker
$ docker build --build-arg UID=$(id -u) -t yocto_builder .
$ docker run -it -v /path/to/yocto-rpi-example:/home/builder/yocto yocto_builder
container$ cd /home/builder/yocto/

Building
--------

Open init.sh and set MACHINE either to raspberrypi4-64 or raspberrypi3-64.
Other variants should work too, but are untested.

Source the init.sh script and use bitbake

$ . init.sh
$ bitbake its-image

The final image will be tmp/deploy/images/raspberrypi4-64/its-image-raspberrypi4-64.wic.bz2

You can flash it into you SDCard using dd. e.g
$ bzcat its-image-raspberrypi4-64.wic.bz2 | dd of=/dev/mmcblk0 bs=32M