Created
May 23, 2019 19:10
-
-
Save meeuw/637064427cb8c0692bc3d74ec3b58f5d to your computer and use it in GitHub Desktop.
Script to create an image for a minimal grub2 efi usb stick for booting Fedora (using blscfg) on a macbook.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
function fish() { | |
echo "#" "$@" | |
guestfish --remote -- "$@" || exit 1 | |
} | |
eval $(guestfish --listen) | |
img=grub2-usb.raw | |
fish disk-create $img raw 3M | |
fish add $img | |
fish run | |
fish part-init /dev/sda gpt | |
fish part-add /dev/sda p 2048 6110 | |
fish part-set-gpt-type /dev/sda 1 C12A7328-F81F-11D2-BA4B-00A0C93EC93B | |
fish part-set-bootable /dev/sda 1 true | |
fish mkfs vfat /dev/sda1 label:EFI | |
fish mount /dev/sda1 / | |
fish mkdir /EFI/ | |
fish mkdir /EFI/BOOT | |
fish mkdir /EFI/BOOT/x86_64-efi/ | |
cp gcdx64.efi bootx64.efi | |
cat > grub.cfg << @EOF | |
function load_video { | |
insmod efi_gop | |
insmod efi_uga | |
} | |
load_video | |
insmod search | |
search --file --set root /boot/grub2/grubenv | |
insmod probe | |
probe -u \$root -s uuid_label | |
set default_kernelopts="root=UUID=\$uuid_label ro rhgb quiet " | |
insmod blscfg | |
blscfg | |
@EOF | |
fish copy-in grub.cfg /EFI/BOOT/ | |
fish copy-in bootx64.efi /EFI/BOOT/ | |
fish copy-in /usr/lib/grub/x86_64-efi/probe.mod /EFI/BOOT/x86_64-efi/ | |
fish umount-all | |
fish shutdown |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment