Create UEFI boot USB: Difference between revisions

From Alpine Linux
Jump to navigation Jump to search
(Created page with "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. == C...")
 
(fix config)
Line 48: Line 48:


The options are taken from {{Path|boot/syslinux/syslinux.cfg}}
The options are taken from {{Path|boot/syslinux/syslinux.cfg}}
{{Cat | EFI/loader/entries/grsec.conf|title         Alpine Linux Grsec
 
linux         /boot/vmlinuz-grsec
{{Cat | EFI/loader/entries/grsec.conf |title   Alpine Linux
initrd         /boot/initramfs-grsec
linux   /boot/vmlinuz-grsec
options       modloop=/boot/modloop-grsec modules=loop,squashfs,sd-mod,usb-storage quiet  
initrd   /boot/initramfs-grsec
options modloop{{=}}/boot/modloop-grsec modules{{=}}loop,squashfs,sd-mod,usb-storage quiet
}}
}}

Revision as of 15:56, 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.

Tango-dialog-warning.png
Warning: this will erase all content of your `/dev/sdX`. Make sure that you use correct device


parted --script /dev/sdX mklabel gpt

{{{1}}}

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 EFI/loader/entries

Contents of EFI/loader/loader.conf

default grsec timeout 4

The options are taken from boot/syslinux/syslinux.cfg

Contents of EFI/loader/entries/grsec.conf

title Alpine Linux linux /boot/vmlinuz-grsec initrd /boot/initramfs-grsec options modloop=/boot/modloop-grsec modules=loop,squashfs,sd-mod,usb-storage quiet