Change: Setting 'country' to synchronize repos using 'reflector' now defaults to uppercase

Add: If 'Btrfs' is selected, the 'fstab' file will now be automatically edited to reflect the installer's Btrfs Subvolume Mount Options instead of the'genfstab' defaults
Change: Changed versioning
Change: Renamed some here-documents
Add: An 'IO-scheduler' optimization has been added to the 'General Optimizations' set, offered by the installer.
This commit is contained in:
Jane Doe
2025-11-08 18:27:32 +02:00
parent 8c4bf67d11
commit 798d6bc6d7
+34 -15
View File
@@ -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
}
###################################################################################################