Create UEFI boot USB: Difference between revisions
(make boot partition 512MiB only) |
(Style fixes) |
||
Line 1: | Line 1: | ||
This article explains how to create an UEFI boot USB with parted and gummiboot. | This article explains how to create an UEFI boot USB with parted and gummiboot. | ||
In this example we will use | In this example we will use {{Path|/dev/sdX}}. This will be different depending on your system. | ||
== Create GPT boot partition == | == Create GPT boot partition == | ||
Line 9: | Line 9: | ||
Create a single UEFI boot partitions. | Create a single UEFI boot partitions. | ||
{{warning| this will erase all content of your | {{warning| this will erase all content of your {{Path|/dev/sdX}}. Make sure that you use correct device}} | ||
{{Cmd | parted --script /dev/sdX mklabel gpt}} | {{Cmd | parted --script /dev/sdX mklabel gpt}} | ||
Line 31: | Line 31: | ||
== Copy gummiboot efi binary == | == Copy gummiboot efi binary == | ||
UEFI will look for a EFI/bootx64.efi as a fallback efi loader. We copy gummibootx64.efi to this location. | 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 }} |
Revision as of 16:19, 15 June 2016
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/grsec.conf
Finally umount the disk
cd ~ && umount /mnt