Date: Fri, 07 Mar 2003 20:51:19 +0000 From: Mark Murray <mark@grondar.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: Damien Tougas <damien@tougas.net>, freebsd-chat@FreeBSD.ORG Subject: Re: A question about kernel modules Message-ID: <200303072051.h27KpJIg015872@grimreaper.grondar.org> In-Reply-To: Your message of "Fri, 07 Mar 2003 11:27:46 PST." <3E68F2B2.43FB7053@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert writes: > Damien Tougas wrote: > > Is there any advantage/disadvantage to using kernel moduls vs. staticly > > linking stuff in the kernel? I would like to eliminate everything from my > > kernel config that can be loaded as a module, then load them at boot using > > loader.conf. Is there any reason I would not want to do that? It seems to m > e > > that it would make things much easier. > > Code in the boot path which must operate before the kernel is > fully up can not be handled as modules. Rubbish. Such modules may have a problem with being loaded at runtime, but they can be loaded by the bootloader. > In general, drivers which require large contiguous chunks of physical > memory (e.g. video capture cards) must obtain their memory before > much has been done, since physical memory fragments quickly under the > influence of aggressive page caching, etc.. No problem. bktr_mem is such a module. > Some interfaces do not have the indirect references necessary to > allow modules which attach to them to be dynamically loaded (e.g. > networking stacks in general, or the TCP and IP protocol boundary, > as a specific example). That may be a problem today, but it is not insurmountable. > > Why does FreeBSD not do this by default for the GENERIC kernel? > > The GENERIC kernel is loaded from a CDROM controller BIOS faked-up > floppy drive, which is how CDROMs are able to boot. Even if all > other issues were resolved, this floppy image would be unable to > contain all the necessary modules. For the modules to be read off > the CDROM or other boot media, all the code in the module loading > path would have to be statically present (ISO9660 FS, ATA and SCSI > drivers, CDROM driver, etc., etc.). By including all the drivers > in the GENERIC kernel, it makes it much more likely that you will > b able to actually install FreeBSD in the first place. 50% correct. M -- Mark Murray iumop ap!sdn w,I idlaH To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303072051.h27KpJIg015872>