Message Board -  Archive

[ Login ] [ Create Account ]
[ Board List ] [ View Board ] [ Post Reply ]
  Author  Subject: Boot to External 1394 Drive
Archive  

Posted on 08-13-2003 12:33 p.m. ET  reply

Original Poster: Jym Williams Zavada

With Linux, there are three ways to allow the kernel to access hardware: 1)
The traditional way--compile all needed drivers into the kernel, or 2) The
"modern" way--by loading the needed driver modules at runtime, or 3) A
combination of the first two. The drawbacks to the first method are that you
have to be knowledgable enough to compile your own kernel, the drivers that
are compiled in are given a dedicated chunk of memory that cannot be regained
at runtime, and you lose flexibility. The drawback to the second method is
that if you want the kernel to be able to access hardware at boot time (to
mount an external drive, in your case), you have to have the module already
loaded prior to mounting your root filesystem.

I generally use method two, unless I have a situation similar to yours, in
which case, I use method three (I compile in the one or two needed drivers,
and load the rest at runtime). There is, however, a fourth solution: The
initrd system. This system was invented to allow the kernel to use the initrd
file at boot time as a temporary filesystem from which to load kernel modules.
However, each Linux distro has it's own way of managing the initrd system.
In addition, your boot loader (grub, lilo, etc.) has to be configured to use
the initrd file.

I personally think the initrd system is overly complicated. It's in its
infancy, each distro has it's own way of management, and the whole thing has
rather sparse documentation. So you wind up having to do a whole lot of
homework to do something that should be simple. Doing a kernel compile and
install, on the other hand, is much easier to do and extremely well
documented, and because it has been around since day one it is a very mature
process. However, you may prefer to do the initrd thing. If so, you'll need
to research how Slackware implements it so that you can use it for your
particular needs.

< Previous 1 Next >

Site Contents