Bug 2952 - Require the ability to have Yocto install the kernel modules in the root filesystem but not the bzImage
Summary: Require the ability to have Yocto install the kernel modules in the root file...
Status: RESOLVED INVALID
Alias: None
Product: Kernel
Classification: Yocto Project Subprojects
Component: kernel-tooling (show other bugs)
Version: 1.3
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 1.3
Assignee: Bruce Ashfield
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2012-08-16 09:38 UTC by John Toomey
Modified: 2012-08-20 11:16 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Toomey 2012-08-16 09:38:41 UTC
By using IMAGE_INSTALL += 'kernel-modules' in our image recipe we can have the modules installed in /lib on the root file system but this also causes the kernel bzImage to be installed in /boot which is not required because we have the kernel loading from elsewhere. 

This is an issue because size is a constraint and including the kernel pushes the size of the root file system over our limit. The recipe we are using is based on core-image-minimal.bb.
Comment 1 Bruce Ashfield 2012-08-17 19:27:51 UTC
Can you attach the output of bitbake -e <your image> ? 

It's the kernel-image package that adds /boot and the kernel image, and it isn't triggered 
by the kernel-modules package. kernel-image is in the kernel-modules blacklist, so won't be added to it as a runtime dependency.

There must be something else adding this depencency, and the environment dump may show it.
Comment 2 Paul Eggleton 2012-08-20 11:16:20 UTC
The dependency is introduced by this line:

do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % d.getVar("KERNEL_VERSION", True))

kernel-${KERNEL_VERSION} is provided by kernel-base, and kernel-base RDEPENDS upon kernel-image - although this part is optional. John has changed the latter in his kernel recipe and the kernel-image is no longer pulled in.

I'm marking this as resolved, but I do think we need to document this clearly.