mirror of
https://gitlab.com/prism7/archery.git
synced 2026-04-28 09:27:35 +02:00
Change: If 'Multi-booting' has been selected, then the 'Manual Mode' will no longer offer to format the EFI partition.
Change: If a seperate Ext4 /Home partition is set to be re-used, then the 'Manual Mode' will skip the Ext4 partition formatting prompt.
Change: Code cleanup for efficiency (Functions {'revise' 'confirm_status' 'instl'} have been edited)
Remove: Code cleanup for efficiency (Function 'ask_homepart_form' has been removed)
Change: BTRFS > The subvolumes mounting options to be passed in the 'fstab' have been re-defined.
Change: A few prompts have been edited for aesthetic reasons.
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Amelia Installer
|
# Amelia Installer
|
||||||
# Source: https://gitlab.com/prism7/archery
|
# Source: https://gitlab.com/prism7/archery
|
||||||
# Version: 1.1.0
|
# Version: 1.1.1
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
@@ -281,7 +281,7 @@ keypress() {
|
|||||||
NC "
|
NC "
|
||||||
|
|
||||||
|
|
||||||
${bwhite}Press any key to continue${nc}
|
${bwhite}Press any key to continue${nc}
|
||||||
|
|
||||||
|
|
||||||
"
|
"
|
||||||
@@ -639,7 +639,7 @@ Enter a number: "
|
|||||||
3)
|
3)
|
||||||
until dsks_submn; do : ; done ;;
|
until dsks_submn; do : ; done ;;
|
||||||
4)
|
4)
|
||||||
until instl; do : ; done ;;
|
instl ;;
|
||||||
"")
|
"")
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
RED "
|
RED "
|
||||||
@@ -3472,7 +3472,7 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Multi
|
|||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
### ${nc}If ${bwhite}[y]es${nc} then:${cyan}
|
### If ${bwhite}[y]${nc}es ${yellow}then:${cyan}
|
||||||
|
|
||||||
|
|
||||||
>> ${nc}Your ${yellowl}EFI ${nc}System Partition (ESP) will stay ${yellowl}intact${nc}${cyan}
|
>> ${nc}Your ${yellowl}EFI ${nc}System Partition (ESP) will stay ${yellowl}intact${nc}${cyan}
|
||||||
@@ -4812,7 +4812,7 @@ instl() {
|
|||||||
until slct_shell; do : ; done
|
until slct_shell; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${kernelnmbr}" ]]; then
|
if [[ -z "${kernelnmbr}" || "${revision}" == "y" ]]; then
|
||||||
local stage_prompt="Kernel, Secureboot Signing, Bootloader & ESP Mountpoint"
|
local stage_prompt="Kernel, Secureboot Signing, Bootloader & ESP Mountpoint"
|
||||||
completion_err
|
completion_err
|
||||||
until slct_krnl; do : ; done
|
until slct_krnl; do : ; done
|
||||||
@@ -4821,40 +4821,40 @@ instl() {
|
|||||||
until slct_espmnt; do : ; done
|
until slct_espmnt; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${fs}" ]]; then
|
if [[ -z "${fs}" || "${revision}" == "y" ]]; then
|
||||||
local stage_prompt="Filesystem & Swap Setup"
|
local stage_prompt="Filesystem & Swap Setup"
|
||||||
completion_err
|
completion_err
|
||||||
until slct_fs; do : ; done
|
until slct_fs; do : ; done
|
||||||
until slct_swap; do : ; done
|
until slct_swap; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${vendor}" != "Virtual Machine" && -z "${gfx_slct}" ]]; then
|
if [[ "${vendor}" != "Virtual Machine" && -z "${gfx_slct}" ]] || [[ "${vendor}" != "Virtual Machine" && "${revision}" == "y" ]]; then
|
||||||
local stage_prompt="Graphics Setup"
|
local stage_prompt="Graphics Setup"
|
||||||
completion_err
|
completion_err
|
||||||
until dtct_gfx; do : ; done
|
until dtct_gfx; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${desktop}" ]]; then
|
if [[ -z "${desktop}" || "${revision}" == "y" ]]; then
|
||||||
local stage_prompt="Desktop Setup"
|
local stage_prompt="Desktop Setup"
|
||||||
completion_err
|
completion_err
|
||||||
until dsktp_slct; do : ; done
|
until dsktp_slct; do : ; done
|
||||||
fi
|
fi
|
||||||
if [[ -z "${dev}" ]]; then
|
if [[ -z "${dev}" || "${revision}" == "y" ]]; then
|
||||||
until base_devel; do : ; done
|
until base_devel; do : ; done
|
||||||
fi
|
fi
|
||||||
if [[ -z "${web_slct}" ]]; then
|
if [[ -z "${web_slct}" || "${revision}" == "y" ]]; then
|
||||||
if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then
|
if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then
|
||||||
until web_browser; do : ; done
|
until web_browser; do : ; done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${vendor}" != "Virtual Machine" ]]; then
|
if [[ "${vendor}" != "Virtual Machine" ]]; then
|
||||||
if [[ -z "${printer}" ]]; then
|
if [[ -z "${printer}" || "${revision}" == "y" ]]; then
|
||||||
if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then
|
if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then
|
||||||
until print_scan; do : ; done
|
until print_scan; do : ; done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -z "${efi_entr_del}" ]]; then
|
if [[ -z "${efi_entr_del}" || "${revision}" == "y" ]]; then
|
||||||
local stage_prompt="EFI Boot Entries Deletion"
|
local stage_prompt="EFI Boot Entries Deletion"
|
||||||
completion_err
|
completion_err
|
||||||
until boot_entr; do : ; done
|
until boot_entr; do : ; done
|
||||||
@@ -4895,6 +4895,7 @@ instl() {
|
|||||||
elif [[ "${encrypt}" == "yes" ]]; then
|
elif [[ "${encrypt}" == "yes" ]]; then
|
||||||
until sec_erase; do : ; done
|
until sec_erase; do : ; done
|
||||||
until luks; do : ; done
|
until luks; do : ; done
|
||||||
|
fi
|
||||||
until opt_pcmn; do : ; done
|
until opt_pcmn; do : ; done
|
||||||
until pacstrap_system; do : ; done
|
until pacstrap_system; do : ; done
|
||||||
if [[ "${swapmode}" == "2" ]]; then
|
if [[ "${swapmode}" == "2" ]]; then
|
||||||
@@ -4905,7 +4906,6 @@ instl() {
|
|||||||
fi
|
fi
|
||||||
set_vars
|
set_vars
|
||||||
chroot_conf
|
chroot_conf
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
swappart() {
|
swappart() {
|
||||||
@@ -4977,6 +4977,7 @@ Enter a Mode number: "
|
|||||||
2)
|
2)
|
||||||
until manual_mode; do : ; done ;;
|
until manual_mode; do : ; done ;;
|
||||||
"")
|
"")
|
||||||
|
sleep 0.2
|
||||||
RED "
|
RED "
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
### ${nc}Please select a Mode to continue ${red}###
|
### ${nc}Please select a Mode to continue ${red}###
|
||||||
@@ -5105,24 +5106,24 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A
|
|||||||
until mount_esp; do : ; done
|
until mount_esp; do : ; done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
if [[ "${xbootloader}" == "yes" ]]; then
|
if [[ "${xbootloader}" == "yes" ]]; then
|
||||||
if mkfs.fat -F 32 -n XBOOTLDR "${xboot_dev}" > "${void}" 2> "${log}" ; then
|
if mkfs.fat -F 32 -n XBOOTLDR "${xboot_dev}" > "${void}" 2> "${log}" ; then
|
||||||
mount --mkdir "${xboot_dev}" /mnt/boot > "${void}" 2> "${log}" || err_abort
|
mount --mkdir "${xboot_dev}" /mnt/boot > "${void}" 2> "${log}" || err_abort
|
||||||
sleep 0.2
|
|
||||||
NC "
|
|
||||||
==> [${green}/XBOOTLDR OK${nc}]
|
|
||||||
"
|
|
||||||
else
|
|
||||||
umount_manual
|
|
||||||
until form_xboot; do : ; done
|
|
||||||
until mount_mnt; do : ; done
|
|
||||||
until mount_esp; do : ; done
|
|
||||||
until mount_xboot; do : ; done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
|
NC "
|
||||||
|
==> [${green}/XBOOTLDR OK${nc}]
|
||||||
|
"
|
||||||
|
else
|
||||||
|
umount_manual
|
||||||
|
until form_xboot; do : ; done
|
||||||
|
until mount_mnt; do : ; done
|
||||||
|
until mount_esp; do : ; done
|
||||||
|
until mount_xboot; do : ; done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
sleep 0.2
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
if [[ "${fs}" == "1" && -e "${home_dev}" && "${sep_home}" == "y" ]]; then
|
if [[ "${fs}" == "1" && -e "${home_dev}" && "${sep_home}" == "y" ]]; then
|
||||||
if [[ "${smartpart}" == "y" ]]; then
|
if [[ "${smartpart}" == "y" ]]; then
|
||||||
@@ -5160,9 +5161,6 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A
|
|||||||
NC "
|
NC "
|
||||||
==> [${green}Unformatted /Home Mounted OK${nc}]
|
==> [${green}Unformatted /Home Mounted OK${nc}]
|
||||||
"
|
"
|
||||||
else
|
|
||||||
y_n
|
|
||||||
until ask_homepart_form; do : ; done
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -5171,12 +5169,14 @@ manual_mode() {
|
|||||||
|
|
||||||
volumes="$(fdisk -l | grep '^/dev' | cat --number)"
|
volumes="$(fdisk -l | grep '^/dev' | cat --number)"
|
||||||
|
|
||||||
|
if [[ "${multibooting}" == "no" ]]; then
|
||||||
until form_esp; do : ; done
|
until form_esp; do : ; done
|
||||||
|
fi
|
||||||
if [[ "${xbootloader}" == "yes" ]]; then
|
if [[ "${xbootloader}" == "yes" ]]; then
|
||||||
until form_xboot; do : ; done
|
until form_xboot; do : ; done
|
||||||
fi
|
fi
|
||||||
until form_root; do : ; done
|
until form_root; do : ; done
|
||||||
if [[ -e "${home_dev}" && "${sep_home}" == "y" ]]; then
|
if [[ "${sep_home}" == "y" && "${hometype}" == "1" ]]; then
|
||||||
until form_home; do : ; done
|
until form_home; do : ; done
|
||||||
fi
|
fi
|
||||||
until mount_mnt; do : ; done
|
until mount_mnt; do : ; done
|
||||||
@@ -5184,7 +5184,7 @@ manual_mode() {
|
|||||||
if [[ "${xbootloader}" == "yes" ]]; then
|
if [[ "${xbootloader}" == "yes" ]]; then
|
||||||
until mount_xboot; do : ; done
|
until mount_xboot; do : ; done
|
||||||
fi
|
fi
|
||||||
if [[ -e "${home_dev}" && "${sep_home}" == "y" ]]; then
|
if [[ "${sep_home}" == "y" ]]; then
|
||||||
until mount_home; do : ; done
|
until mount_home; do : ; done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -5432,51 +5432,6 @@ Enter a name: "
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
ask_homepart_form() {
|
|
||||||
|
|
||||||
if [[ "${fs}" == "1" && -e "${home_dev}" && "${sep_home}" == "y" ]]; then
|
|
||||||
if [[ "${smartpart}" == "y" ]]; then
|
|
||||||
homeform="y"
|
|
||||||
elif [[ "${preset}" =~ ^(3|4)$ ]]; then
|
|
||||||
homeform="y"
|
|
||||||
elif [[ "${hometype}" == "1" ]]; then
|
|
||||||
homeform="y"
|
|
||||||
elif [[ "${hometype}" == "2" ]]; then
|
|
||||||
homeform="n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${homeform}" == "y" ]]; then
|
|
||||||
if mkfs.ext4 -F -L Home "${home_dev}" > "${void}" 2> "${log}" ; then
|
|
||||||
tune2fs -O fast_commit "${home_dev}" > "${void}" 2> "${log}" || err_abort
|
|
||||||
mount --mkdir "${home_dev}" /mnt/home > "${void}" 2> "${log}" || err_abort
|
|
||||||
sleep 0.2
|
|
||||||
NC "
|
|
||||||
==> [${green}/Home OK${nc}]
|
|
||||||
"
|
|
||||||
else
|
|
||||||
umount_manual
|
|
||||||
until manual_part; do : ; done
|
|
||||||
until form_home; do : ; done
|
|
||||||
until mount_mnt; do : ; done
|
|
||||||
until mount_esp; do : ; done
|
|
||||||
if [[ "${xbootloader}" == "yes" ]]; then
|
|
||||||
until mount_xboot; do : ; done
|
|
||||||
fi
|
|
||||||
until mount_home; do : ; done
|
|
||||||
fi
|
|
||||||
elif [[ "${homeform}" == "n" ]]; then
|
|
||||||
mount --mkdir "${home_dev}" /mnt/home > "${void}" 2> "${log}" || err_abort
|
|
||||||
sleep 0.2
|
|
||||||
NC "
|
|
||||||
==> [${green}Unformatted /Home Mounted OK${nc}]
|
|
||||||
"
|
|
||||||
else
|
|
||||||
y_n
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
###################################################################################################
|
|
||||||
form_home() {
|
form_home() {
|
||||||
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
@@ -5792,16 +5747,7 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In
|
|||||||
|
|
||||||
if [[ "${agree}" == "yes" ]]; then
|
if [[ "${agree}" == "yes" ]]; then
|
||||||
ok
|
ok
|
||||||
until opt_pcmn; do : ; done
|
return 0
|
||||||
until pacstrap_system; do : ; done
|
|
||||||
if [[ "${swapmode}" == "2" ]]; then
|
|
||||||
until "${swaptype}"; do : ; done
|
|
||||||
fi
|
|
||||||
if [[ -n "${REGDOM}" ]]; then
|
|
||||||
until set_wireless_regdom; do : ; done
|
|
||||||
fi
|
|
||||||
set_vars
|
|
||||||
chroot_conf
|
|
||||||
elif [[ "${agree}" == "no" ]]; then
|
elif [[ "${agree}" == "no" ]]; then
|
||||||
unmount
|
unmount
|
||||||
until revise; do : ; done
|
until revise; do : ; done
|
||||||
@@ -5813,66 +5759,12 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In
|
|||||||
###################################################################################################
|
###################################################################################################
|
||||||
revise() {
|
revise() {
|
||||||
|
|
||||||
|
revision="y"
|
||||||
reset=(xbootloader="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" lowlat="" nogsp="" sanity="" partok="" preset="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvdprop="" nowarning="" hometype="" homeform="" smartpart="" LuksParts="")
|
reset=(xbootloader="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" lowlat="" nogsp="" sanity="" partok="" preset="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvdprop="" nowarning="" hometype="" homeform="" smartpart="" LuksParts="")
|
||||||
export "${reset[@]}"
|
export "${reset[@]}"
|
||||||
gfxpkgs=()
|
gfxpkgs=()
|
||||||
|
instl
|
||||||
|
|
||||||
until slct_krnl; do : ; done
|
|
||||||
until ask_sign; do : ; done
|
|
||||||
until slct_bootldr; do : ; done
|
|
||||||
until slct_espmnt; do : ; done
|
|
||||||
until slct_fs; do : ; done
|
|
||||||
until slct_swap; do : ; done
|
|
||||||
if [[ "${vendor}" != "Virtual Machine" ]]; then
|
|
||||||
until dtct_gfx; do : ; done
|
|
||||||
fi
|
|
||||||
until dsktp_slct; do : ; done
|
|
||||||
until base_devel; do : ; done
|
|
||||||
if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then
|
|
||||||
until web_browser; do : ; done
|
|
||||||
fi
|
|
||||||
if [[ "${vendor}" != "Virtual Machine" ]]; then
|
|
||||||
until print_scan; do : ; done
|
|
||||||
until boot_entr; do : ; done
|
|
||||||
fi
|
|
||||||
if [[ "${askoptm}" == "y" ]]; then
|
|
||||||
until cust_kern_param; do : ; done
|
|
||||||
until sys_watchdog; do : ; done
|
|
||||||
until gen_optm; do : ; done
|
|
||||||
if [[ "${vendor}" != "Virtual Machine" ]]; then
|
|
||||||
until ask_wireless_regdom; do : ; done
|
|
||||||
fi
|
|
||||||
until systemd_oomd; do : ; done
|
|
||||||
until irqbalance; do : ; done
|
|
||||||
until thermald; do : ; done
|
|
||||||
until rngd; do : ; done
|
|
||||||
until rtkit; do : ; done
|
|
||||||
if [[ "${vendor}" != "Virtual Machine" ]]; then
|
|
||||||
until tlp; do : ; done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
until instl_dsk; do : ; done
|
|
||||||
until ask_crypt; do : ; done
|
|
||||||
if [[ "${swapmode}" == "1" ]]; then
|
|
||||||
until "${swaptype}"; do : ; done
|
|
||||||
fi
|
|
||||||
if [[ "${encrypt}" == "no" ]]; then
|
|
||||||
until set_mode; do : ; done
|
|
||||||
until confirm_status; do : ; done
|
|
||||||
elif [[ "${encrypt}" == "yes" ]]; then
|
|
||||||
until sec_erase; do : ; done
|
|
||||||
until luks; do : ; done
|
|
||||||
until opt_pcmn; do : ; done
|
|
||||||
until pacstrap_system; do : ; done
|
|
||||||
if [[ "${swapmode}" == "2" ]]; then
|
|
||||||
until "${swaptype}"; do : ; done
|
|
||||||
fi
|
|
||||||
if [[ -n "${REGDOM}" ]]; then
|
|
||||||
until set_wireless_regdom; do : ; done
|
|
||||||
fi
|
|
||||||
set_vars
|
|
||||||
chroot_conf
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
sec_erase() {
|
sec_erase() {
|
||||||
@@ -6215,9 +6107,9 @@ pkg_validation() {
|
|||||||
local stage_prompt="Arch Packages Validation"
|
local stage_prompt="Arch Packages Validation"
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOWL "
|
YELLOWL "
|
||||||
-------------------------------------------
|
------------------------------------------
|
||||||
### ${bwhite}Validating installation packages: ${yellowl}###
|
### ${bwhite}Validating Installation Packages ${yellowl}###
|
||||||
-------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
"
|
"
|
||||||
@@ -6358,7 +6250,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
|||||||
local stage_prompt="Fstab"
|
local stage_prompt="Fstab"
|
||||||
genfstab -t PARTUUID /mnt >> /mnt/etc/fstab 2> "${log}" || stage_fail
|
genfstab -t PARTUUID /mnt >> /mnt/etc/fstab 2> "${log}" || stage_fail
|
||||||
arch-chroot /mnt <<-FSTAB_SBVL_MNT_OPTS > "${void}" 2>&1 2> "${log}" || stage_fail
|
arch-chroot /mnt <<-FSTAB_SBVL_MNT_OPTS > "${void}" 2>&1 2> "${log}" || stage_fail
|
||||||
sed -i 's/rw,noatime,compress=zstd:3,discard=async,space_cache=v2/${sbvl_mnt_opts}/' /etc/fstab || exit
|
sed -i 's/^rw.*/${sbvl_mnt_opts}/' /etc/fstab || exit
|
||||||
FSTAB_SBVL_MNT_OPTS
|
FSTAB_SBVL_MNT_OPTS
|
||||||
ok
|
ok
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user