A couple of thoughts:
1) A full kernel with everything compiled in might not fit on boot media
such as floppies, while modules allows you to not load stuff that isn't
needed to until after the main booting is accomplished.
2) There are several devices that have multiple drivers (such as tulip,
and old_tulip for example). Which particular driver works depends on
your exact particular hardware. If both of these drivers are linked
into the kernel, whatever the kernel chooses to initialize first will
talk to the device.
3) Having drivers as modules means that you can remove them and reload
them. When I was working in an office, I had one scsi controller that
was a different brand (Adaptec) than the main scsi controller (TekRam),
and I hung a disk in a removable chasis on the scsi chain in addition
to a tape driver and cd-rom. When I was about to go home, I would copy
all of the data to the disk, unmount it, and then unload the scsi
device driver. I would take the disk out, and reload the scsi device
driver to get the tape/cd-rom. I would then take the disk to my home
computer. I would reverse the process when I came in the morning.
4) If you have multiple scsi controllers of different brands, building on
into the kernel and the other brand(s) as modules allows you to control
which scsi controller is the first controller in terms of where the
disks are.
-- Michael Meissner, Red Hat, Inc. (GCC group) PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA Work: meissner@redhat.com phone: +1 978-486-9304 Non-work: meissner@spectacle-pond.org fax: +1 978-692-4482 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/