summaryrefslogtreecommitdiff
path: root/backend/modules/bootloader
diff options
context:
space:
mode:
Diffstat (limited to 'backend/modules/bootloader')
-rw-r--r--backend/modules/bootloader29
1 files changed, 29 insertions, 0 deletions
diff --git a/backend/modules/bootloader b/backend/modules/bootloader
index 629f9b5..460ce17 100644
--- a/backend/modules/bootloader
+++ b/backend/modules/bootloader
@@ -54,6 +54,11 @@ function list_bootloaders()
grub) echo "GRUB - GRand Unified Bootloader";;
esac
done
+ if [ -d /sys/firmware/efi ]; then
+ if [ -x /usr/sbin/refind-install ]; then
+ echo "rEFInd - Refind Bootmanager"
+ fi
+ fi
}
function send_bootloaders()
@@ -75,6 +80,9 @@ function install_bootmanager_to_target()
burg)
install_burg
;;
+ refind)
+ install_refind
+ ;;
esac
}
@@ -163,6 +171,27 @@ function install_burg()
return 0
}
+function install_refind()
+{
+ rm -f $TARGET/boot/vmlinuz $TARGET/boot/System.map $TARGET/boot/initrd.img
+
+ apple=0
+ dmidecode -s system-manufacturer | grep -q "Apple Inc." && apple=1
+
+ # install refind
+ if [ -d /sys/firmware/efi ]; then
+ if is_removeable "$cfg_bootloader_target" || [ "$apple" = 1 ]; then
+ refind-install --usedefault "$cfg_bootloader_target" --alldrivers &>/dev/null
+ else
+ refind-install --root $TARGET &>/dev/null
+ fi
+ fi
+
+ write_kernel_img_conf
+
+ return 0
+}
+
function write_kernel_img_conf()
{
rm -f $TARGET/etc/kernel-img.conf