Bug 2952

Summary: Require the ability to have Yocto install the kernel modules in the root filesystem but not the bzImage
Product: [Yocto Project Subprojects] Kernel Reporter: John Toomey <john.toomey>
Component: kernel-toolingAssignee: Bruce Ashfield <bruce.ashfield>
Status: RESOLVED INVALID QA Contact:
Severity: enhancement    
Priority: Medium CC: bluelightning, sgw, yp.kernel.watcher, yp.watcher
Version: 1.3   
Target Milestone: 1.3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

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.