From: "Denys Dmytriyenko" <denis@denix.org>
To: Scott Branden <scott.branden@broadcom.com>
Cc: Khem Raj <raj.khem@gmail.com>,
Max Krummenacher <max.oss.09@gmail.com>,
openembedded-devel@lists.openembedded.org
Subject: Re: [OE-core] unwanted linux kernel image added to /boot directory
Date: Tue, 16 Mar 2021 14:36:28 -0400 [thread overview]
Message-ID: <20210316183628.GH18041@denix.org> (raw)
In-Reply-To: <45e3e633-c15b-9010-a085-e34f6d7d0d1e@broadcom.com>
This went off the list - hope you don't mind to put it back...
On Tue, Mar 16, 2021 at 10:58:22AM -0700, Scott Branden wrote:
> Hi Denys,
>
> Thanks for the excellent suggestions - they work.
> But, these seem really obscure. I think the kernel.bbclass shouldn't automatically
> be installing /boot/linux to begin with. It could be done based on an image feature
> selection?
kernel.bbclass does not populate the rootfs, it populates the corresponding
package. Any rootfs/initramfs is then built by installing necessary packages
into it. Whether to install a package or not is determined by IMAGE_INSTALL
and dependencies between the packages.
> In addition, there seems to be an additional logic error in the present image
> creation. If I do not install an external kernel module in the image then /boot/linux
> is not installed either. Simply adding an external kernel module to an image shouldn't
> pull in /boot/linux into the image?
It is not an error, but a well-defined behavior. In the link below there's a
comment about the default dependencies and how to alter them.
Basically, every kernel-module-* RDEPENDS on kernel-base, which normally
RDEPENDS on kernel-image. So, when you insall a module into your rootfs, it
follows the dependency chain properly. Hence all the suggestions you received
to simply disconnect kernel-image from kernel-base.
That normally works for most cases, unless you need a mixed behavior that I
mentioned. Hence, ROOTFS_POSTPROCESS_COMMAND trick.
> On 2021-03-15 4:57 p.m., Denys Dmytriyenko wrote:
> > On Mon, Mar 15, 2021 at 04:39:56PM -0700, Scott Branden via lists.openembedded.org wrote:
> >> Hello,
> >>
> >> There seems to be a problem when a kernel module is added to an initramfs
> >> image.
> >>
> >> As soon as I add a recipe which installs an external kernel module into an
> >> initramfs image it automatically installs the linux kernel image in a /boot
> >> directory.
> >>
> >> This is really bad as it increases the size of the initramfs image.
> >>
> >> /boot/Image should not be installed in the image when an external kernel
> >> module is added to an image.
> >>
> >> Can someone suggest a fix to this issue?
> >
> > There is an ages-old control knob for that, read here:
> > https://git.openembedded.org/openembedded-core/tree/meta/classes/kernel.bbclass#n623
> >
> > In your machine or distro config, you can set this as:
> > RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
> >
> > But that will affect all your images for a given machine. If you need to only
> > do it selectively for your initramfs image, but keep the standard behavior for
> > other images, you can do something like this in corresponding recipe:
> >
> > ROOTFS_POSTPROCESS_COMMAND += "empty_boot_dir; "
> > empty_boot_dir () {
> > rm -rf ${IMAGE_ROOTFS}/boot/*
> > }
--
Regards,
Denys Dmytriyenko <denis@denix.org>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964
next prev parent reply other threads:[~2021-03-16 18:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-15 23:39 unwanted linux kernel image added to /boot directory Scott Branden
2021-03-15 23:49 ` [OE-core] " Khem Raj
2021-03-16 0:12 ` Denys Dmytriyenko
2021-03-15 23:57 ` Denys Dmytriyenko
[not found] ` <45e3e633-c15b-9010-a085-e34f6d7d0d1e@broadcom.com>
2021-03-16 18:36 ` Denys Dmytriyenko [this message]
2021-03-16 18:38 ` Denys Dmytriyenko
[not found] <166CA878538D6557.30053@lists.openembedded.org>
2021-03-16 3:13 ` Scott Branden
2021-03-16 10:47 ` Max Krummenacher
2021-03-16 16:55 ` Khem Raj
2021-03-16 17:39 ` Denys Dmytriyenko
2021-03-16 18:24 ` Denys Dmytriyenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210316183628.GH18041@denix.org \
--to=denis@denix.org \
--cc=max.oss.09@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
--cc=raj.khem@gmail.com \
--cc=scott.branden@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.