В Fri, 26 Jun 2015 18:08:14 +0000 <[email protected]> пишет:
> > I am automating the build with the following goals: > > 1) Not to add any additional dependencies into the LFS system itself > beyond what is standard, so the LFS system uses GRUB but does not have LVM. > 2) To have minimal impact on the host system, so installing grub to the > host if they don't have it is not an option. > 3) It needs to be able to be installed to an actual drive or to a disk > image, at the choice of the end user. > > The only part of this causing me pain is grub-install at the very end of the > build. > Try mounting / as separate loop device. It will give you suboptimal GRUB configuration (where it will need to search for root instead of encoding partition directly) but you can redo grub-install later from booted system. bor@opensuse:~> sudo losetup --find --show /tmp/floppy /dev/loop0 bor@opensuse:~> sudo losetup --find --show -o 1048576 /tmp/floppy /dev/loop1 bor@opensuse:~> sudo mount /dev/loop1 /mnt bor@opensuse:~> sudo rm -rf /mnt/grub bor@opensuse:~/build/grub> sudo pkgdatadir=$PWD ./grub-install -d grub-core --boot-directory=/mnt --modules=part_msdos /dev/loop0 Installing for i386-pc platform. Installation finished. No error reported. bor@opensuse:~/build/grub> bor@opensuse:~> ll /mnt/grub/ итого 28 drwxr-xr-x 2 root root 2048 июн 27 09:17 fonts -rwxr-xr-x 1 root root 1024 июн 27 09:17 grubenv drwxr-xr-x 2 root root 20480 июн 27 09:17 i386-pc drwxr-xr-x 2 root root 2048 июн 27 09:17 locale drwxr-xr-x 3 root root 2048 июн 27 09:17 themes Replace part_msdos with part_gpt if needed. The reason to explicitly include partition driver is that in this case GRUB does not know that filesystem is located on partition at all, so it cannot automatically detect and add it. And that is very good illustration why GRUB must be able to correctly relate your device-mapper "partition" to parent device. _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
