Hi,
On Tue, Mar 25, 2008 at 03:50:28PM +0100, Klaus Stammermann wrote:
But the IDE controller and CF card is not found by the kernel. It does not even look for them. Please make sure you use a kernel which has built-in support for whatever hardware you need in order to boot your system, unless you also specify a ramdisk that FILO should load.
Starting my systems with original BIOS installed OS (zenwalk) starts without any problems. But just changing BIOS to coreboot posted problems raise. So I don't think this could be a problem on used kernel.
I think it is, sort of.
Because of changing BIOS I think something in coreboot is different to original BIOS.
You are quite right.
But I don't know what this could be. So I hope some here could give me a hint.
The difference is in the boot loader step.
A BIOS will load code in the boot sector on the first hard drive, and execute it. This is typically GRUB or LILO code as installed into the boot sector when the operating system was installed or when the kernel was last upgraded. This first piece of code can only be a few hundred bytes and must use the BIOS in order to read from hard drives, and because of the space constraints anything but a very simplistic interface to the hardware is impossible.
The early code needs to know where on the disk a kernel and possibly a ramdisk can be found, so that it can load them. Where and how this is stored depends on which bootloader is installed.
Coreboot is much more flexible. It does not load an operating system from disk, but rather it starts a "payload" that is flashed into the boot flash memory. You are using FILO as payload.
FILO has an IDE driver and knows about various filesystems. FILO will load a kernel and a ramdisk from a hard drive but the location needs to be specified, just as for the other boot loaders GRUB or LILO.
It is common for mainstream Linux distributions to always install a ramdisk as part of the boot process in order to more easily have a single package that works on every single PC. I do not like this approach at all, it is too error prone, but I digress.
It seems that the SuSE kernel that FILO is booting does not even have built-in IDE drivers and my guess is that these drivers are modules stored in the ramdisk and only loaded on systems which actually have an IDE controller.
But you did not specify the path of the ramdisk to FILO, so now the kernel is trying to start without the ramdisk, and since the SuSE kernel isn't designed to work like that, booting fails.
Try to find out what your previous bootloader was configured to do. Look for /etc/lilo.conf or /boot/grub/grub.conf or some other config file that will list all neccessary parameters.
Hope this helps.
//Peter