#!/usr/bin/env bash # # Copyright (C) 2022 Ing # # This is free software, licensed under the MIT License. # See /LICENSE for more information. # GRUB=${1:-"grub-2.06"} BIOS=${2:-"i386-pc i386-efi x86_64-efi"} curl -#kLO https://ftp.gnu.org/gnu/grub/${GRUB}.tar.gz tar -zxvf ${GRUB}.tar.gz pushd ${GRUB} for B in ${BIOS} do b=${B} b=(${b//-/ }) echo "Make ${b[@]} ..." mkdir -p ${B} pushd ${B} ../configure --prefix=$PWD/usr -sbindir=$PWD/sbin --sysconfdir=$PWD/etc --disable-werror --target=${b[0]} --with-platform=${b[1]} make make install popd done popd rm -f grub.img dd if=/dev/zero of=grub.img bs=1M seek=1024 count=0 echo -e "n\np\n1\n\n+50M\nn\np\n2\n\n+50M\nn\np\n3\n\n\na\n1\nw\nq\n" | fdisk grub.img fdisk -l grub.img LOOPX=`sudo losetup -f` sudo losetup -P ${LOOPX} grub.img sudo mkdosfs -F32 -n ARPL1 ${LOOPX}p1 sudo mkfs.ext2 -F -L ARPL2 ${LOOPX}p2 sudo mkfs.ext4 -F -L ARPL3 ${LOOPX}p3 rm -rf ARPL1 mkdir -p ARPL1 sudo mount ${LOOPX}p1 ARPL1 sudo mkdir -p ARPL1/EFI sudo mkdir -p ARPL1/boot/grub cat > device.map <