I'm trying to understand a few pieces associated with using bitbake to compile the linux image and generating a boot image that would be used to flash onto the processor.
- How come
bitbake virtual/kernelreally works? Read through section 2.3 and it says recipes usePROVIDESparameter to add an extra provider, which indicates a recipe could be called in multiple ways (by its name, and by whateverPROVIDESis set to). But the kernel recipes (../poky/meta-bsp/recipes-kernel) I checked didn't havePROVIDESparameter let alone it being set tovirtual/kernel. - Upon running
bitbake virtual/kernel, how come aboot.imgis being generated when it should only just be generating a linux binary i.evmlinuxfor instance? In one of the kernel.incfiles, I see:
DEPENDS += " mkbootimg-native openssl-native kern-tools-native"
...
FILESPATH =+ "${WORKSPACE}:"
SRC_URI = "file://kernel \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://systemd.cfg', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'file://virtualization.cfg', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'nand-squashfs', 'file://squashfs.cfg', '', d)} \
mkbootimg-native I reckon refers to the boot image recipe that the kernel recipe depends on, though shouldn't it be the other way around since the boot image should contain the kernel image itself?
- lastly, is there a way to put debug prints in different recipe files to see if it's being invoked? I tried
echo...to no avail