Working refind install function

merge-requests/273/head
Chrysostomus 7 years ago
parent 0d7e7fc0e7
commit db472c7b70

@ -419,33 +419,50 @@ uefi_bootloader() {
[[ $LUKS_DEV != "" ]] && sed -i "s~rw~$LUKS_DEV rw~g" ${i}
done
DISABLED_FOR_NOW
"refind)"
#"refind)"
# install refind
refind-install --usedefault ${UEFI_MOUNT} --alldrivers
# refind-install --root /mnt
# Deal with LVM Root
[[ $(echo $ROOT_PART | grep "/dev/mapper/") != "" ]] && bl_root=$ROOT_PART \
|| bl_root=$"PARTUUID="$(blkid -s PARTUUID ${ROOT_PART} | sed 's/.*=//g' | sed 's/"//g')
#[[ $(echo $ROOT_PART | grep "/dev/mapper/") != "" ]] && bl_root=$ROOT_PART \
# || bl_root=$"PARTUUID="$(blkid -s PARTUUID ${ROOT_PART} | sed 's/.*=//g' | sed 's/"//g')
# Set kernel parameters to right root
wrongroot=$(cat /boot/refind_linux.conf | tr ' ' '\n' | grep "root=" | sed 's/"//g' | head -n1)
sed -i "s/$wrongroot/root=${bl_root}/g" /mnt/boot/refind_linux.conf
# generate boot entries
[[ -e /mnt/boot/intel-ucode.img ]] && ucode="initrd=/boot/intel-ucode.img" || ucode=""
$(mount | awk '$3 == "/mnt" {print $0}' | grep btrfs | grep -qv subvolid=5) && rootflag="rootflags=$(mount | awk '$3 == "/mnt" {print $6}' | sed 's/^.*subvol=/subvol=/' | sed -e 's/,.*$/,/p' | sed 's/)//g')" || rootflag=""
echo /boot/initramfs-* | sed 's/\/boot\/initramfs-//g' | sed 's/\.img//g' > /tmp/.kernels
for kernel in $(cat /tmp/.kernels); do
echo -e "
menuentry Manjaro $kernel {
icon /EFI/refind/icons/os_manjaro.png
loader vmlinuz-$kernel
initrd initramfs-$kernel.img
options "$LUKS_DEV rw root=${bl_root} quiet ${ucode} $rootflag"
#[[ -e /mnt/boot/intel-ucode.img ]] && ucode="initrd=/boot/intel-ucode.img" || ucode=""
#$(mount | awk '$3 == "/mnt" {print $0}' | grep btrfs | grep -qv subvolid=5) && rootflag="rootflags=$(mount | awk '$3 == "/mnt" {print $6}' | sed 's/^.*subvol=/subvol=/' | sed -e 's/,.*$/,/p' | sed 's/)//g')" || rootflag=""
#echo /boot/initramfs-* | sed 's/\/boot\/initramfs-//g' | sed 's/\.img//g' > /tmp/.kernels
#for kernel in $(cat /tmp/.kernels); do
# echo -e "
# menuentry Manjaro $kernel {
#icon /EFI/refind/icons/os_manjaro.png
#loader vmlinuz-$kernel
#initrd initramfs-$kernel.img
#options "$LUKS_DEV rw root=${bl_root} quiet ${ucode} $rootflag"
#}
#" >> ${UEFI_MOUNT}/EFI/refind/refind.conf
# done
}
" >> ${UEFI_MOUNT}/EFI/refind/refind.conf
done
}
install_refind()
{
# Check if the volume is removable. If so, install all drivers
root_device=$(lsblk -lno NAME,MOUNTPOINT | grep "/mnt$" | awk '{print $1}' | rev | cut -c 2- | rev)
# install refind
if [[ "$(cat /sys/block/${root_device}/removable)" == 1 ]]; then
refind-install --root /mnt --alldrivers
else
refind-install --root /mnt
fi
# Mount as rw, add quiet
sed -i 's/\ ro\ /\ rw\ quiet\ /g' /mnt/boot/refind_linux.conf
# Boot in graphics mode
sed -i -e '/use_graphics_for/ s/^#*/#' ${MOUNTPOINT}${UEFI_MOUNT}/EFI/refind/refind.conf
# deal with LUKS and BTRFS
}
# Grub auto-detects installed kernels, etc. Syslinux does not, hence the extra code for it.
bios_bootloader() {
DIALOG " $_InstBiosBtTitle " --menu "\n$_InstGrubBody\n " 0 0 2 \

Loading…
Cancel
Save