[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2.6 compilation woes...



Doofus wrote:
Colin wrote:

Doofus wrote:
Now I'm bamboozled. If I compile a kernel using the identical .config
file that was used to compile the working and running kernel and it
won't boot properly, then my powers of fault finding dry up. I'd be
mightily grateful if anyone can give me any ideas as to where the
problem may lie, or other things to try.


If you're compiling the kernel The Debian Way(tm), then you're missing
one critical option:

--initrd

This option will create an initrd file which contains a whole lot of
kernel modules which may or may not be used on your system.  This file
is loaded when booting the system.  If the filesystem is specified as a
kernel module and you don't create a initrd file, then the kernel
modules are _not_ loaded on startup so the system does not know how to
read your filesystem.

In short, you have two options: create an initrd file with your kernel
or compile the options you want directly into the kernel (namely your
filesystem and IDE controller).


Colin,

You're right of course, and I think I'm there now.
Even though I'd compiled reiserfs and ext2fs into the kernel, all the IDE drivers were still modularised, so linking these into the kernel got the machine booted ok.

My question now is: which is the better kernel build method, initrd where everything can be just modularised and there's not much else to worry about, or compiling the necessary core drivers into the kernel and loading other modules on-the-fly as needed (which is what I've always done with 2.4 kernels)? The first of these seems clearly the easier path to take, but isn't the second methos using kmod a better/more optimum method?


Without using initrd the kernel will boot faster;
The reason distribution kernels always use initrd is, that way they can have just all modules and only those needed for the used hardware will stay in memory; having all builtin would take more memory after the boot
As someone else noted, ensure support for your hard disk is also builtin

You're almost there probably (note that it's probably just as hard to use the config file of the distribution 2.4.x kernels, those use initrd too)

HTH,

Joris



Reply to: