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

Re: custom kernel without initrd and with udev

On 07/07/12 00:08, Mike McClain wrote:

     While surely no expert I've been building my own kernels for
a long time with little trouble but with a recent install of
'Squeeze' I'm stumped. I've built, reconfigured, built again for
several days now. No joy. I've spent hours Googling for any and
everybody's thoughts on the error: 'Kernel panic - not syncing:
VFS: Unable to mount root fs on unknown-block(0,0)' with little luck.

     Some one did suggest I decompile the initrd that shipped with
the install. On doing that I discovered that the device files for
the harddrive are created before the drive is mounted. Booting an
'Etch' partition I see that Squeeze's /dev/ is all but empty when
Squeeze is not running which may have something to do with the
failure to mount the root partition.

     Is anyone running a custom kernel without an initrd with udev?

Yes, I am. Although I believe there are some circumstances where this may not be possible. eg. where something else needs to be started in order to mount the root filesystem first.

Some of my older machines (kept running for sentimental reasons) need an old ATA/IDE driver that the current Debian kernels do not include.

Any tips, pointers will be appreciated.

Make sure that *all* filesystem and device drivers for your root partition are compiled directly into the kernel - not as modules.

Look at what modules are used from your initrd and compile those into your kernel

In fact, if you are building a kernel specifically for one box (or a set of similar boxen), it is a good idea to have all/most hardware drivers built-in. I only have external peripherals (USB/cardbus devices) built as modules.


Reply to: