Jim Osborn wrote:
Naturally, I want to keep my old, working kernel in place as a backup. I need to know how to use mk_initrd, if necessary, to make the ramdisk image for the new kernel, but I need also to know what to do to preserve the /boot/initrd image for my old kernel.
Just copy it to a different name below /boot and add a corresponding entry to /etc/lilo.conf. This way, mk_initrd will not touch the old initrd anymore, but lilo will still use it.
From my lilo.conf: # image = /boot/vmlinuz-2.2.19-SMP root = /dev/sda6 label = 2.2.19-SMP initrd = /boot/initrd-2.2.19-SMP
[I also copy the vmlinuz kernel images to non-standard names, here: vmlinuz-2.2.19-SMP.]
Maybe it's possible I can use the same /boot/initrd image for all kernels, but so far, I can't seem to make it work---every configuration I've tried ends with a kernel panic: "VFS: Cannot open root device 08:02" which is the root partition on the scsi hard disk. rdev gives the same info for both the old and new kernels. Looks like the required scsi-module is missing.
Try to add the required modules to your /etc/rc.config's INITRD_MODULES (mk_initrd picks them up from therein). Eg. mine looks like this (SCSI-only System)
# # The module for initrd during boot # INITRD_MODULES="sym53c8xx usbcore"
Also run: mk_initrd lilo after having compiled a new kernel. This will rebuild a couple of initrds, and makes sure that lilo will be picking up the correct ones.
Has anyone successfully compiled (and run) a kernel on a SuSE system? Guess?
Does anyone have any documentation on mk_initrd? mk_initrd is a fairly simple shell script - read it!
Ralf