grub-devel
[Top][All Lists]
Advanced

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

Re: Future of installing GRUB to LVM volumes (and loop devices)


From: Sebastian Pipping
Subject: Re: Future of installing GRUB to LVM volumes (and loop devices)
Date: Wed, 06 May 2015 14:30:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0

Hello Andrei,


On 05/05/2015 07:38 PM, Andrei Borzenkov wrote:
> address@hidden:~/build/grub> cat boot/grub/device.map 
> (hd0) /dev/system/docker
> address@hidden:~/build/grub> sudo pkgdatadir=$PWD ./grub-install -d grub-core 
> --boot-directory $PWD/boot --grub-mkdevicemap /tmp/device.map '(hd0)'
> Installing for i386-pc platform.
> Installation finished. No error reported.
> 
> Yes, device.map is *still* useful :)

many thanks for your quick reply and this valuable workaround!


I have tested the

  echo -e "(hd0)\tY" > X/grub/device.map
  grub-install --boot-directory=X '(hd0)'

approach with all combinations of

 * Git HEAD, Debian wheezy (1.99), Debian jessie (2.02~beta2)

 * a loop device, an LVM volume

by now.  Of those

 * the only one that fails is loop device on Debian wheezy [1]
   (I welcome a workaround for that, too!) and

 * the only one requiring manual symlink resolution
   (e.g. passing /dev/dm-9 rather than /dev/mapper/vg-lv)
   is again Debian wheezy.


So that approach should allow me to patch future releases
grml-debootstrap for jessie, stretch and sid.


Nevertheless, let's get good old

  grub-install --boot-directory=... /dev/...

fixed, please.  It did work previously.  How do we proceed?

Best,



Sebastian


PS: I have not tested any from-within-chroot cases yet.  Those have
given different results to some extent in the past, at least.


[1] In the the shell:

# grub-install --boot-directory=/mnt/loop-root/boot '(hd0)' ; echo $?
/usr/sbin/grub-probe: error: cannot find a GRUB drive for
/dev/mapper/loop0p1.  Check your device.map.
Auto-detection of a filesystem of /dev/mapper/loop0p1 failed.
Try with --recheck.
If the problem persists please report this together with the output of
"/usr/sbin/grub-probe --device-map="/mnt/loop-root/boot/grub/device.map"
--target=fs -v /mnt/loop-root/boot/grub" to <address@hidden>
1
# mount | fgrep /mnt/loop-root
/dev/mapper/loop0p1 on /mnt/loop-root type ext4
(rw,relatime,user_xattr,barrier=1,data=ordered)
# cat /mnt/loop-root/boot/grub/device.map
(hd0)   /dev/loop0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]