help-grub
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]