diff --git a/Amelia.sh b/Amelia.sh index 2003095..6ee1d69 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -2,7 +2,7 @@ # Amelia Installer # Source: https://gitlab.com/prism7/archery -# Version: 1.1.0 +# Version: 1.1.1 set -euo pipefail ################################################################################################### @@ -281,7 +281,7 @@ keypress() { NC " - ${bwhite}Press any key to continue${nc} + ${bwhite}Press any key to continue${nc} " @@ -639,7 +639,7 @@ Enter a number: " 3) until dsks_submn; do : ; done ;; 4) - until instl; do : ; done ;; + instl ;; "") sleep 0.2 RED " @@ -3472,7 +3472,7 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Multi 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} @@ -4812,7 +4812,7 @@ instl() { until slct_shell; do : ; done fi - if [[ -z "${kernelnmbr}" ]]; then + if [[ -z "${kernelnmbr}" || "${revision}" == "y" ]]; then local stage_prompt="Kernel, Secureboot Signing, Bootloader & ESP Mountpoint" completion_err until slct_krnl; do : ; done @@ -4821,40 +4821,40 @@ instl() { until slct_espmnt; do : ; done fi - if [[ -z "${fs}" ]]; then + if [[ -z "${fs}" || "${revision}" == "y" ]]; then local stage_prompt="Filesystem & Swap Setup" completion_err until slct_fs; do : ; done until slct_swap; do : ; done 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" completion_err until dtct_gfx; do : ; done fi - if [[ -z "${desktop}" ]]; then + if [[ -z "${desktop}" || "${revision}" == "y" ]]; then local stage_prompt="Desktop Setup" completion_err until dsktp_slct; do : ; done fi - if [[ -z "${dev}" ]]; then + if [[ -z "${dev}" || "${revision}" == "y" ]]; then until base_devel; do : ; done fi - if [[ -z "${web_slct}" ]]; then + if [[ -z "${web_slct}" || "${revision}" == "y" ]]; then if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then until web_browser; do : ; done fi fi if [[ "${vendor}" != "Virtual Machine" ]]; then - if [[ -z "${printer}" ]]; then + if [[ -z "${printer}" || "${revision}" == "y" ]]; then if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then until print_scan; do : ; done fi fi - if [[ -z "${efi_entr_del}" ]]; then + if [[ -z "${efi_entr_del}" || "${revision}" == "y" ]]; then local stage_prompt="EFI Boot Entries Deletion" completion_err until boot_entr; do : ; done @@ -4895,6 +4895,7 @@ instl() { elif [[ "${encrypt}" == "yes" ]]; then until sec_erase; do : ; done until luks; do : ; done + fi until opt_pcmn; do : ; done until pacstrap_system; do : ; done if [[ "${swapmode}" == "2" ]]; then @@ -4905,7 +4906,6 @@ instl() { fi set_vars chroot_conf - fi } ################################################################################################### swappart() { @@ -4977,6 +4977,7 @@ Enter a Mode number: " 2) until manual_mode; do : ; done ;; "") + sleep 0.2 RED " ------------------------------------------ ### ${nc}Please select a Mode to continue ${red}### @@ -5105,24 +5106,24 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A until mount_esp; do : ; done fi fi - sleep 0.2 + sleep 0.2 #-------------------------------------------------------------------------------------------------- - if [[ "${xbootloader}" == "yes" ]]; 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 - 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 + if [[ "${xbootloader}" == "yes" ]]; 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 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 [[ "${smartpart}" == "y" ]]; then @@ -5160,9 +5161,6 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A NC " ==> [${green}Unformatted /Home Mounted OK${nc}] " - else - y_n - until ask_homepart_form; do : ; done fi fi } @@ -5171,12 +5169,14 @@ manual_mode() { volumes="$(fdisk -l | grep '^/dev' | cat --number)" + if [[ "${multibooting}" == "no" ]]; then until form_esp; do : ; done + fi if [[ "${xbootloader}" == "yes" ]]; then until form_xboot; do : ; done fi 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 fi until mount_mnt; do : ; done @@ -5184,7 +5184,7 @@ manual_mode() { if [[ "${xbootloader}" == "yes" ]]; then until mount_xboot; do : ; done fi - if [[ -e "${home_dev}" && "${sep_home}" == "y" ]]; then + if [[ "${sep_home}" == "y" ]]; then until mount_home; do : ; done fi } @@ -5432,51 +5432,6 @@ Enter a name: " 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() { sleep 0.2 @@ -5792,16 +5747,7 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In if [[ "${agree}" == "yes" ]]; then ok - 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 + return 0 elif [[ "${agree}" == "no" ]]; then unmount until revise; do : ; done @@ -5813,66 +5759,12 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In ################################################################################################### 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="") export "${reset[@]}" 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() { @@ -6215,9 +6107,9 @@ pkg_validation() { local stage_prompt="Arch Packages Validation" sleep 0.2 YELLOWL " - ------------------------------------------- - ### ${bwhite}Validating installation packages: ${yellowl}### - ------------------------------------------- + ------------------------------------------ + ### ${bwhite}Validating Installation Packages ${yellowl}### + ------------------------------------------ " @@ -6358,7 +6250,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs local stage_prompt="Fstab" 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 - 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 ok fi