AM6 Adding yocto packages
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