loading modules

Kevin Alm kevinalm at shenessex.heartland.net
Thu Feb 26 13:59:29 PST 2004


> <snip>
>
> > Without an initrd containing the ide-scsi module, a kernel line arg
> > hd?=ide-scsi will fail.
> > This is because when the kernel tries to
> > install ide-scsi support via the kernel line arg, the
> > /lib/modules/<version> filesystem usually isn't mounted.
>
> I am a little confused by this. I never expected the kernel to load the
> module at the time it encountered the kernel option.  I thought it was
> only there to keep the cdrom device from being claimed by the ide
> driver.  I assumed that when an application needed the cdrom then the
> kernel would load it.
>
>
hd?=ide-scsi is a directive to load the ide-scsi module. If it fails, the 
kernel will try to fall back to ide-cd. If ide-cd is compiled in then it will 
succeed with ide-cd locking out ide-scsi. (At least I've never found a way to 
get ide-cd to release a drive.)  This all happens before mounting the 
filesystems, so the /lib/modules/<version> isn't available, the only place to 
get kernel modules is the initrd. 

I had never heard of the ide-cd ignore trick. Using that, the kernel might 
autoload ide-scsi. But I suspect that ide-cd ignore is also an immediate 
command, and ide-cd might load instead, unless you manually modprobe ide-scsi 
first. (Or put it in the startup scripts.) The crux of the matter is that 
ide-cd/ide-scsi are a fairly low level part of the os. The kernel tries to 
grab the cd drives as soon as possible one way or the other, and doesn't want 
to let go.

Kevin




More information about the blfs-support mailing list