[OE-core] [PATCH 1/1] kernel.bbclass: Remove warnings for modutils and modprobe.d

Darren Hart dvhart at linux.intel.com
Fri Mar 9 23:58:31 UTC 2012



On 03/08/2012 09:39 AM, Mark Hatle wrote:
> On 3/7/12 11:04 AM, Darren Hart wrote:
>>
>>
>> On 03/07/2012 12:21 AM, Koen Kooi wrote:
>>>
>>> Op 7 mrt. 2012, om 09:06 heeft Darren Hart het volgende geschreven:
>>>
>>>> Fixes [Yocto #2036]
>>>>
>>>> The source and build directories are unused, remove them.
>>>>
>>>> The modutils and modprobe.d directories may be used if modules are built that
>>>> are either autoloaded or have modprobe.d entries. This isn't known at install
>>>> time, so check after the package split if these directories are empty and
>>>> remove them if they are.
>>>>
>>>> Signed-off-by: Darren Hart<dvhart at linux.intel.com>
>>>> CC: Paul Eggleton<paul.eggleton at linux.intel.com>
>>>> ---
>>>> meta/classes/kernel.bbclass |   10 ++++++++++
>>>> 1 files changed, 10 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>>>> index 8fbec90..169df33 100644
>>>> --- a/meta/classes/kernel.bbclass
>>>> +++ b/meta/classes/kernel.bbclass
>>>> @@ -105,6 +105,8 @@ kernel_do_install() {
>>>> 		oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
>>>> 		rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.order"
>>>> 		rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.builtin"
>>>> +		rm "${D}/lib/modules/${KERNEL_VERSION}/build"
>>>> +		rm "${D}/lib/modules/${KERNEL_VERSION}/source"
>>>
>>> How do you want to support on-target building of exernal modules?
>>
>> That is an open issue that needs to be addressed, but we don't install
>> the build or source directories now (unless I'm missing something), so
>> these are links to nowhere at the moment.
>>
>> We do have a bug open to support on-target module building. I supect
>> we'll need to add these as part of a headers package or similar. So
>> these may come back.
>>
> 
> Just as a note..  headers package(s) are the wrong way to support kernel modules 
> compilation on the target.  You really need to supply a configured kernel source 
> tree --- often you can dump the .c files though.  Kernel headers (for module 
> compilation) and userspace are often intentionally different.. and people get 
> this confused often.  (I can't express how often I've had to convince someone 
> that, no you can't guaranty a working kernel module from the stuff in /usr/include!)
> 
> The right approach is to provide, as part of the kernel itself, a source 
> tree/headers package tha installes into the 
> "{D}/lib/modules/${KERNEL_VERSION}/source" (or similar) directory, and instruct 
> people to use that location when building kernel modules on the target.

Understood. The terminology is a bit loose I guess. I understand the
distinction between linux-libc-headers and the "kernel-headers" that
most distros provide for building modules.


-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel




More information about the Openembedded-core mailing list