This is an old revision of the document!
Table of Contents
Partition
parted /dev/sda -- mklabel gpt parted /dev/sda -- mkpart biosboot 1MiB 3MiB parted /dev/sda -- set 1 bios_grub on parted /dev/sda -- mkpart ESP fat32 3MiB 1027MiB parted /dev/sda -- set 2 esp on parted /dev/sda -- mkpart ISO ext4 1027MiB 13000MiB parted /dev/sda -- mkpart DATA fat32 13000MiB 100% parted /dev/sda print
Filesystems
mkfs.vfat -F32 /dev/sda2 mkfs.ext4 /dev/sda3 mkfs.vfat -F32 /dev/sda4
Grub
mount /dev/sda2 /mnt/usb mkdir -p /mnt/usb/boot/grub grub-install --target=x86_64-efi --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable grub-install --target=i386-pc --boot-directory=/mnt/usb/boot /dev/sda
Images
mkdir /mnt/usb/EFI/tools/ mkdir -p /mnt/iso mount /dev/sda3 /mnt/iso /mnt/iso/archlinux-x86_64.iso /mnt/iso/debian-13-amd64-netinst.iso /mnt/iso/systemrescue-amd64.iso /mnt/usb/EFI/tools/memtest.efi
Config
- /mnt/usb/boot/grub/grub.cfg
menuentry "System Rescue CD" { search --no-floppy --label ISO --set=root set iso="/systemrescue-amd64.iso" loopback loop ($root)$iso linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd archisolabel=ISOUSB img_dev=/dev/disk/by-label/ISOUSB img_loop=$iso initrd (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry "Arch Linux" { search --no-floppy --label ISO --set=root set iso="/archlinux-x86_64.iso" loopback loop ($root)$iso linux (loop)/arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ISOUSB img_dev=/dev/disk/by-label/ISOUSB img_loop=$iso initrd (loop)/arch/boot/x86_64/initramfs-linux.img } menuentry "Debian 13" { search --no-floppy --label ISO --set=root set iso="/debian-13-amd64-netinst.iso" loopback loop ($root)$iso linux (loop)/install.amd/vmlinuz boot=install iso-scan/filename=$iso quiet initrd (loop)/install.amd/initrd.gz } menuentry "Memtest" { insmod chain search --no-floppy --file /EFI/tools/memtest.efi --set=root chainloader /EFI/tools/memtest.efi }