Add systemd-boot bootloader
This commit is contained in:
parent
b47ed53fb2
commit
a53f27da98
1 changed files with 93 additions and 0 deletions
93
archfi
93
archfi
|
@ -1056,6 +1056,9 @@ archgenmkinitcpiochroot(){
|
||||||
archbootloadermenu(){
|
archbootloadermenu(){
|
||||||
options=()
|
options=()
|
||||||
options+=("grub" "")
|
options+=("grub" "")
|
||||||
|
if [ "$efimode" == "1" ]; then
|
||||||
|
options+=("systemd-boot" "")
|
||||||
|
fi
|
||||||
if [ "$efimode" != "2" ]; then
|
if [ "$efimode" != "2" ]; then
|
||||||
options+=("syslinux" "")
|
options+=("syslinux" "")
|
||||||
fi
|
fi
|
||||||
|
@ -1067,6 +1070,9 @@ archbootloadermenu(){
|
||||||
"grub")
|
"grub")
|
||||||
archbootloadergrubmenu
|
archbootloadergrubmenu
|
||||||
;;
|
;;
|
||||||
|
"systemd-boot")
|
||||||
|
archbootloadersystemdbmenu
|
||||||
|
;;
|
||||||
"syslinux")
|
"syslinux")
|
||||||
archbootloadersyslinuxbmenu
|
archbootloadersyslinuxbmenu
|
||||||
;;
|
;;
|
||||||
|
@ -1322,6 +1328,92 @@ archsyslinuxinstallbootloaderefichroot(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
archbootloadersystemdbmenu(){
|
||||||
|
if [ "$1" = "" ]; then
|
||||||
|
nextblitem="."
|
||||||
|
else
|
||||||
|
nextblitem=$1
|
||||||
|
fi
|
||||||
|
options=()
|
||||||
|
options+=("${txtinstall//%1/systemd-boot}" "bootctl install")
|
||||||
|
options+=("${txtedit//%1/loader.conf}" "($txtoptional)")
|
||||||
|
options+=("${txtedit//%1/entries}" "($txtoptional)")
|
||||||
|
sel=$(whiptail --backtitle "$apptitle" --title "$txtbootloadersyslinuxmenu" --menu "" --cancel-button "$txtback" --default-item "$nextblitem" 0 0 0 \
|
||||||
|
"${options[@]}" \
|
||||||
|
3>&1 1>&2 2>&3)
|
||||||
|
if [ "$?" = "0" ]; then
|
||||||
|
case $sel in
|
||||||
|
"${txtinstall//%1/systemd-boot}")
|
||||||
|
archsystemdinstall
|
||||||
|
nextblitem="${txtinstall//%1/loader.conf}"
|
||||||
|
;;
|
||||||
|
"${txtedit//%1/loader.conf}")
|
||||||
|
$EDITOR /mnt/boot/loader/loader.conf
|
||||||
|
nextblitem="${txtedit//%1/entries}"
|
||||||
|
;;
|
||||||
|
"${txtedit//%1/entries}")
|
||||||
|
$EDITOR /mnt/boot/loader/entries/*
|
||||||
|
nextblitem="${txtedit//%1/entries}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
archbootloadersystemdbmenu "$nextblitem"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
archsystemdinstall(){
|
||||||
|
clear
|
||||||
|
archchroot systemdbootloaderinstall $realrootdev
|
||||||
|
|
||||||
|
partuuid=$(blkid -s PARTUUID -o value $realrootdev)
|
||||||
|
parttype=$(blkid -s TYPE -o value $rootdev)
|
||||||
|
|
||||||
|
echo "cp /mnt/usr/share/systemd/bootctl/arch.conf /mnt/boot/loader/entries"
|
||||||
|
echo "echo \"timeout 2\" >> /mnt/boot/loader/loader.conf"
|
||||||
|
echo "cp /mnt/usr/share/systemd/bootctl/loader.conf /mnt/boot/loader"
|
||||||
|
if [ "$luksroot" = "1" ]; then
|
||||||
|
cryptuuid=$(blkid -s UUID -o value $realrootdev)
|
||||||
|
echo "sed -i \"s/PARTUUID=XXXX/\\/dev\\/mapper\\/root/\" /mnt/boot/loader/entries/arch.conf"
|
||||||
|
echo "sed -i \"s/XXXX/$parttype/\" /mnt/boot/loader/entries/arch.conf"
|
||||||
|
echo "sed -i \"s/root=/cryptdevice=UUID=$cryptuuid:root root=/\" /mnt/boot/loader/entries/arch.conf"
|
||||||
|
else
|
||||||
|
echo "sed -i \"s/PARTUUID=XXXX/PARTUUID=$partuuid/\" /mnt/boot/loader/entries/arch.conf"
|
||||||
|
echo "sed -i \"s/XXXX/$parttype/\" /mnt/boot/loader/entries/arch.conf"
|
||||||
|
fi
|
||||||
|
echo "cp /mnt/boot/loader/entries/arch.conf /mnt/boot/loader/entries/arch-fallback.conf"
|
||||||
|
echo "sed -i \"s/Arch Linux/Arch Linux Fallback/\" /mnt/boot/loader/entries/arch-fallback.conf"
|
||||||
|
echo "sed -i \"s/initramfs-linux/initramfs-linux-fallback/\" /mnt/boot/loader/entries/arch-fallback.conf"
|
||||||
|
|
||||||
|
cp /mnt/usr/share/systemd/bootctl/loader.conf /mnt/boot/loader
|
||||||
|
echo "timeout 2" >> /mnt/boot/loader/loader.conf
|
||||||
|
cp /mnt/usr/share/systemd/bootctl/arch.conf /mnt/boot/loader/entries
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$luksroot" = "1" ]; then
|
||||||
|
sed -i "s/PARTUUID=XXXX/\/dev\/mapper\/root/" /mnt/boot/loader/entries/arch.conf
|
||||||
|
sed -i "s/XXXX/$parttype/" /mnt/boot/loader/entries/arch.conf
|
||||||
|
sed -i "s/root=/cryptdevice=UUID=$cryptuuid:root root=/" /mnt/boot/loader/entries/arch.conf
|
||||||
|
else
|
||||||
|
sed -i "s/PARTUUID=XXXX/PARTUUID=$partuuid/" /mnt/boot/loader/entries/arch.conf
|
||||||
|
sed -i "s/XXXX/$parttype/" /mnt/boot/loader/entries/arch.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cp /mnt/boot/loader/entries/arch.conf /mnt/boot/loader/entries/arch-fallback.conf
|
||||||
|
sed -i "s/Arch Linux/Arch Linux Fallback/" /mnt/boot/loader/entries/arch-fallback.conf
|
||||||
|
sed -i "s/initramfs-linux/initramfs-linux-fallback/" /mnt/boot/loader/entries/arch-fallback.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pressanykey
|
||||||
|
}
|
||||||
|
archsystemdinstallchroot(){
|
||||||
|
echo "bootctl --path=/boot install"
|
||||||
|
bootctl --path=/boot install
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
archenabledhcpcd(){
|
archenabledhcpcd(){
|
||||||
if (whiptail --backtitle "$apptitle" --title "${txtenable//%1/dhcpcd}" --yesno "${txtenable//%1/dhcpcd} ?" 0 0) then
|
if (whiptail --backtitle "$apptitle" --title "${txtenable//%1/dhcpcd}" --yesno "${txtenable//%1/dhcpcd} ?" 0 0) then
|
||||||
|
@ -1546,6 +1638,7 @@ if [ "$chroot" = "1" ]; then
|
||||||
'grubbootloaderefiusbinstall') archgrubinstallbootloaderefiusbchroot $args;;
|
'grubbootloaderefiusbinstall') archgrubinstallbootloaderefiusbchroot $args;;
|
||||||
'syslinuxbootloaderinstall') archsyslinuxinstallbootloaderchroot $args;;
|
'syslinuxbootloaderinstall') archsyslinuxinstallbootloaderchroot $args;;
|
||||||
'syslinuxbootloaderefiinstall') archsyslinuxinstallbootloaderefichroot $args;;
|
'syslinuxbootloaderefiinstall') archsyslinuxinstallbootloaderefichroot $args;;
|
||||||
|
'systemdbootloaderinstall') archsystemdinstallchroot $args;;
|
||||||
'archdiinstallandlaunch') archdiinstallandlaunchchroot;;
|
'archdiinstallandlaunch') archdiinstallandlaunchchroot;;
|
||||||
'archdiinstall') archdiinstallchroot;;
|
'archdiinstall') archdiinstallchroot;;
|
||||||
'archdilaunch') archdilaunchchroot;;
|
'archdilaunch') archdilaunchchroot;;
|
||||||
|
|
Loading…
Reference in a new issue