Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Denys Dmytriyenko" <denis@denix.org>
To: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] unwanted linux kernel image added to /boot directory
Date: Tue, 16 Mar 2021 14:38:04 -0400	[thread overview]
Message-ID: <20210316183804.GI18041@denix.org> (raw)
In-Reply-To: <20210316183628.GH18041@denix.org>

On Tue, Mar 16, 2021 at 02:36:28PM -0400, Denys Dmytriyenko wrote:
> This went off the list - hope you don't mind to put it back...

And, I ended up sending it to the wrong list... Sorry.


> 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

  parent reply	other threads:[~2021-03-16 18:38 UTC|newest]

Thread overview: 10+ 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>
     [not found]     ` <20210316183628.GH18041@denix.org>
2021-03-16 18:38       ` Denys Dmytriyenko [this message]
     [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=20210316183804.GI18041@denix.org \
    --to=denis@denix.org \
    --cc=openembedded-core@lists.openembedded.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox