AM6 Adding yocto packages

From Variscite Wiki
Adding packages to the Yocto build



General

Packages and package groups can be added to image recipes. See the Yocto Development manual for how to customize an image: https://docs.yoctoproject.org/dev-manual/customizing-images.html#customizing-images-using-custom-image-features-and-extra-image-features

Adding a package to the local build of the BSP

Search for the corresponding recipe and which layer the recipe is in. This link is a useful tool for doing so: http://layers.openembedded.org/layerindex/branch/morty/layers/

If the package is in the meta-openembedded layer, the recipe is already available in your build tree.

Add the following line to YOCTO_DIR/BUILD_DIR/conf/local.conf:

 IMAGE_INSTALL_append = " <package>"

Note: The leading white-space between the " and the package name is necessary for the append command.

If you need to add a layer to the BSP, clone or extract it to the YOCTO_DIR/sources/ directory. Then, modify YOCTO_DIR/BUILD_DIR/conf/bblayers.conf to include this new layer in BBLAYERS:

 BBLAYERS += "${BSPDIR}/sources/<new_layer>"

Webserver support

Recipes in meta-openembedded/meta-webserver/recipes-httpd:
- apache2
- cherokee
- hiawatha
- monkey
- nginx
- nostromo
- sthttpd
Recipes in poky/meta/recipes-extended/lighttpd:
- lighttpd

Although full of capabilities and features, Apache is commonly considered quite heavy, so is not generally used for embedded devices.
Nostromo and sthttpd are commonly considered ultralight webserver, with a very small set of capabilities and features, with very limited resource requirements.
The usual choice is usually between the following 5:
- cherokee
- hiawatha
- monkey
- nginx
- lighttpd
Here you can find an article comparing the above 5 webserver:
https://www.linux.com/news/which-light-weight-open-source-web-server-right-you