[RESENT] Apologies if you got the previous one - I posted it about 6 hours ago and it still hasn't shown up so I'm trying again.
Hi, I am trying to install grub to a raw image (i.e. a flat file that will be used to house a VM). Host & guest image both Debian Jessie I have partitioned the file: part 1 : ext2 (for boot) part 2 : LVM (for root & swap) I have the raw mounted to /dev/loop0 with kpartx so these partitions map to: part 1 : /dev/mapper/loop0p1 part 2 : /dev/mapper/loop0p2 The LVM setup (vg labelled "lv")on part 2 provides: /dev/mapper/lv-root /dev/mapper/lv-swap_1 I then have it mounted like this: /dev/mapper/lv-root -> /mnt /dev/mapper/loop0p1 -> /mnt/boot I then install grub like this: devicemap=/mnt/boot/grub/device.map chroot /mnt grub-mkdevicemap chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg grub-install --force --grub-mkdevicemap=$devicemap --root-directory=/mnt /dev/loop0 Which appears to install as it should: # chroot /mnt grub-mkdevicemap # chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.16.0-4-amd64 Found initrd image: /boot/initrd.img-3.16.0-4-amd64 done # grub-install --force --grub-mkdevicemap=$devicemap --root-directory=/mnt /dev/loop0 Installing for i386-pc platform. Installation finished. No error reported. (note that both systems are 64 bit so maybe this is the issue? But i doubt it as the host has the same info...) So this appears to all complete fine... But when I boot the raw image I get an error about a device not found (a UUID that I have no idea where it comes from. It does not appear to match any of the UUIDs that I see in the grub.cfg so I have no idea where this is coming from!?) I can fix grub easy enough from the vm: -boot with live iso -mount /dev/mapper/lv-root as /mnt & /dev/sda1 as /mnt/boot # grub-install --root-directory=/mnt /dev/sda Once grub is repaired than all works as it should, however I want it to just work from the start... From looking around inside the (unbootable) raw it just looks like grub wasn't installed properly... # ls -l /mnt/grub total 2363 -rw-r--r-- 1 root root 50 Oct 7 01:47 device.map -r--r--r-- 1 root root 5657 Oct 7 01:47 grub.cfg -rw-r--r-- 1 root root 2400500 Oct 6 10:18 unicode.pf2 Nothing like (working) /boot/grub on the host: # ls -l /boot/grub total 2380 drwxr-xr-x 2 root root 4096 Aug 31 01:01 fonts -r--r--r-- 1 root root 7882 Oct 7 00:52 grub.cfg -rw-r--r-- 1 root root 1024 Aug 31 01:01 grubenv drwxr-xr-x 2 root root 12288 Oct 7 00:56 i386-pc drwxr-xr-x 2 root root 4096 Aug 31 01:01 locale -rw-r--r-- 1 root root 2400500 Aug 13 13:08 unicode.pf2 FWIW the fixed /boot/grub dir looks the same as the host... Any help/guidance/insight/etc warmly welcomed! Regards, Jeremy Davis
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
