Hi Adrian,

On Thu, Mar 19, 2026 at 08:54:35AM +0000, Freihofer, Adrian wrote:
> Hi Franceso
> 
> Thank you for the patches.
> 
> On Thu, 2026-03-19 at 00:30 +0100, Francesco Valla wrote:
> > Add a new recipe for the bootconfig tool, with source coming directly
> > from the kernel shared workdir.
> > 
> > Signed-off-by: Francesco Valla <[email protected]>
> > ---
> >  meta/recipes-kernel/bootconfig/bootconfig.bb | 44
> > ++++++++++++++++++++++++++++
> >  1 file changed, 44 insertions(+)
> > 
> > diff --git a/meta/recipes-kernel/bootconfig/bootconfig.bb
> > b/meta/recipes-kernel/bootconfig/bootconfig.bb
> > new file mode 100644
> > index
> > 0000000000000000000000000000000000000000..77ee70dd1839ef90a292cf829f4
> > f3a4353f85c28
> > --- /dev/null
> > +++ b/meta/recipes-kernel/bootconfig/bootconfig.bb
> > @@ -0,0 +1,44 @@
> > +SUMMARY = "Apply, delete or show boot config"
> > +DESCRIPTION = "bootconfig is a tool that can be used to add a boot
> > config block \
> > +at the end of a kernel initramfs, as well as remove it or show its
> > content."
> > +LICENSE = "GPL-2.0-only"
> > +
> > +inherit kernelsrc kernel-arch
> > +
> > +do_populate_lic[depends] += "virtual/kernel:do_shared_workdir"
> > +do_configure[depends] += "virtual/kernel:do_shared_workdir"
> > +
> > +EXTRA_OEMAKE = "\
> > +    -C ${S}/tools/bootconfig \
> > +    O=${B} \
> > +    CROSS=${TARGET_PREFIX} \
> > +    CC="${CC} ${DEBUG_PREFIX_MAP} -ffile-prefix-
> > map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} ${CFLAGS}" \
> > +    HOSTCC="${BUILD_CC} ${BUILD_CFLAGS}" \
> > +    LD="${LD}" \
> > +    AR=${AR} \
> > +    ARCH=${ARCH} \
> > +    V=1 \
> > +    'DESTDIR=${D}' \
> > +    'prefix=${prefix}' \
> > +    'bindir=${bindir}' \
> > +"
> > +
> > +do_compile() {
> > +   oe_runmake ${B}/bootconfig
> > +}
> > +
> > +do_install() {
> > +   install -d ${D}${bindir}
> > +   oe_runmake install
> > +}
> > +
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> 
> This is not understandable to me. From the description I would assume 
> this tool runs on the host machine.
> 

I probably overthought the usecases here, with bootconfig being used on
the target for on-the-fly bootconfig modification. But this wouldn't
work with a FIT image obviously.

> > +
> > +python do_package:prepend() {
> > +    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> > +}
> > +
> > +B = "${WORKDIR}/${BPN}-${PV}"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> 
> If the tool runs on the host machine, should this not be a pure -native
> recipe without this line e.g. named bootconfig-native.bb
> 
> Is bootconfig a good name for a recipe? Or should it be e.g. linux-
> bootconfig-native.bb?
> 

linux-bootconfig is a good name, I'll go with it in the next revision.

> 
> Side note: We need to be careful not to create a dependency of the
> initramfs on the kernel build directory. Such a dependency would
> essentially invalidate the sstate-cache for the kernel, which we want
> to avoid.

Agreed, one of the unpoken reasons for the RFC label is that the
reasoning about dependencies has not been completed yes. I'm still
facing challenges e.g. for FIT vs WIC cross-dependencies when a
dm-veriry rootfs is used and its parameters are inserted into the FIT
image that lives in the boot partition.
But I wanted to gather a first round of impressions with a (working)
first version while working on it.

> 
> Regards,
> Adrian

Thank you!

Reagrds,
Francesco

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#233608): 
https://lists.openembedded.org/g/openembedded-core/message/233608
Mute This Topic: https://lists.openembedded.org/mt/118392647/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to