[yocto] How do I control what kernel modules are being loaded?

Bruce Ashfield bruce.ashfield at windriver.com
Fri Mar 8 09:45:01 PST 2013


On 13-03-08 12:40 PM, Hans Beckérus wrote:
>
>
> 8 mar 2013 kl. 18:12 skrev Bruce Ashfield <bruce.ashfield at windriver.com>:
>
>> On 13-03-08 07:08 AM, Hans Beckérus wrote:
>>> Hi. I have built some custom kernel modules (.ko) using a .bb that
>>> inherits from the module.bbclass. There is one main kernel module and
>>> the rest are dependent on the first. Building and installing the
>>> modules to the rootfs works fine. Next question is how do I control
>>> what actual modules are loaded at boot, or actually how do I control
>>> this through Yocto? To my surprise one of the kernel module loaded
>>> automatically!? How could this happen? I did not have an entry for it
>>> in /etc/modules. And what do I need to do to actually add entries to
>>> /etc/modules? Or is there some other mechanism that I should use. I
>>> tried going through the module.bbclass but must admit I lost it
>>> somewhere in the middle ;) Any guidance would be appreciated.
>>
>> module_autoload_<module package name>, in your module recipe, will
>> trigger the load on boot.
>>
>> Cheers,
>>
>> Bruce
>>
> Great! But there must be a catch? My actual module package builds six modules. One mandatory and the rest are optional. How can it know which modules that should actually be loaded? For some to me unknown reason the mandatory one was loaded on boot even though I did nothing to my    .bb?

I'd assume that udev or some other kernel -> userspace event triggered
the load of the required module.

If you need more advanced logic than modprobe or udev/systemd can provide,
then custom startup scripts for the services would be in order.

Cheers,

Bruce

>
> Hans
>
>>>
>>> Hans
>>> _______________________________________________
>>> yocto mailing list
>>> yocto at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>




More information about the yocto mailing list