This project is for building yocto image for chipsee device using docker.
(Currently under development)
Only runs on qemu right now.
https://wiki.yoctoproject.org/wiki/Releases
Codename | Yocto Project Version | Release Date | Current Version | Support Level | Poky Version | BitBake branch |
---|---|---|---|---|---|---|
Dunfell | 3.1 | April 2020 | 3.1.15(March 2022) | LTS (until Apr. 2024) | 23.0 | 1.46 |
- Install build packages required to successfully build yocto based operating system into docker container.
- Clone
poky
. It is a reference distribution of theyocto
used to bootstrap the linux distribution. - Setup hardware layers. A layer is a set of instructions and a hardware layer(or BSP Layer) defines instructions to interact with specific board. You have to search for a BSP layer compatible for the board type using this website https://git.yoctoproject.org/.
- Setup software layer. A software later is used to install applications to yocto disto.
- Setup environment by sourcing build env of poky
oe-init-build-env
. This will generate the build folder with 3 types of config-bblayers.conf
- it tells BitBake what layers you want considered during the build.local.conf
- contains local configuration packages.templateconf.cfg
- contains relative path to the poky's meta-poky configuration files.
- Update
bblayers.conf
andlocal.conf
as per requirement. - Start build using
bitbake
. It executes the tasks provided in the recipe. - To add custom drivers layer -
bitbake-layers create-layer ../meta-chipsee
creates layer named meta-chipseebitbake-layers add-layer ../meta-chipsee
to add layer meta-chipsee to bitbake buildbitbake-layers show-layers
to list the layer. Confirm if you can seemeta-chipsee
on the list.- Create a recipe for drivers.
- Copy
poky/meta-skeleton/recipes-kernel/hello-mod
tometa-chipsee/recipies-chipsee
. And replace driver files inrecipies-chipsee
. Editsite.conf
and addIMAGE_INSTALL_append += "driver_name"
KERNEL_MODULE_AUTOLOAD += "driver_name"
. This will add bitbake to install driver recipe at image build. - Create DriverTree for drivers by running
recipetool appendsrcfile path/to/meta-chipsee virtual/kernel /path/to/your.dts 'arch/${ARCH}/boot/dts/your.dts'
- Edit
site.conf
and addKERNEL_DEVICETREE += "your.dtb"
- run
bitbake -c cleansstate <RECIPE_NAME>
to clean any corrupted recipe state. - Test recipe by running
yocto-check-layer ../meta-chipsee
. Before running this command make sure that this recipe is not included in thebblayers.conf
- Copy
./make build
: builds OS./make clean
: cleans build folder (except downloads and sstate-cache directory)./make run
: runs OS using qemu
OS image will be generated on build/tmp/deploy/images
folder.