test-efi-create-disk: shellcheckify

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2021-05-10 20:29:08 +02:00
parent 4f3dca78bb
commit bdf5d8d4c0

View file

@ -1,13 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -eo pipefail
out="$1" out="${1:?}"
systemd_efi="$2" systemd_efi="${2:?}"
boot_stub="$3" boot_stub="${3:?}"
splash_bmp="$4" splash_bmp="${4:?}"
if [ -z "$out" -o -z "$systemd_efi" -o -z "$boot_stub" -o -z "$splash_bmp" ]; then
exit 1
fi
# create GPT table with EFI System Partition # create GPT table with EFI System Partition
rm -f "$out" rm -f "$out"
@ -15,15 +12,17 @@ dd if=/dev/null of="$out" bs=1M seek=512 count=1 status=none
parted --script "$out" "mklabel gpt" "mkpart ESP fat32 1MiB 511MiB" "set 1 boot on" parted --script "$out" "mklabel gpt" "mkpart ESP fat32 1MiB 511MiB" "set 1 boot on"
# create FAT32 file system # create FAT32 file system
LOOP=$(losetup --show -f -P "$out") LOOP="$(losetup --show -f -P "$out")"
mkfs.vfat -F32 ${LOOP}p1 mkfs.vfat -F32 "${LOOP}p1"
mkdir -p mnt mkdir -p mnt
mount ${LOOP}p1 mnt mount "${LOOP}p1" mnt
mkdir -p mnt/EFI/{BOOT,systemd} mkdir -p mnt/EFI/{BOOT,systemd}
cp "$systemd_efi" mnt/EFI/BOOT/BOOTX64.efi cp "$systemd_efi" mnt/EFI/BOOT/BOOTX64.efi
[ -e /boot/shellx64.efi ] && cp /boot/shellx64.efi mnt/ if [ -e /boot/shellx64.efi ]; then
cp /boot/shellx64.efi mnt/
fi
mkdir mnt/EFI/Linux mkdir mnt/EFI/Linux
echo -n "foo=yes bar=no root=/dev/fakeroot debug rd.break=initqueue" >mnt/cmdline.txt echo -n "foo=yes bar=no root=/dev/fakeroot debug rd.break=initqueue" >mnt/cmdline.txt
@ -31,8 +30,8 @@ objcopy \
--add-section .osrel=/etc/os-release --change-section-vma .osrel=0x20000 \ --add-section .osrel=/etc/os-release --change-section-vma .osrel=0x20000 \
--add-section .cmdline=mnt/cmdline.txt --change-section-vma .cmdline=0x30000 \ --add-section .cmdline=mnt/cmdline.txt --change-section-vma .cmdline=0x30000 \
--add-section .splash="$splash_bmp" --change-section-vma .splash=0x40000 \ --add-section .splash="$splash_bmp" --change-section-vma .splash=0x40000 \
--add-section .linux=/boot/$(cat /etc/machine-id)/$(uname -r)/linux --change-section-vma .linux=0x2000000 \ --add-section .linux="/boot/$(cat /etc/machine-id)/$(uname -r)/linux" --change-section-vma .linux=0x2000000 \
--add-section .initrd=/boot/$(cat /etc/machine-id)/$(uname -r)/initrd --change-section-vma .initrd=0x3000000 \ --add-section .initrd="/boot/$(cat /etc/machine-id)/$(uname -r)/initrd" --change-section-vma .initrd=0x3000000 \
"$boot_stub" mnt/EFI/Linux/linux-test.efi "$boot_stub" mnt/EFI/Linux/linux-test.efi
# install entries # install entries
@ -48,4 +47,4 @@ echo -e "title Test6\nlinux /test6\n" > mnt/loader/entries/test6.conf
sync sync
umount mnt umount mnt
rmdir mnt rmdir mnt
losetup -d $LOOP losetup -d "$LOOP"