On Mon, Dec 24, 2007 at 09:21:05PM +0530, Shourya Sarcar wrote: > I had a few related questions on initramfs/initrd. If someone could provide > me some help and/or point to places where I can go and look, that would be > very nice. > > Is there a difference between initramfs and initrd ? If not, what's the > difference between doing a "mkinitrd" and "update-initramfs -cv" Initrd is usually an image of a filesystem (cramfs, ext2fs, etc.). Initramfs is a series of cpio archives (compressed or not). mkinitrd on current RedHat, Fedora, etc., really create initramfs archives, not the old, filesystem image version. > When the kernel boots up, does it mandatorily require that the initramfs be > of the same version ? Well, no. The initramfs is a linux system per se, with a init program that does the real bootstrap it self. So, in order to mount the real root, it loads a pre-compiled list of modules (done with mkinitrd/mkinitramfs). Those *do* depend on the kernel version. > When I try to bootup on vmlinuz-2.6.24-rc6, and my > initrd is initrd.img-2.6.24-rc5, then my boot hangs. I am using Ubuntu 7.10 > as my base distro and the hang is at "Waiting for root filesystem". It depends on your hardware and details of the kernel compilation, so this is just a guess, but it may had failed due to wrong version of modules: * ext3 and jbd, for ext3; * dm_mod, dm_mirror, dm_zero, dm_snapshot, ..., for LVM, EVMS, LUKS partitions, etc.; * scsi_mod, sd_mod, for scsi disk devices; * the driver for your disk controller. So, after a kernel upgrade, the kernel package creates a new initrd/initramfs. If you're upgrading manually, create one yourself. Usually, it's just: mkinitrd -v /boot/initrd-<kernel_version>.img <kernel_version> -- Luciano Rocha <luciano@xxxxxxxxxxx> Eurotux Informática, S.A. <http://www.eurotux.com/>
Attachment:
pgpeJpaaGdpO6.pgp
Description: PGP signature