mirror of
https://gitlab.com/prism7/archery.git
synced 2025-02-15 08:29:17 +01:00
Add: 'Swap Setup' stage > Enabling 'systemd-oomd' in the installed system is now supported.
Add: 'Machine Detection' stage > 'Disable Watchdogs' > Specified AMD watchdog to blacklist in /etc/modprobe.d Add: 'Automatic Partitioning' stage > 'wipefs' now takes place before partitioning selected drive. Add: 'mesa-utils' package has been added to the AMD graphics setup.
This commit is contained in:
parent
ebd533e7cc
commit
961271a966
1 changed files with 71 additions and 8 deletions
79
Amelia.sh
79
Amelia.sh
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Amelia Installer
|
# Amelia Installer
|
||||||
# https://gitlab.com/prism7/archery
|
# Source: https://gitlab.com/prism7/archery
|
||||||
# Version: 8.6.1
|
# Version: 8.7.0
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
|
@ -487,7 +487,7 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Machi
|
||||||
microcode="intel-ucode"
|
microcode="intel-ucode"
|
||||||
nrg_plc="x86_energy_perf_policy"
|
nrg_plc="x86_energy_perf_policy"
|
||||||
cpu_name="Intel"
|
cpu_name="Intel"
|
||||||
else
|
elif [[ "${CPU}" == *"AuthenticAMD"* ]]; then
|
||||||
microcode="amd-ucode"
|
microcode="amd-ucode"
|
||||||
cpu_name="AMD"
|
cpu_name="AMD"
|
||||||
fi
|
fi
|
||||||
|
@ -524,6 +524,7 @@ Enter [Y/n]: "
|
||||||
read -r -p "
|
read -r -p "
|
||||||
==> " kill_watchdog
|
==> " kill_watchdog
|
||||||
|
|
||||||
|
echo
|
||||||
kill_watchdog="${kill_watchdog:-y}"
|
kill_watchdog="${kill_watchdog:-y}"
|
||||||
kill_watchdog="${kill_watchdog,,}"
|
kill_watchdog="${kill_watchdog,,}"
|
||||||
|
|
||||||
|
@ -1374,7 +1375,38 @@ Enter a number: "
|
||||||
invalid
|
invalid
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
esac
|
esac
|
||||||
ok
|
|
||||||
|
if [[ "${swapmode}" != "4" ]]; then
|
||||||
|
sleep 0.2
|
||||||
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
|
> Enable ${nc}systemd-oomd ${yellow}for enhanced 'OOM' efficiency? [Y/n]"
|
||||||
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
|
Enter [Y/n]: "
|
||||||
|
read -r -p "
|
||||||
|
==> " oomd
|
||||||
|
|
||||||
|
echo
|
||||||
|
oomd="${oomd:-y}"
|
||||||
|
oomd="${oomd,,}"
|
||||||
|
|
||||||
|
if [[ "${oomd}" == "y" ]]; then
|
||||||
|
YELLOW "
|
||||||
|
|
||||||
|
### 'Systemd-oomd' has been selected
|
||||||
|
"
|
||||||
|
elif [[ "${oomd}" == "n" ]]; then
|
||||||
|
skip
|
||||||
|
else
|
||||||
|
y_n
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
ok
|
||||||
if [[ "${vga_slct}" == "yes" ]]; then
|
if [[ "${vga_slct}" == "yes" ]]; then
|
||||||
local stage_prompt="Graphics Setup"
|
local stage_prompt="Graphics Setup"
|
||||||
completion_err
|
completion_err
|
||||||
|
@ -1694,7 +1726,7 @@ vga_conf() {
|
||||||
perf_stream="dev.i915.perf_stream_paranoid = 0"
|
perf_stream="dev.i915.perf_stream_paranoid = 0"
|
||||||
vgapkgs="intel-compute-runtime intel-media-driver intel-media-sdk libva-intel-driver opencl-headers vpl-gpu-rt vkd3d vulkan-intel vulkan-mesa-layers"
|
vgapkgs="intel-compute-runtime intel-media-driver intel-media-sdk libva-intel-driver opencl-headers vpl-gpu-rt vkd3d vulkan-intel vulkan-mesa-layers"
|
||||||
elif [[ "${vendor}" == "AMD" ]]; then
|
elif [[ "${vendor}" == "AMD" ]]; then
|
||||||
vgapkgs="libva-mesa-driver mesa-vdpau opencl-headers rocm-opencl-runtime vkd3d vulkan-mesa-layers vulkan-radeon"
|
vgapkgs="libva-mesa-driver mesa-utils mesa-vdpau opencl-headers rocm-opencl-runtime vkd3d vulkan-mesa-layers vulkan-radeon"
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
@ -2753,6 +2785,7 @@ Enter a Custom Percentage number ${nc}e.g. 30 ${bwhite}(empty to skip)${blue}: "
|
||||||
|
|
||||||
case "${preset}" in
|
case "${preset}" in
|
||||||
1)
|
1)
|
||||||
|
wipefs -af "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n2:0:0 -t2:8304 -c2:ROOT "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n2:0:0 -t2:8304 -c2:ROOT "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
|
@ -2764,6 +2797,7 @@ Enter a Custom Percentage number ${nc}e.g. 30 ${bwhite}(empty to skip)${blue}: "
|
||||||
fi ;;
|
fi ;;
|
||||||
2)
|
2)
|
||||||
until set_swapsize; do : ; done
|
until set_swapsize; do : ; done
|
||||||
|
wipefs -af "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n2:0:+"${swapsize}"G -t2:8200 -c2:SWAP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n2:0:+"${swapsize}"G -t2:8200 -c2:SWAP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
|
@ -2775,6 +2809,7 @@ Enter a Custom Percentage number ${nc}e.g. 30 ${bwhite}(empty to skip)${blue}: "
|
||||||
ok
|
ok
|
||||||
fi ;;
|
fi ;;
|
||||||
3)
|
3)
|
||||||
|
wipefs -af "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n2:0:+"${rootsize}"G -t2:8304 -c2:ROOT "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n2:0:+"${rootsize}"G -t2:8304 -c2:ROOT "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
|
@ -2786,6 +2821,7 @@ Enter a Custom Percentage number ${nc}e.g. 30 ${bwhite}(empty to skip)${blue}: "
|
||||||
ok
|
ok
|
||||||
fi ;;
|
fi ;;
|
||||||
4)
|
4)
|
||||||
|
wipefs -af "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
until set_swapsize; do : ; done
|
until set_swapsize; do : ; done
|
||||||
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -o "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > /dev/null 2> amelia_log.txt || stage_fail
|
||||||
|
@ -5832,6 +5868,7 @@ PARALLEL
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${multilib}" == "y" ]]; then
|
if [[ "${multilib}" == "y" ]]; then
|
||||||
local stage_prompt="Multilib Configuration"
|
local stage_prompt="Multilib Configuration"
|
||||||
if arch-chroot /mnt <<-MULTILIB > /dev/null 2>&1 2> amelia_log.txt ; then
|
if arch-chroot /mnt <<-MULTILIB > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
|
@ -5843,6 +5880,7 @@ MULTILIB
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${CPU}" == *"GenuineIntel"* && "${kill_watchdog}" == "y" ]]; then
|
if [[ "${CPU}" == *"GenuineIntel"* && "${kill_watchdog}" == "y" ]]; then
|
||||||
local stage_prompt="Intel Watchdog Configuration"
|
local stage_prompt="Intel Watchdog Configuration"
|
||||||
if arch-chroot /mnt <<-INTEL_WATCHDOG > /dev/null 2>&1 2> amelia_log.txt ; then
|
if arch-chroot /mnt <<-INTEL_WATCHDOG > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
|
@ -5852,6 +5890,31 @@ INTEL_WATCHDOG
|
||||||
else
|
else
|
||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
|
elif [[ "${CPU}" == *"AuthenticAMD"* && "${kill_watchdog}" == "y" ]]; then
|
||||||
|
local stage_prompt="AMD Watchdog Configuration"
|
||||||
|
if arch-chroot /mnt <<-AMD_WATCHDOG > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
|
echo "blacklist sp5100_tco" | tee /etc/modprobe.d/blacklist.conf || exit
|
||||||
|
AMD_WATCHDOG
|
||||||
|
stage_ok
|
||||||
|
else
|
||||||
|
stage_fail
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${oomd}" == "y" ]]; then
|
||||||
|
local stage_prompt="Systemd-oomd Service Activation"
|
||||||
|
if arch-chroot /mnt <<-SYSTEMD_OOMD > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
|
mkdir -p /etc/systemd/system.conf.d > /dev/null 2>&1 || exit
|
||||||
|
cat <<-SET_OOMD > /etc/systemd/system.conf.d/00-oomd.conf || exit
|
||||||
|
[Manager]
|
||||||
|
DefaultMemoryAccounting=yes
|
||||||
|
SET_OOMD
|
||||||
|
systemctl enable systemd-oomd || exit
|
||||||
|
SYSTEMD_OOMD
|
||||||
|
stage_ok
|
||||||
|
else
|
||||||
|
stage_fail
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
|
@ -6357,11 +6420,11 @@ POLKIT
|
||||||
SystemMaxUse=100M
|
SystemMaxUse=100M
|
||||||
JOURNAL
|
JOURNAL
|
||||||
mkdir -p /etc/systemd/user.conf.d > /dev/null 2>&1 || exit
|
mkdir -p /etc/systemd/user.conf.d > /dev/null 2>&1 || exit
|
||||||
cat <<-USER > /etc/systemd/user.conf.d/00-userd.conf || exit
|
cat <<-TIMEOUT > /etc/systemd/user.conf.d/00-timeout.conf || exit
|
||||||
[Manager]
|
[Manager]
|
||||||
DefaultTimeoutStopSec=5s
|
DefaultTimeoutStopSec=5s
|
||||||
DefaultTimeoutAbortSec=5s
|
DefaultTimeoutAbortSec=5s
|
||||||
USER
|
TIMEOUT
|
||||||
sed -i 's|^hosts.*|hosts: mymachines mdns_minimal resolve [!UNAVAIL=return] files myhostname dns|g' /etc/nsswitch.conf || exit
|
sed -i 's|^hosts.*|hosts: mymachines mdns_minimal resolve [!UNAVAIL=return] files myhostname dns|g' /etc/nsswitch.conf || exit
|
||||||
sed -i 's/ interface = [^ ]*/ interface = all/g' /etc/ipp-usb/ipp-usb.conf || exit
|
sed -i 's/ interface = [^ ]*/ interface = all/g' /etc/ipp-usb/ipp-usb.conf || exit
|
||||||
sed -i "/# set linenumbers/"'s/^#//' /etc/nanorc || exit
|
sed -i "/# set linenumbers/"'s/^#//' /etc/nanorc || exit
|
||||||
|
@ -6411,7 +6474,7 @@ OPTIMIZED
|
||||||
tty="$(tty)"
|
tty="$(tty)"
|
||||||
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
||||||
trg=""
|
trg=""
|
||||||
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgapkgs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" parallel="" parallelnmbr="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="")
|
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgapkgs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" parallel="" parallelnmbr="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="")
|
||||||
export "${vars[@]}"
|
export "${vars[@]}"
|
||||||
clear
|
clear
|
||||||
first_check
|
first_check
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue