diff --git a/Amelia.sh b/Amelia.sh index 1208e95..90ef53c 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -2,7 +2,7 @@ # Amelia Installer # https://gitlab.com/prism7/archery -# Version: 8.4.2 +# Version: 8.4.3 set -euo pipefail ################################################################################################### @@ -1435,14 +1435,14 @@ dtct_vga() { ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Graphics Setup${nc} ${magenta}]${nc}-------------------------------------${magenta}### " - vgacount="$(lspci | grep -E -c 'VGA|Display|3D')" - vgacard="$(lspci | grep -E 'VGA|Display|3D' | sed 's/^.*: //g')" - intelcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Intel Corporation')" - intelcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Intel Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')" - amdcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Advanced Micro Devices')" - amdcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Advanced Micro Devices' | sed 's/.*\[AMD\/ATI\] //g' | cat --number | sed 's/.[0-9]//')" - nvidiacount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'NVIDIA Corporation')" - nvidiacards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'NVIDIA Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')" + vgacount="$(lspci | grep -E -c 'VGA|Display|3D')" + vgacard="$(lspci | grep -E 'VGA|Display|3D' | sed 's/^.*: //g')" + intelcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Intel Corporation')" + intelcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Intel Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')" + amdcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Advanced Micro Devices')" + amdcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Advanced Micro Devices' | sed 's/.*\[AMD\/ATI\] //g' | cat --number | sed 's/.[0-9]//')" + nvidiacount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'NVIDIA Corporation')" + nvidiacards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'NVIDIA Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')" if [[ "${vgacount}" == "1" ]]; then dtct_single_vga @@ -1453,8 +1453,6 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Grap ################################################################################################### dtct_single_vga() { - local prompt="Graphics Setup" - if [[ "${intelcount}" -eq "1" ]]; then vendor="Intel" sourcetype="Open-source" @@ -1510,8 +1508,6 @@ Enter [Y/n]: " ################################################################################################### dtct_multi_vga() { - local prompt="Graphics Setup" - if [[ "${vgacount}" == "2" ]]; then vga_setup="Dual" elif [[ "${vgacount}" == "3" ]]; then @@ -1661,6 +1657,7 @@ Enter a number: " sourcetype="Proprietary" vgaconf="y" elif [[ "${vendor}" == "none" ]]; then + local prompt="Graphics Setup" vgaconf="n" skip ok @@ -2603,6 +2600,7 @@ ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automati " read -r -s -n 1 + if [[ -e "${instl_drive}" && "${use_manpreset}" != "yes" ]]; then sleep 0.2 NC " @@ -2889,15 +2887,15 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: " if [[ -n "${cgdsk_nmbr}" ]]; then cgdrive="$(echo "${disks}" | awk "\$1 == ${cgdsk_nmbr} {print \$2}")" if [[ -e "${cgdrive}" ]]; then - if [[ "${run_as}" != "root" ]]; then - sleep 0.2 - RED " + if [[ "${run_as}" != "root" ]]; then + sleep 0.2 + RED " ----------------------------------- ### ${yellow}Root Privileges Missing.. ${red}### -----------------------------------" - reload - until dsks_submn; do : ; done - fi + reload + until dsks_submn; do : ; done + fi cgdisk "${cgdrive}" clear sleep 0.2 @@ -3531,9 +3529,9 @@ ${multi_swap} fi #.................................................................................................. if [[ ${rootprt} == "fail" ]] || [[ "${espprt}" == "fail" ]] || [[ "${xbootprt}" == "fail" ]] || [[ ${homeprt} == "fail" ]] || [[ ${swapprt} == "fail" ]]; then - sanity="no" + sanity="no" else - sanity="ok" + sanity="ok" fi #-------------------------------------------------------------------------------------------------- if [[ "${sanity}" == "ok" ]]; then @@ -3818,30 +3816,30 @@ Enter a name: " Enter a name: " read -r -p " ==> " ENCRHOME - echo - if [[ -z "${ENCRHOME}" ]]; then - sleep 0.2 - RED " + echo + if [[ -z "${ENCRHOME}" ]]; then + sleep 0.2 + RED " ----------------------------------------- ### ${yellow}Please enter a name to continue ${red}### -----------------------------------------" - reload - return 1 - elif [[ "${ENCRHOME}" =~ [[:upper:]] ]]; then - sleep 0.2 - RED " + reload + return 1 + elif [[ "${ENCRHOME}" =~ [[:upper:]] ]]; then + sleep 0.2 + RED " ------------------------------------------------------ ### ${yellow}Uppercase is not allowed. Please try again.. ${red}### ------------------------------------------------------" - reload - return 1 - elif [[ -n "${ENCRHOME}" ]]; then - sleep 0.2 - NC " + reload + return 1 + elif [[ -n "${ENCRHOME}" ]]; then + sleep 0.2 + NC " ==> [${green}Encrypted /Home Label OK${nc}] " - fi + fi else yes_no return 1 @@ -4054,6 +4052,7 @@ Enter a Mode number: " ################################################################################################### auto_mode() { + espfs="$(lsblk -dno FSTYPE "${esp_dev}")" sleep 0.2 NC " ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}Auto Mode${nc} ${magenta}]${nc}----------------------------------------${magenta}### @@ -4064,9 +4063,6 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A > Auto Mode Selected " - sleep 0.2 - espfs="$(lsblk -dno FSTYPE "${esp_dev}")" - if [[ "${fs}" == "1" ]]; then if mkfs.ext4 -F -L Root "${root_dev}" > /dev/null 2> amelia_log.txt ; then tune2fs -O fast_commit "${root_dev}" > /dev/null 2> amelia_log.txt || err_abort @@ -4090,14 +4086,14 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A btrfs subvolume create /mnt/@log > /dev/null 2> amelia_log.txt || err_abort btrfs subvolume create /mnt/@tmp > /dev/null 2> amelia_log.txt || err_abort btrfs subvolume create /mnt/@snapshots > /dev/null 2> amelia_log.txt || err_abort - if [[ "${swapmode}" == "2" ]]; then - btrfs subvolume create /mnt/@swap > /dev/null 2> amelia_log.txt || err_abort - fi + if [[ "${swapmode}" == "2" ]]; then + btrfs subvolume create /mnt/@swap > /dev/null 2> amelia_log.txt || err_abort + fi umount /mnt > /dev/null 2> amelia_log.txt || err_abort mount -o "${sbvl_mnt_opts}",subvol=@ "${root_dev}" /mnt > /dev/null 2> amelia_log.txt || err_abort - if [[ "${swapmode}" == "2" ]]; then - mount --mkdir -o rw,nodatacow,subvol=@swap "${root_dev}" /mnt/swap > /dev/null 2> amelia_log.txt || err_abort - fi + if [[ "${swapmode}" == "2" ]]; then + mount --mkdir -o rw,nodatacow,subvol=@swap "${root_dev}" /mnt/swap > /dev/null 2> amelia_log.txt || err_abort + fi mount --mkdir -o "${sbvl_mnt_opts}",subvol=@cache "${root_dev}" /mnt/var/cache > /dev/null 2> amelia_log.txt || err_abort mount --mkdir -o "${sbvl_mnt_opts}",subvol=@home "${root_dev}" /mnt/home > /dev/null 2> amelia_log.txt || err_abort mount --mkdir -o "${sbvl_mnt_opts}",subvol=@log "${root_dev}" /mnt/var/log > /dev/null 2> amelia_log.txt || err_abort @@ -4206,9 +4202,9 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A 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 + if [[ "${xbootloader}" == "yes" ]]; then + until mount_xboot; do : ; done + fi until mount_home; do : ; done fi elif [[ "${homeform}" == "n" ]]; then @@ -4223,22 +4219,23 @@ ${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}A manual_mode() { volumes="$(fdisk -l | grep '^/dev' | cat --number)" + until form_esp; do : ; done - if [[ "${xbootloader}" == "yes" ]]; then - until form_xboot; 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 - until form_home; do : ; done - fi + if [[ -e "${home_dev}" && "${sep_home}" == "y" ]]; then + until form_home; do : ; done + fi until mount_mnt; do : ; done until mount_esp; do : ; done - if [[ "${xbootloader}" == "yes" ]]; then - until mount_xboot; do : ; done - fi - if [[ -e "${home_dev}" && "${sep_home}" == "y" ]]; then - until mount_home; do : ; done - fi + if [[ "${xbootloader}" == "yes" ]]; then + until mount_xboot; do : ; done + fi + if [[ -e "${home_dev}" && "${sep_home}" == "y" ]]; then + until mount_home; do : ; done + fi } ################################################################################################### form_esp() { @@ -4525,9 +4522,9 @@ ask_homepart_form() { 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 + if [[ "${xbootloader}" == "yes" ]]; then + until mount_xboot; do : ; done + fi until mount_home; do : ; done fi elif [[ "${homeform}" == "n" ]]; then @@ -5225,7 +5222,6 @@ Enter country name or country code ${bwhite}(Empty for Defaults)${blue}: " return 1 fi fi - YELLOW " @@ -5283,7 +5279,6 @@ Enter a number: " y_n return 1 fi - YELLOW " @@ -5809,6 +5804,7 @@ UKI if [[ -e /mnt/boot/initramfs-"${kernel}"-fallback.img ]]; then rm /mnt/boot/initramfs-"${kernel}"-fallback.img || exit fi + elif [[ "${uki}" == "n" ]]; then if arch-chroot /mnt <<-NOUKI > /dev/null 2>&1 2> amelia_log.txt ; then cp /etc/mkinitcpio.d/${kernel}.preset /etc/mkinitcpio.d/${kernel}.preset.bak || exit @@ -5867,7 +5863,7 @@ SECSIGN ################################################################################################### set_vars() { - #### Encrypted Setup Vars + #### Encrypted-Setup Variables if [[ "${encrypt}" == "yes" ]]; then # Encrypted Root Device encr_root_dev="/dev/mapper/${ENCROOT}" @@ -5918,6 +5914,7 @@ set_vars() { # Graphics Kernel Parameters vga_bootopts=(nvidia.NVreg_UsePageAttributeTable=1) + # Disable GSP Firmware if [[ "${nogsp}" == "y" ]]; then vga_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0) fi @@ -5971,7 +5968,7 @@ set_vars() { fi #------------------------------------------------------------------------------------------------------------- - #### Unencrypted Setup Vars + #### Unencrypted-Setup Variables elif [[ "${encrypt}" == "no" ]]; then ### Swap Setup ## Zram Swap @@ -5997,6 +5994,7 @@ set_vars() { # Graphics Kernel Parameters vga_bootopts=(nvidia.NVreg_UsePageAttributeTable=1) + # Disable GSP Firmware if [[ "${nogsp}" == "y" ]]; then vga_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0) fi @@ -6058,7 +6056,7 @@ chroot_conf() { ${magenta}###${nc}--------------------------------${magenta}[ ${bwhite}Chroot & Configure System${nc} ${magenta}]${nc}--------------------------------${magenta}###${nc} " - # 'Vanilla' Configuration: + # 'Vanilla' Setups Configuration: if [[ "${packages}" =~ ^(1|3|5|6|7|8|9|10|11|13)$ ]]; then cnfg main_chroot @@ -6194,7 +6192,7 @@ CUSTOMSERV completion fi #-------------------------------------------------------------------------------------------------- - # Minimal Plasma/Gnome Optimized System Configuration: + # Minimal Plasma/Gnome Optimized-System Configuration: if [[ "${packages}" == "2" || "${packages}" == "4" ]]; then local stage_prompt="Optimized System Configuration" cnfg @@ -6381,7 +6379,6 @@ MULTILIB secboot_sign completion fi - umount -R /mnt reboot exit