Hello,
thank you for your reply.
I have a working solution now, but it is not as clean as i would like it to be
and some new questions arose with it.
My current setup consists of a busybox.bbappend file that is used to customize
the rootfs
busybox (defconfig, some /etc files and so on) and a busybox-initramfs.bb
recipe for the initramfs busybox (as you
suggested).
The busybox.bbappend (see below) is straight forward, so no problem with that.
To create the busybox-initramfs.bb in my custom layer, i have included the base
busybox recipe from the meta layer with
an 'require' statement.
Then i had to extend the FILESEXTRAPATHS variable to point back to the base
recipe files-directory since it
no longer found the SRC_URI files from meta/busybox.bb and meta/busybox.inc.
See the BUSYBOXBASEDIR
variable in the busybox-initramfs.bb below.
I feel that his construct is not that elegant, so here comes the first question:
Is there a nicer/cleaner way to include/reference the source files from the
base busybox recipe in the meta layer?
The second question concerns the versioning: The busybox.bbappend file uses a
'version wildcard' (_%) to
match all versions of the base busybox recipe. But in the busybox-initramfs.bb
recipe i have to hardwire the
version of the base recipe.
How can i use a 'version wildcard' in a 'require' statement?
I've tried 'require recipes-core/busybox/busybox_%.bb' but that gives me a
parse error so it seems not to be
possible to use version wildcards together with require/include.
My current busybox-initramfs.bb recipe:
-------------------------------------------------------------------
DESCRIPTION = "Use different busybox defconfig for initramfs."
# require recipes-core/busybox/busybox_1.22.1.bb
PV = "1.22.1"
require recipes-core/busybox/busybox_${PV}.bb
S = "${WORKDIR}/busybox-${PV}"
# Point FILESPATH to base busybox files dir
BUSYBOXBASEDIR = "${THISDIR}/../../../meta/recipes-core/busybox"
FILESEXTRAPATHS_prepend := "${BUSYBOXBASEDIR}/busybox:"
FILESEXTRAPATHS_prepend := "${BUSYBOXBASEDIR}/files:"
# Include our initramfs busybox defconfig
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
BUSYBOX_SPLIT_SUID = "0"
-------------------------------------------------------------------
The busybox_%.bbappend for the rootfs busybox:
-------------------------------------------------------------------
DESCRIPTION = "Customize busybox."
# Include our rootfs busybox defconfig
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI += " \
file://inetd.conf \
"
do_install_append() {
install ${WORKDIR}/inetd.conf ${D}${sysconfdir}
}
BUSYBOX_SPLIT_SUID = "0"
-------------------------------------------------------------------
Best Regards, Erwin Rieger
-----ChenQi <[email protected]> schrieb: -----
An: <[email protected]>, <[email protected]>
Von: ChenQi <[email protected]>
Datum: 03.02.2015 02:48
Betreff: Re: [yocto] How to use different busybox defconfig's in the initramfs
and rootfs image
The only way I know is to make a new recipe, busybox-initramfs.bb, for example.
Install busybox for image rootfs and busybox-initramfs for initramfs.
Best Regards,
Chen Qi
On 02/02/2015 09:21 PM, [email protected] wrote:
Hello list,
i have used Yocto to create a initramfs linux kernel and a corresponding rootfs
for a embedded linux system.
Things are working as expected, so far.
Now i want to fine-tune my setup and want to use a different busybox
configuration in the initramfs as the one in the rootfs image.
For example, the initramfs busybox should contain support for switch-root and
that is not needed in the rootfs.
On the other hand, the rootfs should contain a "full-fledged" busybox (with
inetd enabled, for example).
So the question is: How can i build/install a package two times with differing
configurations in one bitbake run?.
How can this be done the Yocto-way without copying busybox.bb and hacking it
the way i need it?
I've tried various combinations, e.g. bb-appending busybox, inheriting from
busybox and so on - but to no avail.
Maybe someone have an idea on how to do that?
PS:
* The kernel recipe is derived (bbappend) from core-image-minimal-initramfs.
* Rootfs recipe is derived from core-image-minimal.bb.
--
Erwin Rieger
--
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto