tim at birdsnest.maths.tcd.ie
Thu Sep 27 01:59:43 UTC 2007
William Case wrote:
>> If you look in /lib/modules/<kernel>/ you will find a collection of
>> modules. You have to copy those as well as the kernel and initrd
>> if you want the kernel to work on your new disk.
>> A modules is essentially a piece of kernel code
>> which has been hived off, and is only loaded if required.
>> This allows the kernel to remain reasonably small.
> At the risk of making people testy, this is the easy part. There is
> lots of stuff about how modules save memory. There is lots of
> information about how they are used in initrd.
> I looked at them in /lib/modules/<kernel>/* (various and random files)
> they *seem* to give addresses. Is that what a module does? Load
> addresses for devices and/or device drivers so that the kernel can find
No, I don't think so.
The modules proper are the files with extension .ko .
They are just pieces of compiled C code.
There is a big overlap between modules and drivers,
but they are not the same.
The term driver is usually applied to code controlling hardware devices,
while modules may do other things, eg encryption.
Also a driver might be a kernel module,
or it might be in the kernel proper,
or it might be completely outside the kernel, in "userland".
More information about the users