2024-01-15 11:16:19 +01:00
|
|
|
#! /usr/bin/env nix-shell
|
|
|
|
#! nix-shell -i bash -p parted
|
|
|
|
|
2024-01-29 13:48:30 +01:00
|
|
|
# Fail if $SUDO_USER is empty.
|
|
|
|
if [ -z "$SUDO_USER" ]; then
|
|
|
|
printf "This script must be run with sudo.\n"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-01-15 11:16:19 +01:00
|
|
|
DISK=/dev/mmcblk0
|
2024-01-15 13:25:22 +01:00
|
|
|
set -e
|
|
|
|
|
2024-01-15 11:16:19 +01:00
|
|
|
BOOT_DIR=/mnt/nixos/boot
|
|
|
|
|
|
|
|
echo "Create partition table."
|
|
|
|
parted --script $DISK mklabel gpt
|
|
|
|
parted --script $DISK mkpart ESP fat32 0% 1GiB
|
|
|
|
parted --script $DISK set 1 esp on
|
2024-01-15 13:18:53 +01:00
|
|
|
sleep 5
|
2024-01-15 11:16:19 +01:00
|
|
|
|
|
|
|
echo "Create boot partition."
|
|
|
|
mkfs.fat -F32 -n BOOTTOFRMT "$DISK"p1
|
|
|
|
sleep 5
|
|
|
|
|
|
|
|
echo "Mount partitions."
|
|
|
|
mkdir -p $BOOT_DIR
|
|
|
|
mount /dev/disk/by-label/BOOTTOFRMT $BOOT_DIR
|
|
|
|
|
|
|
|
echo "Create UEFI"
|
|
|
|
curl -o /tmp/pi4-uefi.zip -L https://github.com/pftf/RPi4/releases/download/v1.35/RPi4_UEFI_Firmware_v1.35.zip
|
|
|
|
unzip /tmp/pi4-uefi.zip -d $BOOT_DIR
|
|
|
|
sync
|
2024-01-15 11:28:33 +01:00
|
|
|
|
|
|
|
umount $BOOT_DIR
|
2024-01-15 13:18:53 +01:00
|
|
|
|
|
|
|
echo "Rename boot partition."
|
|
|
|
fatlabel /dev/disk/by-label/BOOTTOFRMT BOOT
|