- Auto detect and create entries for .iso files in /iso/
- Preserves its boot options!
- Small and lean, few entries lots of images
- new iso, same script. No need to tweak around (ymmv).
If your pendrive is already formated to FAT skip to 2
export LABEL=<label-of-your-choice>
# fdisk --wipe auto /dev/sdX
g # GPT partition table
n # new partition
1 # first
<enter> # use the whole disk
<enter> # use the whole disk
w # write
# mkfs.fat -F32 -n $LABEL /dev/sdX1
gparted /dev/sdX
# Device -> Create Partition Table... -> select: msdos -> Apply
# Partition -> New -> (configure options) -> Add
Create as: Primary Partition
File System: fat32
Label: $LABEL
# Apply all operations
# Select partition /dev/sdX1 -> Left click -> Manage Flags -> Enable boot flag
mkdir -p /tmp/$LABEL
sudo mount /dev/disk/by-label/$LABEL /tmp/$LABEL
pmount /dev/disk/by-label/$LABEL
# adapt destination to the created folder in /media for the following commands
# mount point will look something like this: /media/disk_by-label_$LABEL
sudo grub-install --force --removable --no-floppy \
--target=x86_64-efi \
--boot-directory=/tmp/$LABEL/boot/ \
--efi-directory=/mnt/$LABEL/ /dev/sdX
tar xvf grub-iso-multiboot.tar.gz -C /tmp/$LABEL
umount /tmp/$LABEL
pumount /media/disk_by-label_$LABEL
Find a theme you would like to use. The one from the screenshot above is vimix.
Move the theme contents to the themes
folder of the instalation, like so:
mount /dev/disk/by-label/$LABEL /tmp/$LABEL
tar xvf Vimix-1080p.tar.xz -C /tmp/
mv /tmp/Vimix-1080p/Vimix /tmp/$LABEL/boot/grub/themes/vimix
Double check that you have the theme.txt
file in the correct place
/tmp/$LABEL/boot/grub/themes/vimix/theme.txt
.
As the last step, select the theme in /tmp/$LABEL/boot/grub/grub.cfg
:
- set theme=/boot/grub/themes/starfield/theme.txt
+ set theme=/boot/grub/themes/vimix/theme.txt
release the pendrive.
umount /tmp/$LABEL
Menu entries will be populated according to the files present during boot. To add isos via terminal, just copy them over:
mount /dev/disk/by-label/$LABEL /tmp/$LABEL
cp <my-iso-file>.iso /tmp/$LABEL/boot/iso/
umount /tmp/$LABEL
A Dockerfile
is provided to help building the project.
It will setup a compilation environment
sudo qemu-system-x86_64 --enable-kvm /dev/sda -bios /usr/share/edk2-ovmf/OVMF_CODE.fd