Create UEFI boot USB: Difference between revisions
Line 29: | Line 29: | ||
{{Cmd | cd /mnt && uniso < /path/to/alpine-3.4.0-x86_64.iso }} | {{Cmd | cd /mnt && uniso < /path/to/alpine-3.4.0-x86_64.iso }} | ||
== | == Copy gummiboot efi binary == | ||
UEFI will look for a {{Path|EFI/bootx64.efi}} as a fallback efi loader. We copy {{Path| | UEFI will look for a {{Path|EFI/bootx64.efi}} as a fallback efi loader. We copy {{Path|gummibootx64.efi}} to this location. | ||
{{Cmd | mkdir -p /mnt/EFI/Boot }} | {{Cmd | mkdir -p /mnt/EFI/Boot }} | ||
{{Cmd | apk add | {{Cmd | apk add gummiboot }} | ||
{{Cmd | | {{Cmd | cp /usr/lib/gummiboot/gummibootx64.efi /mnt/EFI/Boot/bootx64.efi }} | ||
== Create configuration files for boot loader == | == Create configuration files for boot loader == |
Revision as of 19:20, 3 October 2017
This article explains how to create an UEFI boot USB with parted and gummiboot.
In this example we will use /dev/sdX. This will be different depending on your system.
Create GPT boot partition
Install parted
apk add parted
Create a single UEFI boot partitions.
parted --script /dev/sdX mklabel gpt
parted --script --align=optimal /dev/sdX mkpart ESP fat32 1MiB 512MiB
parted --script /dev/sdX set 1 boot on
Create fat32 filesystem
Create a fat32 system with the name `Alpine`.
mkfs.vfat -n Alpine /dev/sdX1
Copy content of ISO image to filesystem
It is possible to mount the iso image and copy files with cp or rsync and it is also possible to use 7z to extract content from the iso. In this example I will use the uniso utility from alpine-conf package.
mount -t vfat /dev/sdX1 /mnt
cd /mnt && uniso < /path/to/alpine-3.4.0-x86_64.iso
Copy gummiboot efi binary
UEFI will look for a EFI/bootx64.efi as a fallback efi loader. We copy gummibootx64.efi to this location.
mkdir -p /mnt/EFI/Boot
apk add gummiboot
cp /usr/lib/gummiboot/gummibootx64.efi /mnt/EFI/Boot/bootx64.efi
Create configuration files for boot loader
We need create some configuration files for gummiboot.
mkdir -p loader/entries
Contents of loader/loader.conf
The options are taken from boot/syslinux/syslinux.cfg
Contents of loader/entries/alpine.conf
Finally umount the disk
cd ~ && umount /mnt