The boot sequence often uses a RAM disk containing a file system image containing modules required for the boot sequence. This way, you can modularise your system but still refer to some modules before they are 'properly' loaded This is handled by the initrd file. Examples would be loading modules for SCSI drivers and file systems needed to read the disk during boot up. Eg, the /boot partition using the ext3 filesystem on a scsi disk.
I would think your lilo config file refers to an initrd
file, eg:
initrd=/boot/initrd-2.4.7.img
but the kernel has been compiled without RAM disk support - or with it itself as a module.
Initial ram disks (initrd) are used to provide access to drivers needed to complete the boot process. Normally this is when you have scsi disks (or other non-ide disks such as raid, etc.) to get over the catch-22 situation of the kernel not being able to load anything from disk until it can load drivers to access the disk in the first place.
As Norwich suggests, it is highly unlikely that an off-the-shelf kernel provided by any main distro would not have initrd support. However, if you compiled a custom kernel and chose to 'compile in' all the stuff for your scsi etc. hardware then you wouldn't actually need the initrd anymore anyway. If you left the scsi, etc., as modules the you would need initrd support and to create an initrd for the new kernel (with mkinitrd).
I don't know how sophisticated that KDE tool is but, for example, if you started with a stock kernel that needed an initrd then you added a custom-built image that didn't need it, maybe it just checks the active kernel only and complains if it finds any 'initrd' statements at all.
Basically, as long as you keep several (at least two) images in lilo then it doesn't really matter if one doesn't work - just use the one(s) that does and take it from there. My view is that if you are capable of compiling your own kernel then you are equally capable of manually editing /etc/lilo.conf .
For example, you can just copy the entire 'image=' block , change the 'label' entry to something unique and delete the initrd= line. Roughly like this extract (make sure the root= and the file names entrires are correct for you) - example only :
image=/boot/vmlinuz-2.2.12-20
label=linux
root=/dev/sda1
initrd=/boot/initrd-2.2.12-20.img
read-only
the kernel was not recompliled .. lilo never didwork from the second in installed it. If i dont boo toff the floppy, it says "error loading operating system."
Guy:
if you just do:
mk_initrd -h
then specify the name of the modules to include
according to the options, and the boot image target. You
will be good to go.
And NO: not including the modules in ramdisk is NOT
an option.
Unless you like "kernel panic: could not mount root fs on xxxxx"
Jerkie - I wonder how u got that name?! I know how to build an initrd thanks (and its not like that). If u read it again, the point is that he might have compiled everything in to the kernel so he didn't need to load external code via a ramdisk. That's just a quick way of finding out without doing any harm. in fact he could (should) do :
# /sbin/mkinitrd /boot/initrd-2.4.17.img 2.4.17
(using kernel version)
and it should only build if required anyway.
... and now i'm confused because how can you configure something in kde if the system supposedly never booted in the first place ??
I think it is more of a problem of where LIlo is installed maybe, because it doesnt even load the LIlo screen, it just says "cannot load OS" and the system hangs. So i have to boot off the floppy i made during the install process.
If you don't even get a 'L' from the initial 'LILO' message then I think there could be a problem with the not having been written properly. With that and the KDE error, it's a possible the lilo config and setup is a 'right, royal, f up'.
Try setting the lilo.conf file by hand and then run the lilo command to re-write the MBR to the hard disk.
Could you dump a copy of the long listing of the /boot directory here (ls -la /boot)? To make sure all the right files are there.
I'm currently running redhat 7.1 but I have the old configs for a old Mandrkae 8.0 install (standard with IDE disks) so I'm attaching the /etc/lilo.conf for your reference.
(For info, it was a dual boot with windows on the hda partitions and linux on the hdb drive. The mbr is being written to the boot sector of hda, hdb8 was the partition with the root '/' partition. The 'append="hdc=ide-scsi"' line is to use the scsi emulation for an ATAPI CD rewriter).
Don't forget to run the 'lilo' command afterwards to write th MBR. Normally, the -S' option is used but as it's not working, there's no need this time.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.