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
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