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:
Note: The leading whitespace 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:
Web server 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 web servers, with a very small set of capabilities and features, with very limited resource requirements.
The usual choice is between the following 5:
- cherokee
- hiawatha
- monkey
- nginx
- lighttpd
Here you can find an article comparing the above 5 web servers: https://www.linux.com/news/which-light-weight-open-source-web-server-right-you