What happens when you use LILO instead of Grub? d.sastre.med...@gmail.com put forth on 5/30/2010 6:13 AM: > On Sat, May 29, 2010 at 05:44:22PM -0400, Tom H wrote: >> On Sat, May 29, 2010 at 7:06 AM, David Sastre Medina >> <d.sastre.med...@gmail.com> wrote: >>> >>> Grub2 is failing to boot a softRAID1 + LVM2 squeeze box. >>> >>> r...@sysresccd /root % mdadm --detail /dev/md0 >>> /dev/md0: >>> ... >>> UUID : 8052f7d4:54a97fbb:731031f6:bc3d041c >> >> I see two possible problems when looking at your grub.cfg. >> >> 1. There isn't an "insmod lvm" within the menuentry stanza. ext2, >> raid, and mdraid are insmod'd twice in the header and once in the >> menuentry and lvm is inmod'd just once in the header. (This is one of >> the grub2 mysteries; why multiple insmods of the same modules?). I >> doubt that this is the source of the problem (the first insmod must be >> enough!) but you could add "insmod lvm" within the menuentry. > > Already tried that. No success. > >> 2. In the uuid of the search line, what is >> 785366b0-d597-4e9c-9284-b6b9161236ed? One of your /dev/sX1's uuid? >> Since raid and mdraid are loaded, can't you/shouldn't you use the md0 >> uuid above? > > I also tried that. It fails. > That UUID belongs to /root_vg-root_lv, where the root filesystem > resides. > The UUID can be confirmed at the grub propmt issuing > grub> ls (root_vg-root_ls) > > Note that `boot' is a multidisk partition (sda1 and sdb1, which assemble > md0), thus root='(md0)' makes sense from a grub point of view. And md1 > is the result of assembling sda2 and sdb2. This md device has only one VG > on top of it, root_vg, with several LVs in it, one of these LVs being my > root_lv. > > This my default menuentry now: > > menuentry "Debian GNU/Linux, with Linux 2.6.32-3-686-bigmem" --class > debian --class gnu-linux --class gnu --class os { > insmod raid > insmod mdraid > insmod lvm > insmod ext2 > set root='(md0)' > search --no-floppy --fs-uuid --set > 785366b0-d597-4e9c-9284-b6b9161236ed > echo Loading Linux 2.6.32-3-686-bigmem ... > linux /vmlinuz-2.6.32-3-686-bigmem root=/dev/mapper/root_vg-root_lv > ro rootdelay=15 quiet > echo Loading initial ramdisk ... > initrd /initrd.img-2.6.32-3-686-bigmem > } > > The `set root' entry says what is *root* for grub, I understand this as: > where are /boot/grub/grub.cfg, /vmlinuz-`uname -r` and /initrd.img-`uname -r` > So IMHO it should be called boot='(md0)' for better undestanding and > disambiguation from the *other* root in the `linux' line. > The GRUB root device is not the same as the Linux kernel root= parameter. > BTW this command is undocummented in the wiki, still uses grub-legacy's > info, which doesn't apply anymore, given the `root' command has been > replaced. > > The `search' line, as stated in the grub wiki: > > Search devices by file, filesystem label or filesystem UUID. If --set > is specified, the first device found is set to a variable. If HD > variable name is specified, "root" is used. > > I take this to mean that the first device found _which UUID is_ 785... > (the UUID of my root_gv-root_lv) will be the `root' filesystem. > > And yet another definition of `root' after the `linux' call. > That one states that: > > root=/dev/mapper/root_vg-root_lv which could be written also as: > root=LABEL=root or even > root=UUID=785366b0-d597-4e9c-9284-b6b9161236ed > > The three of them should be right. None of them work. > > If a suppress the `quiet' option from the `linux' line, what I can see > is LVM initializing *before* mdadm has get its job done: > > "Volume group "root_vg-root_lv not found > Skipping volume group root_vg > Unable to find LVM volume root_vg-swap_lv > mdadm:/dev/md0 has been started with two drives > mdadm:/dev/md1 has been started with two drives > Gave up waiting fot root device." > > So it looks like a timming issue *but*, I have tried to issue manually > the commands in the right order at the grub prompt: > 1) insmod-ing raid, mdraid, lvm and ext2; setting root to md0; > 2) searching for devices (also a variant without this step); > 3) calling linux with the right root device > (all three variants of this step: dev name, UUID and LABEL and with > different rootdelay timmings, always without `quiet') and, finally; > 4) calling initrd. > > Failure again. No way root_vg to be found. > > One further question: after a reboot, while at the grub screen, before > doing anything else, if a enter the command line and type `ls' at the > prompt, I can see all of my LVs, and listing anyone of them returns: > device name, filesystem type, label, last modification time and UUID. > Where does this info come from? Supossedly, there aren't mods loaded to > read that yet, until after `insmod' loads them, are there? > >
-- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4c02bb79.3070...@hardwarefreak.com