В Thu, 25 Jun 2015 17:20:23 +0000 <[email protected]> пишет:
> I have a 15GB image file partitioned using fdisk with a single MBR partition > and containing an ext4 file system which contains my LFS system. I used > kpartx on this to create /dev/loop0 and /dev/mapper/loop0p1. The file system > in /dev/loop0p1 is mounted on /mnt. I am chrooted into /mnt How exactly? chroot must have at least /dev, /sys and /proc available for device detection to work. where my LFS system resides. Grub in the LFS system was built with the following (from LFS documentation): > > ./configure --prefix=/usr \ > --sbindir=/sbin \ > --sysconfdir=/etc \ > --disable-grub-emu-usb \ > --disable-efiemu \ > --disable-werror > > Command used: > grub-install --target=i386-pc /dev/loop0 > I do not have environment to test chroot, but the following works using current upstream master (sans two clean up patches): bor@opensuse:~> sudo losetup --find --show /tmp/floppy /dev/loop0 bor@opensuse:~> sudo kpartx -a /dev/loop0 bor@opensuse:~> sudo mount /dev/mapper/loop0p2 /mnt bor@opensuse:~/build/grub> ./configure ; make bor@opensuse:~/build/grub> sudo pkgdatadir=$PWD ./grub-install -d grub-core --boot-directory=/mnt /dev/loop0 Installing for i386-pc platform. Installation finished. No error reported. bor@opensuse:~/build/grub> As Jordan suggested, you may be missing libdevmapper dependency. > When that failed, I also tried a number of variations on this command, all of > which also failed. I tried following examples on the net regarding creating a > device.map and populating it with (hd0) /dev/loop0 > Grub seems to read the file OK, but the install still fails. > > The host machine is a 64-bit install of Debian 8, although that shouldn't > matter. > > If I do this on a real drive instead of a mounted image it works, but that > doesn't help me. Shouldn't it be possible to install grub to a loopback > device? > > Thanks in advance for any help. > > > > > ---- Andrei Borzenkov <[email protected]> wrote: > > Please, describe your configuration, and provide exact command you used. > > Otherwise it is impossible to say anything. > > > > Отправлено с iPhone > > > > > 25 июня 2015 г., в 14:43, <[email protected]> <[email protected]> > > > написал(а): > > > > > > I absolutely cannot get grub-install to do what I need it to do: Install > > > to the MBR on a disk image that is loop mounted with kpartx, while > > > chrooted into an ext4 filesystem on the first partition of that image. > > > The image will be used on a BIOS machine but the physical host is EFI. > > > > > > This is for a linux from scratch 7.7 build and so uses the grub version > > > found here: http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz > > > > > > I discovered the "target" argument to override the architecture by > > > searching the web (it doesn't seem to be mentioned in any detail in the > > > Grub manual), but I can't get it to install regardless. I get some > > > nonsensical message about being unable to find 'lvm/loop0p1' although I > > > am not using lvm in the image. The image only has a single MBR partition. > > > > > > This seems like it should be a simple thing to do and if it is I > > > apologize, but I really hate it when software tries to be clever in an > > > effort to 'help' and makes assumptions that turn a simple matter into a > > > nightmare. > > > > > > _______________________________________________ > > > Help-grub mailing list > > > [email protected] > > > https://lists.gnu.org/mailman/listinfo/help-grub > _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
