[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Cannot boot from dual bios/uefi boot CD
From: |
John Frankish |
Subject: |
RE: Cannot boot from dual bios/uefi boot CD |
Date: |
Sun, 1 Mar 2015 14:00:59 +0400 |
> > > Unfortunately --install-modules list is also mandatory. So at this
> > > point the only workaround is to put common modules in
> > > --install-modules and add others manually, like
> > >
> > > grub-mkrescue
> > > --install-modules="normal
> > > linux ..." ...
> > > /boot/grub/x86_64-efi/efi_gop.mod=/path/to/efi_gop.mod
> > >
> > > Not very elegant but should work.
> >
> > Thanks - this works for me:
> >
> > sudo grub-mkrescue --install-modules="bitmap bitmap_scale boot bufio
> > crypto extcmd font fshelp gettext gfxmenu gfxterm linux 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"
> > iso/boot/grub/x86_64-efi/efi_gop.mod=/usr/local/lib/grub/x86_64-efi/ef
> > i_gop.mod
> > iso/boot/grub/x86_64-efi/efi_uga.mod=/usr/local/lib/grub/x86_64-efi/ef
> > i_uga.mod
> > iso/boot/grub/x86_64-efi/loadbios.mod=/usr/local/lib/grub/x86_64-efi/loadbios.mod
> > -o myiso.iso iso
> >
>
> Good. But returning to the very beginning of this thread - now you have
> definite module list that is known to work for you.
> If you now create grub image(s) as you did in your original post but using
> this list - does it work? If not, we can revisit it
> and compare other settings what is done differently.
OK - to avoid confusion, my original aim was to take a syslinux legacy-bios
boot cd and add a grub-efi section to it to enable uefi booting.
Compared to the mkrescue case, I needed the following:
1. Added iso9660 module to enable grub to read the cd
2. modified grub.cfg with "set root=(cd0)" and (perhaps not required) "set
prefix=($root)/EFI/BOOT/grub"
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