Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#3701 - Must include DM modules in initrd when using LVM, even if you don't boot off of an LVM volume
Attached to Project:
Arch Linux
Opened by David Rosenstrauch (darose) - Wednesday, 04 January 2006, 02:16 GMT
Opened by David Rosenstrauch (darose) - Wednesday, 04 January 2006, 02:16 GMT
|
DetailsIt seems that even if your root and/or boot partitions are not on an LVM volume, but you later use LVM for other partitions (e.g., /home) mounting these will fail if you've customized your initrd to remove device manager modules.
This seems odd, since you really don't need to have the DM modules in the initrd in order to boot, and should just be able to load them later, when you load all your other modules. However, Arch's boot process activates LVM *before* loading the modules in rc.conf, which forces you to include the DM modules in your initrd or else you won't be able to have your LVM partitions get properly mounted at boot time. Please change Arch's boot order so that the modules in rc.conf get loaded before activating LVM. |
This task depends upon
Closed by James Rayner (iphitus)
Sunday, 15 October 2006, 08:48 GMT
Reason for closing: Won't fix
Additional comments about closing: mkinitrd is deprecated.
as for autoloading the module, I dont think that's needed, MODULES=() line is fine.
Sunday, 15 October 2006, 08:48 GMT
Reason for closing: Won't fix
Additional comments about closing: mkinitrd is deprecated.
as for autoloading the module, I dont think that's needed, MODULES=() line is fine.
If *any* of the volumes you have listed in /etc/fstab are LVM volumes, and you don't include "lvm2" when building the image, your system will fail to mount those volumes and so not boot correctly.
I would think, though, that the behavior should be that as long as your root (/) and /boot volumes are not on lvm that the system should be able to boot correctly. However, that would imply this sequence of events:
* boot kernel and initrd image
* load modules from rc.conf
* mount volumes from /etc/fstab
* proceed with rest of boot process
Perhaps this sequence doesn't make sense for some reason, making this impossible, and if so, that's fine. However the net effect of the current situation is that you must include lvm modules in your initrd if any of the file systems in your /etc/fstab are LVM - not just your root and boot partitions.
When "lvm2" is included in my initrd then I can boot; when it's not I can't. And neither my root or boot partitions are lvm volumes.
I never said this was a problem in initrd/initcpio. But it is a problem. If neither my root or boot partition is an LVM volume, then I shouldn't need to include "lvm2" in my initrd/initcpio. But I do.
And I don't understand what your workaround would accomplish. By the time the boot sequence starts loading MODULES from /etc/fstab it's too late. All the /etc/fstab file systems have already been mounted, right? So if you haven't included lvm in your initrd, then your boot will fail.
Are you not seeing this behavior?
It enables lvm volumes later and THEN mounts filesystems from fstab. So where is the problem.
I'll confirm this again when I have a chance in the next day or so, but I know that I saw this happen during the cutover from mkinitrd to mkinitcpio, which only happened a few weeks ago.
Feel free to close the bug.
And thanks for your help.