#! /bin/bash set -e export EFI_PATH=/boot/efi if [[ -f $EFI_PATH/EFI/refind/refind.conf ]] then export DO_STANDARD_REFIND_PATH=true fi if [[ -f $EFI_PATH/EFI/BOOT/refind.conf ]] then export DO_BOOTX64_REFIND_PATH=true fi REFIND_CMDLINE_OPTIONS="$(cat /boot/refind_linux.conf | cut -f4 -d"\"" | head -n1 | sed 's/---//g' | sed -E 's/root=[^ ]* //g')" ROOT_PARTUUID="$(blkid -s PARTUUID -o value $(df -P -h -T / | awk 'END{print $1}'))" if [[ -z "$ROOT_PARTUUID" ]] then echo "Current Root partition type doesn't support PARTUUID" exit 1 fi create_entries() { REFIND_PATH="$1" echo "Installing theme to: $REFIND_PATH" grep -qxF 'include pika-refind-btrfs.conf' $EFI_PATH/$REFIND_PATH/refind.conf || echo 'include pika-refind-btrfs.conf' >> $EFI_PATH/$REFIND_PATH/refind.conf rm -rfv $EFI_PATH/$REFIND_PATH/pika-refind-btrfs.conf || true for kernel_version in "$(linux-version list)" do echo -e "menuentry \"PikaOS Snapper Stanza - $kernel_version\" {\n icon /EFI/BOOT/refind-dark/icons/os_pika.png\n volume \"PikaOS\"\n loader /vmlinuz-$kernel_version\n initrd /booster.img-$kernel_version\n options \"root=PARTUUID=$ROOT_PARTUUID $REFIND_CMDLINE_OPTIONS\"\n}" >> $EFI_PATH/$REFIND_PATH/pika-refind-btrfs.conf done } if [[ $DO_STANDARD_REFIND_PATH == true ]] then echo "Standard Refind Path Detected" create_entries "EFI/refind" fi if [[ $DO_BOOTX64_REFIND_PATH == true ]] then echo "Bootx64 Refind Path Detected" create_entries "EFI/BOOT" fi⏎