Fix: [Only if the installation has been revised real-time at least once by the user] 'pacstrap' re-running in the end of installation has been adressed

Fix: [Only if the installation has been revised real-time at least once by the user] The installation now successfully completes if the selected filesystem has been changed from/to 'Ext4/Btrfs' or opposite
This commit is contained in:
Jane Doe
2026-04-01 19:22:23 +03:00
parent a7d31a7a96
commit e5f8b3c728
+24 -7
View File
@@ -1,7 +1,7 @@
#!/bin/bash
# Amelia installer for Archlinux
# Version: 1.4.1
# Version: 1.4.2
# Source: https://gitlab.com/prism7/archery
set -euo pipefail
@@ -2842,10 +2842,6 @@ instl() {
fi
set_vars
chroot_conf
completion
installation="ok"
umount -R /mnt
reboot
}
swappart() {
if [[ "${encrypt}" == "yes" ]]; then
@@ -2901,8 +2897,10 @@ auto_mode() {
sleep 0.2
YELLOW "\n\n > Auto Mode Selected\n\n"
if [[ "${fs}" == "1" ]]; then
[[ "$revision" == "y" ]] && wipefs -t btrfs -f "${root_dev}" > "${void}" 2> "${log}"
if mkfs.ext4 -F -L Root "${root_dev}" > "${void}" 2> "${log}" ; then
tune2fs -O fast_commit "${root_dev}" > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
mount "${root_dev}" /mnt > "${void}" 2> "${log}" || err_abort
sleep 0.2
NC "\n==> [${green}/Root OK${nc}]"
@@ -2912,7 +2910,9 @@ auto_mode() {
until mount_mnt; do : ; done
fi
elif [[ "${fs}" == "2" ]]; then
[[ "$revision" == "y" ]] && wipefs -t ext4 -f "${root_dev}" > "${void}" 2> "${log}"
if mkfs.btrfs -f -L Root "${root_dev}" > "${void}" 2> "${log}" ; then
udevadm trigger --subsystem-match=block --action=change || err_abort
mount "${root_dev}" /mnt > "${void}" 2> "${log}" || err_abort
btrfs subvolume create /mnt/@ > "${void}" 2> "${log}" || err_abort
btrfs subvolume create /mnt/@home > "${void}" 2> "${log}" || err_abort
@@ -3000,8 +3000,10 @@ auto_mode() {
homeform="n"
fi
if [[ "${homeform}" == "y" ]]; then
[[ "$revision" == "y" ]] && wipefs -t btrfs -f "${home_dev}" > "${void}" 2> "${log}"
if mkfs.ext4 -F -L Home "${home_dev}" > "${void}" 2> "${log}" ; then
tune2fs -O fast_commit "${home_dev}" > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
mount --mkdir "${home_dev}" /mnt/home > "${void}" 2> "${log}" || err_abort
sleep 0.2
NC "\n==> [${green}/Home OK${nc}]"
@@ -3022,7 +3024,6 @@ auto_mode() {
NC "\n==> [${green}Unformatted /Home Mounted OK${nc}]"
fi
fi
blkid > "${void}" 2> "${log}"
keypress
}
manual_mode() {
@@ -3139,8 +3140,10 @@ form_root() {
rootpart="$(echo "${volumes}" | awk "\$1 == ${form_root_nmbr} {print \$2}")"
if [[ -e "${rootpart}" ]]; then
if [[ "${fs}" == "1" ]]; then
[[ "$revision" == "y" ]] && wipefs -t btrfs -f "${rootpart}"
if mkfs.ext4 -F "${rootpart}" > "${void}" 2> "${log}" ; then
tune2fs -O fast_commit "${rootpart}" > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
local prompt="Format ${roottype}"
ok
else
@@ -3150,7 +3153,9 @@ form_root() {
return 0
fi
elif [[ "${fs}" == "2" ]]; then
[[ "$revision" == "y" ]] && wipefs -t ext4 -f "${rootpart}"
if mkfs.btrfs -f "${rootpart}" > "${void}" 2> "${log}" ; then
udevadm trigger --subsystem-match=block --action=change || err_abort
mount "${rootpart}" /mnt > "${void}" 2> "${log}" || err_abort
btrfs subvolume create /mnt/@ > "${void}" 2> "${log}" || err_abort
btrfs subvolume create /mnt/@home > "${void}" 2> "${log}" || err_abort
@@ -3220,8 +3225,10 @@ form_home() {
if [[ -n "${form_home_nmbr}" ]]; then
homepart="$(echo "${volumes}" | awk "\$1 == ${form_home_nmbr} {print \$2}")"
if [[ -e "${homepart}" ]]; then
[[ "$revision" == "y" ]] && wipefs -t btrfs -f "${homepart}"
if mkfs.ext4 -F "${homepart}" > "${void}" 2> "${log}" ; then
tune2fs -O fast_commit "${homepart}" > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
local prompt="Format /Home"
ok
else
@@ -3458,12 +3465,14 @@ luks() {
if [[ "${fs}" == "1" ]]; then
mkfs.ext4 -F -L Root /dev/mapper/root > "${void}" 2> "${log}" || err_abort
tune2fs -O fast_commit /dev/mapper/root > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
mount /dev/mapper/root /mnt > "${void}" 2> "${log}" || err_abort
sleep 0.2
NC "\n==> [${green}Encrypted /Root OK${nc}]"
luks_root="ok"
elif [[ "${fs}" == "2" ]]; then
mkfs.btrfs -f -L Root /dev/mapper/root > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
mount /dev/mapper/root /mnt > "${void}" 2> "${log}" || err_abort
btrfs subvolume create /mnt/@ > "${void}" 2> "${log}" || err_abort
btrfs subvolume create /mnt/@home > "${void}" 2> "${log}" || err_abort
@@ -3504,6 +3513,7 @@ luks() {
echo -n "${CRYPTPASS}" | cryptsetup luksOpen "${swap_dev}" swap || err_abort
fi
mkswap /dev/mapper/swap > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
sleep 0.2
NC "\n==> [${green}Encrypted /Swap OK${nc}]"
luks_swap="ok"
@@ -3525,6 +3535,7 @@ luks() {
fi
mkfs.ext4 -F -L Home /dev/mapper/home > "${void}" 2> "${log}" || err_abort
tune2fs -O fast_commit /dev/mapper/home > "${void}" 2> "${log}" || err_abort
udevadm trigger --subsystem-match=block --action=change || err_abort
mount --mkdir /dev/mapper/home /mnt/home > "${void}" 2> "${log}" || err_abort
sleep 0.2
NC "\n==> [${green}Encrypted /Home OK${nc}]\n"
@@ -3538,6 +3549,7 @@ luks() {
elif [[ "${sep_home}" == "y" && "${hometype}" == "2" ]]; then
ack "An existing /Home partition has been detected and will be utilized in this installation"
keypress
udevadm trigger --subsystem-match=block --action=change || err_abort
mount --mkdir "${home_dev}" /mnt/home > "${void}" 2> "${log}" || err_abort
sleep 0.2
NC "\n==> [${green}Unformatted /Home Mounted OK${nc}]\n"
@@ -4744,6 +4756,11 @@ CUSTOM_SRVC
foreign
optimizations
secboot_sign
completion
installation="ok"
umount -R /mnt
reboot
exit
}
nc="\e[0m"
red="\e[31m"
@@ -4769,7 +4786,7 @@ CUSTOM_SRVC
tty="$(tty)"
trg=""
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vendor="" vendors="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" greeter="" cust_bootopts="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" encr_home_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" sys_optm="" set_ext_opt="" ask_param="" desk_setup="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" show_extopts="" gptslct="" gptok="" gptabort="" nvidiaprop="" nowarning="" efiname="" path="" hometype="" homeform="" LuksParts="" nvidia_aur="" web_aur_url="" session="" alt_session="" session_support="" alt_session_pack="")
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vendor="" vendors="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" greeter="" cust_bootopts="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" encr_home_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" sys_optm="" set_ext_opt="" ask_param="" desk_setup="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" show_extopts="" gptslct="" gptok="" gptabort="" nvidiaprop="" nowarning="" efiname="" path="" hometype="" homeform="" LuksParts="" nvidia_aur="" web_aur_url="" session="" alt_session="" session_support="" alt_session_pack="" revision="")
export "${vars[@]}"
validpkgs=()
clear