set -eu
PARTITION_LABEL="multiboot"
-MULTIBOOT_MNT="/mnt/multiboot"
+MULTIBOOT_MNT="${MULTIBOOT_MNT:-/mnt/multiboot}"
function cmd_format {
if [ ! -b "${1:-}" ]; then
}
function install_grub_cfg {
- print_grub_cfg | sudo tee "${MULTIBOOT_MNT}/grub/grub.cfg" > /dev/null
+ if [[ -w "${MULTIBOOT_MNT}/grub/" ]]; then
+ # We already have write access, no need to use sudo
+ print_grub_cfg > "${MULTIBOOT_MNT}/grub/grub.cfg"
+ else
+ print_grub_cfg | sudo tee "${MULTIBOOT_MNT}/grub/grub.cfg" > /dev/null
+ fi
}
function cmd_mount {
function setup_arch {
menuentry "\$1" {
loopback loop \$1
- linux (loop)/arch/boot/x86_64/vmlinuz img_label=${PARTITION_LABEL} img_loop=\$1 archisobasedir=arch earlymodules=loop
- initrd (loop)/arch/boot/x86_64/archiso.img
+ echo "Loading kernel..."
+ linux (loop)/arch/boot/x86_64/vmlinuz-* img_label=${PARTITION_LABEL} img_loop=\$1 archisobasedir=arch earlymodules=loop
+ echo "Loading initrd (and microcode if they exist)..."
+ initrd (loop)/arch/boot/*.img (loop)/arch/boot/x86_64/initramfs-*.img
}
}
for iso in /archlinux-*.iso; do