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/kernel
really works? Read through section 2.3 and it says recipes usePROVIDES
parameter to add an extra provider, which indicates a recipe could be called in multiple ways (by its name, and by whateverPROVIDES
is set to). But the kernel recipes (../poky/meta-bsp/recipes-kernel
) I checked didn't havePROVIDES
parameter let alone it being set tovirtual/kernel
. - Upon running
bitbake virtual/kernel
, how come aboot.img
is being generated when it should only just be generating a linux binary i.evmlinux
for instance? In one of the kernel.inc
files, 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