Add: If an error occurs after LUKS encryption has been performed, the installer will force a reboot.

If not, the kernel cannot be informed of the changes which leads to issues.
Fix: Setting non-integer values for 'Swapsize' now re-runs the said stage instead of erroring out the installation.
Fix: 'Automatic Partitioning' stage > Setting non-integer values for 'prcnt' now re-runs the said stage instead of erroring out the installation.
Change: A few prompts have been edited for better aesthetics.
This commit is contained in:
Jane Doe 2025-01-12 22:09:46 +00:00
parent cda418d4a7
commit df26048b32

View file

@ -2,7 +2,7 @@
# Amelia Installer # Amelia Installer
# https://gitlab.com/prism7/archery # https://gitlab.com/prism7/archery
# Version: 8.4.3 # Version: 8.5.0
set -euo pipefail set -euo pipefail
################################################################################################### ###################################################################################################
@ -142,6 +142,18 @@ reboot() {
systemctl reboot systemctl reboot
fi fi
} }
force_reboot() {
sleep 0.2
RED "
----------------------------------------------------------------
### ${yellow}A reboot is mandatory after performing LUKS encryption ${red}###
----------------------------------------------------------------
"
sleep 5
systemctl reboot
}
line2() { line2() {
printf '\n\n' printf '\n\n'
} }
@ -326,6 +338,9 @@ failure() {
REDBG "************************************************************************************************* " REDBG "************************************************************************************************* "
line3 line3
umount -R /mnt > /dev/null 2>&1 umount -R /mnt > /dev/null 2>&1
if [[ "${luks_root}" == "ok" || "${luks_swap}" == "ok" || "${luks_home}" == "ok" ]] && [[ "${installation}" != "ok" ]]; then
force_reboot
fi
exit exit
} }
# END PROMPT FUNCTIONS # END PROMPT FUNCTIONS
@ -1388,14 +1403,14 @@ Enter Swap size ${bwhite}(in GB)${blue}: "
reload reload
line2 line2
return 1 return 1
elif [[ "${swapsize}" =~ [[:digit:]] ]]; then elif [[ "${swapsize}" == [[:digit:]] ]]; then
ok ok
else else
sleep 0.2 sleep 0.2
RED " RED "
------------------------------------------- ---------------------------------------------
### ${yellow}Please use only digits as a value ${red}### ### ${yellow}Please use only integers as a value ${red}###
-------------------------------------------" ---------------------------------------------"
reload reload
line2 line2
return 1 return 1
@ -2703,7 +2718,7 @@ Enter a Custom Percentage number ${nc}e.g. 30 ${bwhite}(empty to skip)${blue}: "
fi fi
if [[ "${preset}" == "3" || "${preset}" == "4" ]] ; then if [[ "${preset}" == "3" || "${preset}" == "4" ]] ; then
if [[ "${prcnt}" == [[:alpha:]] ]]; then if [[ "${prcnt}" =~ [[:alpha:]] ]]; then
sleep 0.2 sleep 0.2
RED " RED "
------------------------------------------- -------------------------------------------
@ -4994,6 +5009,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}LUKS
NC " NC "
==> [${green}Encrypted /Root OK${nc}] ==> [${green}Encrypted /Root OK${nc}]
" "
luks_root="ok"
#------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------
elif [[ "${fs}" == "2" ]]; then elif [[ "${fs}" == "2" ]]; then
mkfs.btrfs -f -L Root /dev/mapper/"${ENCROOT}" > /dev/null 2> amelia_log.txt || err_abort mkfs.btrfs -f -L Root /dev/mapper/"${ENCROOT}" > /dev/null 2> amelia_log.txt || err_abort
@ -5021,6 +5037,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}LUKS
NC " NC "
==> [${green}Encrypted /@ OK${nc}] ==> [${green}Encrypted /@ OK${nc}]
" "
luks_root="ok"
fi fi
else else
line2 line2
@ -5042,6 +5059,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}LUKS
NC " NC "
==> [${green}Encrypted /Swap OK${nc}] ==> [${green}Encrypted /Swap OK${nc}]
" "
luks_swap="ok"
else else
line2 line2
err_try err_try
@ -5065,6 +5083,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}LUKS
NC " NC "
==> [${green}Encrypted /Home OK${nc}] ==> [${green}Encrypted /Home OK${nc}]
" "
luks_home="ok"
else else
line2 line2
err_try err_try
@ -6133,6 +6152,7 @@ NETWORK
mkinitcpio_preset mkinitcpio_preset
secboot_sign secboot_sign
completion completion
installation="ok"
fi fi
#-------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------
# 'Custom System' Configuration: # 'Custom System' Configuration:
@ -6190,6 +6210,7 @@ CUSTOMSERV
mkinitcpio_preset mkinitcpio_preset
secboot_sign secboot_sign
completion completion
installation="ok"
fi fi
#-------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------
# Minimal Plasma/Gnome Optimized-System Configuration: # Minimal Plasma/Gnome Optimized-System Configuration:
@ -6378,6 +6399,7 @@ MULTILIB
mkinitcpio_preset mkinitcpio_preset
secboot_sign secboot_sign
completion completion
installation="ok"
fi fi
umount -R /mnt umount -R /mnt
reboot reboot
@ -6390,7 +6412,7 @@ MULTILIB
tty="$(tty)" tty="$(tty)"
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)" disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
trg="" trg=""
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgapkgs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" parallel="" parallelnmbr="" multilib="" nvname="" nogsp="") vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgapkgs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" parallel="" parallelnmbr="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="")
export "${vars[@]}" export "${vars[@]}"
clear clear
first_check first_check