diff --git a/Amelia.sh b/Amelia.sh index 573b05c..f5c0bd1 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -2,7 +2,7 @@ # Amelia Installer # Source: https://gitlab.com/prism7/archery -# Version: 9.9.9 +# Version: 1.0.0 set -euo pipefail ################################################################################################### @@ -6216,6 +6216,8 @@ Enter country name or country code ${bwhite}(Empty for Defaults)${blue}: " ==> " COUNTRY echo + COUNTRY="${COUNTRY^^}" + if [[ -z "${COUNTRY}" ]] ; then sleep 0.2 NC " @@ -6377,19 +6379,22 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs read -r -s -n 1 if pacstrap -K /mnt ${deskpkgs} 2> "${log}" ; then - if [[ "${fs}" == "2" ]]; then - genfstab -t PARTUUID /mnt >> /mnt/etc/fstab || err_abort - sleep 0.2 - NC " - -==> [${green}Fstab OK${nc}] " - fi local prompt="Pacstrap System" ok else failure fi + if [[ "${fs}" == "2" ]]; then + local prompt="Fstab" + 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 +FSTAB_SBVL_MNT_OPTS + ok + fi + if [[ "${swapmode}" != "2" ]]; then line2 fi @@ -6719,12 +6724,14 @@ mkinitcpio_preset() { mkdir /etc/cmdline.d || exit echo "rw ${boot_opts[*]}" | tee /etc/cmdline.d/cmdlined.conf || exit cp /etc/mkinitcpio.d/${kernel}.preset /etc/mkinitcpio.d/${kernel}.preset.bak || exit - cat <<-MKINITPRESET > /etc/mkinitcpio.d/${kernel}.preset || exit + cat <<-MKINITCPIO_PRESET > /etc/mkinitcpio.d/${kernel}.preset || exit + # mkinitcpio preset file for the '${kernel}' package + ALL_config="/etc/mkinitcpio.conf.d/mkinitcpiod.conf" ALL_kver="/boot/vmlinuz-${kernel}" PRESETS=('default') default_uki="${btldr_esp_mount}/EFI/Linux/arch-${kernel}.efi" -MKINITPRESET +MKINITCPIO_PRESET mkinitcpio -P || exit UKI stage_ok @@ -6743,6 +6750,8 @@ UKI if arch-chroot /mnt <<-NO_UKI > "${void}" 2>&1 2> "${log}" ; then cp /etc/mkinitcpio.d/${kernel}.preset /etc/mkinitcpio.d/${kernel}.preset.bak || exit cat <<-MKINITCPIO_PRESET > /etc/mkinitcpio.d/${kernel}.preset || exit + # mkinitcpio preset file for the '${kernel}' package + ALL_config="/etc/mkinitcpio.conf.d/mkinitcpiod.conf" ALL_kver="/boot/vmlinuz-${kernel}" PRESETS=('default') @@ -6764,7 +6773,9 @@ var_opts() { if [[ "${bootloader}" == "1" && "${uki}" == "y" ]]; then if arch-chroot /mnt <<-SDBOOT_RESCUE_ENTRY > "${void}" 2>&1 2> "${log}" ; then echo "systemd.unit=rescue.target rw ${boot_opts[*]}" | tee /etc/cmdline.d/rescued.conf || exit - cat <<-PRESET > /etc/mkinitcpio.d/${kernel}.preset || exit + cat <<-MKINITCPIO_PRESET > /etc/mkinitcpio.d/${kernel}.preset || exit + # mkinitcpio preset file for the '${kernel}' package + ALL_config="/etc/mkinitcpio.conf.d/mkinitcpiod.conf" ALL_kver="/boot/vmlinuz-${kernel}" PRESETS=('default' 'rescue') @@ -6772,7 +6783,7 @@ var_opts() { default_options="--cmdline /etc/cmdline.d/cmdlined.conf" rescue_uki="${btldr_esp_mount}/EFI/Linux/rescue.efi" rescue_options="--cmdline /etc/cmdline.d/rescued.conf" -PRESET +MKINITCPIO_PRESET mkinitcpio -P || exit SDBOOT_RESCUE_ENTRY stage_ok @@ -6780,14 +6791,14 @@ SDBOOT_RESCUE_ENTRY stage_fail fi elif [[ "${bootloader}" == "1" && "${uki}" == "n" ]]; then - if arch-chroot /mnt <<-SD_XBOOTLDR_RESCUE_ENTRY > "${void}" 2>&1 2> "${log}" ; then + if arch-chroot /mnt <<-SDBOOT_XBOOTLDR_RESCUE_ENTRY > "${void}" 2>&1 2> "${log}" ; then cat <<-XBOOTLDR_RESCUE_CONF > /boot/loader/entries/rescue.conf || exit title Arch Rescue linux /vmlinuz-${kernel} initrd /initramfs-${kernel}.img options rw systemd.unit=rescue.target ${boot_opts[*]} XBOOTLDR_RESCUE_CONF -SD_XBOOTLDR_RESCUE_ENTRY +SDBOOT_XBOOTLDR_RESCUE_ENTRY stage_ok else stage_fail @@ -7004,6 +7015,14 @@ MKINITCPIO COMPRESSBZ2=(pbzip2 -c -f) COMPRESSZST=(zstd -c -T0 --auto-threads=logical -) MAKEPKG + cat <<-IO_SCHED > /etc/udev/rules.d/60-ioschedulers.rules || exit + # HDD + ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq" + # SSD + ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq" + # NVMe SSD + ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none" +IO_SCHED cat <<-SYSCTL > /etc/sysctl.d/99-sysctld.conf || exit net.core.netdev_max_backlog = 16384 net.ipv4.tcp_fastopen = 3 @@ -7116,7 +7135,7 @@ WPA view_optm() { if [[ "${genoptm}" == "v" ]]; then - typeset -f optimizations |grep -E 'pacman|/pacman.conf|update-pciids|usermod|systemctl|/etc|/mkinitcpio.conf.d|/makepkg.conf.d|/sysctl.d|/polkit-1/rules.d|/systemd/journald.conf.d|/systemd/user.conf.d|/nanorc|/modules-load.d|/sudoers.d|/udisks2|/wpa_supplicant/' | less + typeset -f optimizations |grep -E 'pacman|/pacman.conf|update-pciids|usermod|systemctl|/etc|/mkinitcpio.conf.d|/makepkg.conf.d|/sysctl.d|/polkit-1/rules.d|/systemd/journald.conf.d|/systemd/user.conf.d|/nanorc|/modules-load.d|/sudoers.d|/udisks2|/wpa_supplicant|/udev/rules.d' | less fi } ###################################################################################################