0

I am trying to look at the https://layers.openembedded.org/layerindex/branch/dunfell/layers/ and add dhcp and dnsmasq to my image. My local.conf has the following line: CORE_IMAGE_EXTRA_INSTALL_append = " dhcpcd dnsmasq openssh iptables"

However, the bitbake fails with error ERROR: Nothing RPROVIDES 'dhcpcd' Layer index: https://layers.openembedded.org/layerindex/branch/dunfell/recipes/?q=dhcp ; shows multiple entries including one in openembedded-core which I believe is the meta default layer. In my pc, poky/meta shows:

classes
conf
COPYING.MIT
files
lib
recipes-bsp
recipes-connectivity
recipes-core
recipes-devtools
recipes-extended
recipes-gnome
recipes-graphics
recipes-kernel
recipes-multimedia
recipes-rt
recipes-sato
recipes-support
recipes.txt
site

Recipes-connectivity lists:

avahi
bind
bluez5
connman
dhcp
inetutils
iproute2
iw
libnss-mdns
libpcap
mobile-broadband-provider-info
neard
nfs-utils
ofono
openssh
openssl
ppp
ppp-dialin
resolvconf
socat
ssh-pregen-hostkeys
wpa-supplicant

I found the following files of importance:

dhcp/files/dhcpd.conf
dhcp/dhcp.inc
dhcp/dhcp_4.4.2.bb

Surprisingly dhcp-client in place of dhcpcd seems to work which makes no sense as there is no recipe file name with dhcp-server_...bb Looks like my yocto should find the dhcp. So why is it failing?

preetam
  • 1,451
  • 1
  • 17
  • 43

1 Answers1

0

You are using the good tools, dhcpd is indeed present in openembedded-core, but this meta is not the default one (poky/meta) !

This meta-networking is from the parent meta meta-openembedded.

You can find it on GitHub (dunfell branch).

The recipe is in meta-networking/recipes-connectivity/dhcpcd.

You can see it on the recipe description on Openembedded Layer index

You need to clone this meta and add it your setup (gbitbake-layers or manually)


You can use bitbake-layers to add/remove/create layers.

To add a layer:

bitbake-layers add-layer <path>

To show layers used:

bitbake-layers show-layers

You will find more help in the Yocto development manual


You can also modify manually your <builddir>/conf/bblayers.conf file to add the path of your layer you want to add.

PierreOlivier
  • 1,387
  • 9
  • 23
  • I understand that but my issue here is I'm not able to make out which layer provides what. I thought default recipes are present in yocto poky level for all the basic stuff like networking, bash, etc. How do I know which layer to choose and what's available as default? – preetam Aug 04 '23 at 08:48
  • @preetamI I overlooked the real question this morning, hopefully it's the weekend. I have updated my answer to correctly answer you. – PierreOlivier Aug 04 '23 at 16:28