В Sun, 1 Mar 2015 14:00:59 +0400 John Frankish <[email protected]> пишет:
> > 2. modified grub.cfg with "set root=(cd0)" and (perhaps not required) "set > prefix=($root)/EFI/BOOT/grub" This may fail if there are several CD present and grub is not booted from the first one (in firmware scan order). On EFI you can set prefix to ()/path (grub-mkimage ... -p "()/boot/grub"); "()" as disk designation means "set root to whatever device I was booted from" and path is taken from prefix then. Also to notice that there is no access to ESP itself after grub is booted (i.e. content of efiboot.img in your case). Any path should refer to path on iso9660 part. In particular, grub.cfg - if any - must be on ISO, not in ESP image. Actually it was quite educational and useful exercise. Thank you! > > Then this worked: > > $ sudo grub-mkimage --format=x86_64-efi --output=BOOTX64.EFI > --prefix=/EFI/BOOT/grub bitmap bitmap_scale boot bufio crypto efi_gop efi_uga > extcmd font fshelp gettext gfxmenu gfxterm iso9660 linux loadbios ls minicmd > mmap normal part_acorn part_amiga part_apple part_bsd part_dfly part_dvh > part_gpt part_msdos part_plan part_sun part_sunpc relocator terminal trig > video video_fb > > $ dd if=/dev/zero of=efiboot.img bs=1K count=1440 > $ mkdosfs -F 12 efiboot.img > $ sudo mount efiboot.img /tmp/image > $ sudo mkdir -p /tmp/image/EFI/BOOT > $ sudo cp BOOTX64.EFI /tmp/image/EFI/BOOT > $ sudo umount /tmp/image > $ sudo cp efiboot.img iso/EFI/BOOT > > $ sudo mkisofs -pad -l -r -J -V TinyCorePure64 -no-emul-boot -boot-load-size > 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat > -hide-rr-moved -eltorito-alt-boot -eltorito-platform efi -b > EFI/BOOT/efiboot.img -no-emul-boot -o TinyCorePure64_1.iso iso > > ..and this shaves an additional 2mb, even if I used a 1.44mb image rather > than 2.8mb > _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
