why does one need an initrd if using LVM?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  (perhaps related to an earlier issue as to why one needs 
an initrd when using ext3 ...)

  earlier today, when demonstrating to a class how to rebuild
a kernel, i suggested that one could avoid having to deal with
creating an initrd.img if one built all necessary drivers into
the kernel.

  since we were using ext3 filesystems and logical volumes, 
i was very careful to tell everyone to add these features to
their kernel, and not leave them as modules.  since they all
did that, i told them to skip building an initrd.img and
just reboot.

  bad idea -- the boot hung at trying to mount the root
filesystem.  i couldn't figure out why since the kernel had
clearly loaded and started to run, so what was the problem?

  one student just added the "initrd" line to her grub.conf
file for that kernel image, and it worked fine.  puzzling.
so i ripped open that initrd.img and found just ext3.o,
jbd.o and lvm-mod.o.  but why were these needed in the
initrd?

  as a test, i ran "mkinitrd" against the new kernel,
got my new initrd.img, and opened it up to find ...
no module at all.  not surprising since everything was
in the kernel, and "mkinitrd" was smart enough to figure
that out.  but using that module-less initrd.img got the
boot to work.

  what gives?  i checked the /etc/fstab, and it turns
out that the /boot filesystem (a real primary partition,
not a logical volume) was listed with a LABEL field,
but even changing that back to a /dev entry didn't 
fix things.

  so why is initrd.img necessary for LVs even when it has
no modules?

rday






[Index of Archives]     [Fedora Users]     [Centos Users]     [Kernel Development]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat Phoebe Beta]     [Yosemite Forum]     [Fedora Discussion]     [Gimp]     [Stuff]     [Yosemite News]

  Powered by Linux