AM6 Adding yocto packages

From Variscite Wiki
Adding packages to the Yocto build


                                                                                                                                                                                                                                                                                                                                           Expression error: Unexpected >= operator.                             Expression error: Unexpected >= operator.                                                                                                                                                    

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