Search code examples
linuxyoctobitbakeopenembeddedkeyboard-layout

Where can I find Yocto "sub"-packages not listed in OpenEmbedded layer index like "kbd-keymaps"?


I just tried to build the Yocto core-image-minimal and was not able to change the keyboard layout using "loadkeys de".

So I googled a bit and found, that I have to add "kbd-keymaps" to IMAGE_INSTALL_append. Then it worked perfectly fine.

Afterwards I found https://layers.openembedded.org/layerindex/branch/master/recipes/ and saw that the package is not listed there.

Instead I only found just "kbd" and just "keymaps" as separate packages. But when only installing these instead of kbd-keymaps, "loadkeys de" did not work. kbd was installed then but NOT the accordant keymaps under "usr/share/keymaps".

So my question is: Where are such packages like "kbd-keymaps" officially listed? (Google only shows forum entries of experienced users knowing about that package name and on the kbd project page I also didn't find anything about the keymaps package)


Solution

  • Look at http://layers.openembedded.org/layerindex/recipe/595/

    A recipe is set of input rules to build a package, which can however generate different output packages for keeping the install size small the output artifacts may be bundled into different ipk/rpm output packages. So in this case input recipe is 'kbd' so when building you would do

    bitbake kbd

    but then when adding what you need into image you have to add the names of output packages generated from build. Hopefully that explains the crucial difference between recipe and package, what you add into IMAGE_INSTALL is name of output package. So in this case you will still add

    IMAGE_INSTALL_append = " kbd-keymaps"

    this would result in building kbd recipe and the use the kbd-keymaps package ( ipk/rpm/deb ) from it.

    Hope that helps.

    You can also use oe-pkgdata-util utility to inspect the recipes and packages.