Add: If the '/Root' partition is smaller than 8 Gb, the installer will now issue a warning against installation failure.

Change: The list(s) of packages to be pacstrapped/installed in the system, now derives from a versatile array,
instead of the 'hard-coded' variables previously used.
This is valid for all 'Vanilla' setups & the 'Custom Arch Linux' setup.
Fix: A 'secboot_sign' function (Secure-Boot Signing stage) issue that was causing failure to securely sign certain ukis, has now been resolved.
Change: Code re-arrangement in the 'pacstrap_system' function (Pacstrap System stage).
This commit is contained in:
Jane Doe 2024-12-27 00:19:13 +00:00
parent 07cda6bd3d
commit f60955831c

View file

@ -2,7 +2,7 @@
# Amelia Installer
# https://gitlab.com/prism7/archery
# Version: 8.1.0
# Version: 8.2.0
set -euo pipefail
###################################################################################################
@ -3245,7 +3245,31 @@ ${multi_swap}
#--------------------------------------------------------------------------------------------------
if [[ -e "${root_dev}" ]]; then
rootprt="ok"
rootpartsize="$(lsblk -dno SIZE --bytes "${root_dev}")"
if [[ "${rootpartsize}" -ge "8589934592" ]]; then
rootprt="ok"
else
rootprt="ok"
sleep 0.2
RED "
-----------------------------------------------
### ${yellow}WARNING: /Root's size is not adequate ${red}###
-----------------------------------------------"
sleep 0.2
RED "
------------------------------------------------------------------------
### ${yellow}Depending on the size of your setup, installation might fail ! ${red}###
------------------------------------------------------------------------"
NC "
${bwhite}Press any key to continue${nc}
"
read -r -s -n 1
fi
if [[ "${autoroot}" == "y" ]]; then
if [[ "${presetpart}" == "y" || "${smartpart}" == "y" ]]; then
sleep 0.2
@ -5217,8 +5241,8 @@ Enter a number: "
###################################################################################################
pacstrap_system() {
local prompt="Pacstrap System"
basepkgs=(base efibootmgr nano pkgstats sudo vim "${fstools}" "${kernel}" "${microcode}")
local prompt="Pacstrap System"
sleep 0.2
NC "
@ -5235,38 +5259,31 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
fi
fi
if [[ -n "${bootldr_pkgs}" ]]; then
basepkgs+=("${bootldr_pkgs}")
fi
if [[ "${vendor}" == "Virtual Machine" ]]; then
basepkgs+=("${vmpkgs}")
else
basepkgs+=("linux-firmware")
basepkgs+=(linux-firmware)
fi
if [[ "${vendor}" == "Nvidia" ]]; then
basepkgs+=("${kernel}-headers")
if [[ -n "${bootldr_pkgs}" ]]; then
basepkgs+=("${bootldr_pkgs}")
fi
if [[ -n "${vgapkgs}" ]]; then
basepkgs+=("${vgapkgs}")
if [[ -n "${ukify}" ]]; then
basepkgs+=("${ukify}")
fi
if [[ -n "${wireless_reg}" ]]; then
basepkgs+=("${wireless_reg}")
fi
if [[ -n "${devel}" ]]; then
basepkgs+=("${devel}")
fi
if [[ -n "${zram}" ]]; then
basepkgs+=("${zram}")
fi
if [[ -n "${ukify}" ]]; then
basepkgs+=("${ukify}")
if [[ -n "${vgapkgs}" ]]; then
basepkgs+=("${vgapkgs}")
fi
if [[ "${vendor}" == "Nvidia" ]]; then
basepkgs+=("${kernel}-headers")
fi
if [[ -n "${devel}" ]]; then
basepkgs+=("${devel}")
fi
if [[ -n "${wireless_reg}" ]]; then
basepkgs+=("${wireless_reg}")
fi
case "${packages}" in
@ -5326,11 +5343,33 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
network="NetworkManager" ;;
12) # Custom System:
custarray=(base sudo "${custompkgs}" "${fstools}" "${kernel}" "${microcode}")
if [[ "${vendor}" == "Virtual Machine" ]]; then
deskpkgs="base sudo ${bootldr_pkgs} ${custompkgs} ${fstools} ${kernel} ${microcode} ${vmpkgs} ${greeter}"
custarray+=("${vmpkgs}")
else
deskpkgs="base linux-firmware sudo ${bootldr_pkgs} ${custompkgs} ${fstools} ${kernel} ${microcode} ${vgapkgs} ${wireless_reg} ${greeter}"
fi ;;
custarray+=(linux-firmware)
fi
if [[ -n "${bootldr_pkgs}" ]]; then
custarray+=("${bootldr_pkgs}")
fi
if [[ -n "${ukify}" ]]; then
custarray+=("${ukify}")
fi
if [[ -n "${zram}" ]]; then
custarray+=("${zram}")
fi
if [[ -n "${vgapkgs}" ]]; then
custarray+=("${vgapkgs}")
fi
if [[ "${greeternmbr}" =~ ^(1|2|3|)$ ]]; then
custarray+=("${greeter}")
fi
if [[ -n "${wireless_reg}" ]]; then
custarray+=("${wireless_reg}")
fi
deskpkgs="${custarray[*]}" ;;
esac
pkg_displ
@ -5699,7 +5738,7 @@ secboot_sign() {
sbctl enroll-keys -m || exit
sbctl sign -s /boot/vmlinuz-${kernel} || exit
sbctl sign -s ${btldr_esp_mount}/EFI/BOOT/BOOTX64.EFI || exit
sbctl sign -s ${btldr_esp_mount}/EFI/Linux/arch-linux.efi || exit
sbctl sign -s ${btldr_esp_mount}/EFI/Linux/arch-${kernel}.efi || exit
sbctl sign -s ${btldr_esp_mount}/EFI/systemd/systemd-bootx64.efi || exit
sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi || exit
SECSIGN