mirror of
https://gitlab.com/prism7/archery.git
synced 2026-04-28 01:17:35 +02:00
Change: Efi System Partition size increased to 1 GiB
Add: If 'Grub' has been selected, the user can now select the .efi Boot Path to be installed to (Standard - Fallback) change: Code refactoring
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
# Amelia Installer
|
||||
# Source: https://gitlab.com/prism7/archery
|
||||
# Version: 9.9.4
|
||||
# Version: 9.9.5
|
||||
|
||||
set -euo pipefail
|
||||
###################################################################################################
|
||||
@@ -373,7 +373,7 @@ failure() {
|
||||
}
|
||||
# END PROMPT FUNCTIONS
|
||||
###################################################################################################
|
||||
# FUNCTIONS
|
||||
# SYSTEM FUNCTIONS
|
||||
mode_check() {
|
||||
|
||||
if [[ "${run_as}" == "root" ]]; then
|
||||
@@ -1271,8 +1271,43 @@ Enter a number: "
|
||||
sleep 0.2
|
||||
YELLOW "
|
||||
|
||||
### Grub has been selected
|
||||
> Select a Boot Path to install to: "
|
||||
NC "
|
||||
|
||||
[1] Standard Path
|
||||
|
||||
[2] Fallback Path -- for Removable Devices (recommended) "
|
||||
BLUE "
|
||||
|
||||
|
||||
Enter a number: "
|
||||
read -r -p "
|
||||
==> " path
|
||||
echo
|
||||
|
||||
case "${path}" in
|
||||
1)
|
||||
YELLOW "
|
||||
|
||||
### Grub (Standard Boot Path) has been selected
|
||||
" ;;
|
||||
2)
|
||||
YELLOW "
|
||||
|
||||
### Grub (Fallback Boot Path) has been selected
|
||||
" ;;
|
||||
"")
|
||||
sleep 0.2
|
||||
RED "
|
||||
-----------------------------------
|
||||
### ${nc}Please select a Boot Path ${red}###
|
||||
-----------------------------------"
|
||||
reload
|
||||
return 1 ;;
|
||||
*)
|
||||
invalid
|
||||
return 1 ;;
|
||||
esac ;;
|
||||
"")
|
||||
sleep 0.2
|
||||
RED "
|
||||
@@ -2036,11 +2071,11 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Deskt
|
||||
|
||||
[1] Plasma
|
||||
|
||||
[2] Plasma Light (Amelia's version)
|
||||
[2] Plasma Lite
|
||||
|
||||
[3] Gnome
|
||||
|
||||
[4] Gnome Light (Amelia's version)
|
||||
[4] Gnome Lite
|
||||
|
||||
[5] Xfce
|
||||
|
||||
@@ -2072,13 +2107,13 @@ Enter a number: "
|
||||
desktopname="Plasma"
|
||||
deskname ;;
|
||||
2)
|
||||
desktopname="Plasma Light"
|
||||
desktopname="Plasma Lite"
|
||||
deskname ;;
|
||||
3)
|
||||
desktopname="Gnome"
|
||||
deskname ;;
|
||||
4)
|
||||
desktopname="Gnome Light"
|
||||
desktopname="Gnome Lite"
|
||||
deskname ;;
|
||||
5)
|
||||
desktopname="Xfce"
|
||||
@@ -2122,7 +2157,6 @@ Enter a number: "
|
||||
if [[ -n "${web}" && "${desktop}" =~ ^(11|12)$ ]]; then
|
||||
until web_browser; do : ; done
|
||||
fi
|
||||
|
||||
if [[ "${printer}" == "y" && "${desktop}" =~ ^(11|12)$ ]]; then
|
||||
until print_scan; do : ; done
|
||||
fi
|
||||
@@ -3623,13 +3657,13 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Prese
|
||||
|
||||
|
||||
|
||||
[1] Create '/ESP' & '/Root' (${cyan}Ext4${nc},${magenta}Btrfs${nc})
|
||||
[1] Create ESP & /Root (${cyan}Ext4${nc},${magenta}Btrfs${nc})
|
||||
|
||||
[2] Create '/ESP', '/Root' & '/Swap' (${cyan}Ext4${nc},${magenta}Btrfs${nc})
|
||||
[2] Create ESP, /Root & /Swap (${cyan}Ext4${nc},${magenta}Btrfs${nc})
|
||||
|
||||
[3] Create '/ESP', '/Root' & '/Home' (${cyan}Ext4${nc})
|
||||
[3] Create ESP, /Root & /Home (${cyan}Ext4${nc})
|
||||
|
||||
[4] Create '/ESP', '/Root', '/Home' & '/Swap' (${cyan}Ext4${nc}) "
|
||||
[4] Create ESP, /Root, /Home & /Swap (${cyan}Ext4${nc}) "
|
||||
BLUE "
|
||||
|
||||
|
||||
@@ -3656,9 +3690,7 @@ Enter a Preset number ${bwhite}(empty to skip)${blue}: "
|
||||
###################################################################################################
|
||||
set_partsize() {
|
||||
|
||||
if [[ "${partok}" == "y" ]]; then
|
||||
return 0
|
||||
fi
|
||||
[[ "${partok}" == "y" ]] && return 0
|
||||
|
||||
if [[ "${preset}" =~ ^(3|4)$ ]]; then
|
||||
sleep 0.2
|
||||
@@ -3668,9 +3700,9 @@ set_partsize() {
|
||||
### Total detected capacity of disk ${nc}${sgdrive} ${yellow}is ${nc}${cap_gib} GiB${yellow}
|
||||
|
||||
|
||||
### ${nc}Default ${yellow}Root partition's size is aprox. ${nc}25%${yellow} of total disk capacity
|
||||
### ${nc}Default ${yellow}Root partition's size is set to aprox. ${nc}25%${yellow} of total disk capacity
|
||||
|
||||
### ${nc}Current ${yellow}Root partition's size is ${nc}[${rootsize} GiB]${yellow}
|
||||
### Root partition's ${nc}current ${yellow}size will be ${nc}[${rootsize} GiB]${yellow}
|
||||
|
||||
|
||||
> Adjust Root Partition's size (by setting a custom ${nc}% ${yellow}value) ? "
|
||||
@@ -3720,9 +3752,9 @@ Enter ${nc}% ${blue}value ${nc}eg. 40 ${bwhite}(empty to skip)${blue}: "
|
||||
###################################################################################################
|
||||
partitioner() {
|
||||
|
||||
if [[ "${partok}" == "y" ]]; then
|
||||
return 0
|
||||
elif [[ -z "${preset}" && "${install}" == "yes" ]]; then
|
||||
[[ "${partok}" == "y" ]] && return 0
|
||||
|
||||
if [[ -z "${preset}" && "${install}" == "yes" ]]; then
|
||||
until sanity_check; do : ; done
|
||||
return 0
|
||||
elif [[ -z "${preset}" ]]; then
|
||||
@@ -3745,23 +3777,23 @@ partitioner() {
|
||||
fi
|
||||
|
||||
if [[ "${preset}" == "1" ]]; then
|
||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n1:0:+1024M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n2:0:0 -t2:8304 -c2:ROOT "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
partprobe -s "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
elif [[ "${preset}" == "2" ]]; then
|
||||
until set_swapsize; do : ; done
|
||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n1:0:+1024M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n2:0:+"${swapsize}"G -t2:8200 -c2:SWAP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n3:0:0 -t3:8304 -c3:ROOT "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
partprobe -s "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
elif [[ "${preset}" == "3" ]]; then
|
||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n1:0:+1024M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n2:0:+"${rootsize}"G -t2:8304 -c2:ROOT "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n3:0:0 -t3:8302 -c3:HOME "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
partprobe -s "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
elif [[ "${preset}" == "4" ]]; then
|
||||
until set_swapsize; do : ; done
|
||||
sgdisk -I -n1:0:+512M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n1:0:+1024M -t1:ef00 -c1:ESP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n2:0:+"${swapsize}"G -t2:8200 -c2:SWAP "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n3:0:+"${rootsize}"G -t3:8304 -c3:ROOT "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
sgdisk -I -n4:0:0 -t4:8302 -c4:HOME "${sgdrive}" > "${void}" 2> "${log}" || stage_fail
|
||||
@@ -5955,7 +5987,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}LUKS
|
||||
YELLOW "
|
||||
|
||||
|
||||
> Initiating Encryption process:
|
||||
> Encrypting selected partition(s):
|
||||
|
||||
"
|
||||
if echo -n "${CRYPTPASS}" | cryptsetup luksFormat --label CRYPTROOT "${root_dev}" > "${void}"; then
|
||||
@@ -6248,57 +6280,26 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
||||
gfxpkgs_set
|
||||
|
||||
if [[ "${bootloader}" == "2" ]]; then
|
||||
if [[ "${fs}" == "1" ]]; then
|
||||
bootldr_pkgs="grub os-prober"
|
||||
elif [[ "${fs}" == "2" ]]; then
|
||||
bootldr_pkgs="grub-btrfs inotify-tools os-prober"
|
||||
fi
|
||||
[[ "${fs}" == "1" ]] && bootldr_pkgs="grub os-prober"
|
||||
[[ "${fs}" == "2" ]] && bootldr_pkgs="grub-btrfs inotify-tools os-prober"
|
||||
fi
|
||||
|
||||
basepkgs=(base efibootmgr nano networkmanager pkgstats sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${microcode}" "${shell_pkgs}")
|
||||
|
||||
|
||||
if [[ -n "${shell}" ]]; then
|
||||
basepkgs+=("${shell}")
|
||||
fi
|
||||
if [[ -n "${nrg_plc}" ]]; then
|
||||
basepkgs+=("${nrg_plc}")
|
||||
fi
|
||||
if [[ "${vendor}" == "Virtual Machine" ]]; then
|
||||
basepkgs+=("${vmpkgs}")
|
||||
else
|
||||
basepkgs+=(alsa-firmware linux-firmware sof-firmware)
|
||||
fi
|
||||
if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then
|
||||
basepkgs+=(7zip alsa-utils bluez bluez-hid2hci bluez-obex bluez-utils exfatprogs git glibc-locales gst-libav gst-plugin-libcamera gst-plugin-pipewire gst-plugins-bad gst-plugins-good gst-plugins-ugly libfido2 man-db man-pages mesa-utils nano-syntax-highlighting pacman-contrib pipewire-alsa pipewire-libcamera pipewire-pulse pipewire-zeroconf reflector usb_modeswitch xdg-user-dirs)
|
||||
fi
|
||||
if [[ "${terminal}" == "y" ]]; then
|
||||
basepkgs+=(gnome-terminal)
|
||||
fi
|
||||
if [[ -n "${ukify}" ]]; then
|
||||
basepkgs+=("${ukify}")
|
||||
fi
|
||||
if [[ -n "${zram}" ]]; then
|
||||
basepkgs+=("${zram}")
|
||||
fi
|
||||
if [[ -n "${gfxpkgs[*]}" ]]; then
|
||||
basepkgs+=("${gfxpkgs[*]}")
|
||||
fi
|
||||
if [[ "${nvdprop}" == "y" ]]; then
|
||||
basepkgs+=("${kernel}-headers")
|
||||
fi
|
||||
if [[ -n "${devel}" ]]; then
|
||||
basepkgs+=("${devel}")
|
||||
fi
|
||||
if [[ -n "${wireless_reg}" ]]; then
|
||||
basepkgs+=("${wireless_reg}")
|
||||
fi
|
||||
if [[ -n "${print_pkgs}" ]]; then
|
||||
basepkgs+=("${print_pkgs}")
|
||||
fi
|
||||
if [[ -n "${web_pkg}" ]]; then
|
||||
basepkgs+=("${web_pkg}")
|
||||
fi
|
||||
[[ -n "${shell}" ]] && basepkgs+=("${shell}")
|
||||
[[ -n "${nrg_plc}" ]] && basepkgs+=("${nrg_plc}")
|
||||
[[ -n "${ukify}" ]] && basepkgs+=("${ukify}")
|
||||
[[ -n "${zram}" ]] && basepkgs+=("${zram}")
|
||||
[[ -n "${gfxpkgs[*]}" ]] && basepkgs+=("${gfxpkgs[*]}")
|
||||
[[ -n "${devel}" ]] && basepkgs+=("${devel}")
|
||||
[[ -n "${wireless_reg}" ]] && basepkgs+=("${wireless_reg}")
|
||||
[[ -n "${print_pkgs}" ]] && basepkgs+=("${print_pkgs}")
|
||||
[[ -n "${web_pkg}" ]] && basepkgs+=("${web_pkg}")
|
||||
[[ "${vendor}" == "Virtual Machine" ]] && basepkgs+=("${vmpkgs}")
|
||||
[[ "${vendor}" != "Virtual Machine" ]] && basepkgs+=(alsa-firmware linux-firmware sof-firmware)
|
||||
[[ "${terminal}" == "y" ]] && basepkgs+=(gnome-terminal)
|
||||
[[ "${nvdprop}" == "y" ]] && basepkgs+=("${kernel}-headers")
|
||||
[[ ! "${desktop}" =~ ^(11|12)$ ]] && basepkgs+=(7zip alsa-utils bluez bluez-hid2hci bluez-obex bluez-utils exfatprogs git glibc-locales gst-libav gst-plugin-libcamera gst-plugin-pipewire gst-plugins-bad gst-plugins-good gst-plugins-ugly libfido2 man-db man-pages mesa-utils nano-syntax-highlighting pacman-contrib pipewire-alsa pipewire-libcamera pipewire-pulse pipewire-zeroconf reflector usb_modeswitch xdg-user-dirs)
|
||||
|
||||
case "${desktop}" in
|
||||
|
||||
@@ -6306,7 +6307,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
||||
deskpkgs="${basepkgs[*]} dolphin-plugins konsole plasma plasma-x11-session qt6-multimedia-gstreamer"
|
||||
displaymanager="sddm" ;;
|
||||
|
||||
2) # Plasma Light Desktop:
|
||||
2) # Plasma Lite Desktop:
|
||||
deskpkgs="${basepkgs[*]} ark bluedevil breeze-gtk colord-kde dolphin-plugins flatpak-kcm freerdp kate kcalc kclock kde-gtk-config kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdf kdialog keditbookmarks kget kimageformats kio-admin kio-gdrive kio-zeroconf konsole krdc krfb kscreen kwayland-integration kwrited okular purpose ocean-sound-theme packagekit-qt6 partitionmanager plasma5-integration plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-nm plasma-pa plasma-systemmonitor plasma-wayland-protocols plasma-x11-session sddm-kcm spectacle appmenu-gtk-module arj dosfstools ffmpegthumbs icoutils kvantum libappimage lrzip lzop maliit-keyboard ntfs-3g power-profiles-daemon qt5-xmlpatterns qt6-connectivity qt6-multimedia-gstreamer unarchiver unrar xdg-desktop-portal-gtk"
|
||||
displaymanager="sddm" ;;
|
||||
|
||||
@@ -6314,7 +6315,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
||||
deskpkgs="${basepkgs[*]} gnome"
|
||||
displaymanager="gdm" ;;
|
||||
|
||||
4) # Gnome Light Desktop:
|
||||
4) # Gnome Lite Desktop:
|
||||
deskpkgs="${basepkgs[*]} dconf-editor file-roller gdm gnome-browser-connector gnome-calculator gnome-clocks gnome-console gnome-control-center gnome-disk-utility gnome-keyring gnome-menus gnome-shell-extensions gnome-system-monitor gnome-text-editor gnome-tweaks gnome-user-share gvfs gvfs-afc gvfs-mtp gvfs-smb loupe papers sushi dosfstools glib2-devel gparted ntfs-3g power-profiles-daemon unrar unzip xorg-xhost zip"
|
||||
displaymanager="gdm" ;;
|
||||
|
||||
@@ -6348,35 +6349,17 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
||||
12) # Custom System:
|
||||
custarray=(base sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}")
|
||||
|
||||
if [[ -n "${shell}" ]]; then
|
||||
custarray+=("${shell}")
|
||||
fi
|
||||
if [[ "${vendor}" == "Virtual Machine" ]]; then
|
||||
custarray+=("${vmpkgs}")
|
||||
else
|
||||
custarray+=(linux-firmware)
|
||||
fi
|
||||
if [[ -n "${ukify}" ]]; then
|
||||
custarray+=("${ukify}")
|
||||
fi
|
||||
if [[ -n "${zram}" ]]; then
|
||||
custarray+=("${zram}")
|
||||
fi
|
||||
if [[ -n "${gfxpkgs[*]}" ]]; then
|
||||
custarray+=("${gfxpkgs[*]}")
|
||||
fi
|
||||
if [[ "${nvdprop}" == "y" ]]; then
|
||||
custarray+=("${kernel}-headers")
|
||||
fi
|
||||
if [[ "${greeternmbr}" =~ ^(1|2|3)$ ]]; then
|
||||
custarray+=("${greeter}")
|
||||
fi
|
||||
if [[ -n "${wireless_reg}" ]]; then
|
||||
custarray+=("${wireless_reg}")
|
||||
fi
|
||||
if [[ -n "${print_pkgs}" ]]; then
|
||||
custarray+=("${print_pkgs}")
|
||||
fi
|
||||
[[ -n "${shell}" ]] && custarray+=("${shell}")
|
||||
[[ -n "${ukify}" ]] && custarray+=("${ukify}")
|
||||
[[ -n "${zram}" ]] && custarray+=("${zram}")
|
||||
[[ -n "${gfxpkgs[*]}" ]] && custarray+=("${gfxpkgs[*]}")
|
||||
[[ -n "${wireless_reg}" ]] && custarray+=("${wireless_reg}")
|
||||
[[ -n "${print_pkgs}" ]] && custarray+=("${print_pkgs}")
|
||||
[[ "${vendor}" == "Virtual Machine" ]] && custarray+=("${vmpkgs}")
|
||||
[[ "${vendor}" != "Virtual Machine" ]] && custarray+=(linux-firmware)
|
||||
[[ "${nvdprop}" == "y" ]] && custarray+=("${kernel}-headers")
|
||||
[[ "${greeternmbr}" =~ ^(1|2|3)$ ]] && custarray+=("${greeter}")
|
||||
|
||||
deskpkgs="${custarray[*]}" ;;
|
||||
|
||||
13) # Cosmic Desktop:
|
||||
@@ -6444,9 +6427,9 @@ swapfile_btrfs() {
|
||||
|
||||
${magenta}###${nc}----------------------------------${magenta}[ ${bwhite}Btrfs Swapfile Setup${nc} ${magenta}]${nc}----------------------------------${magenta}###
|
||||
"
|
||||
if arch-chroot /mnt <<-SWAPFILE > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-SWAPFILE_BTRFS > "${void}" 2>&1 2> "${log}" ; then
|
||||
btrfs filesystem mkswapfile --size ${swapsize}g --uuid clear /swap/swapfile || exit
|
||||
SWAPFILE
|
||||
SWAPFILE_BTRFS
|
||||
cat >> /mnt/etc/fstab <<-FSTAB || err_abort
|
||||
/swap/swapfile none swap defaults 0 0
|
||||
FSTAB
|
||||
@@ -6514,21 +6497,21 @@ btldrcfg() {
|
||||
if [[ "${bootloader}" == "1" ]]; then
|
||||
local stage_prompt="Systemd-boot Configuration"
|
||||
if [[ "${xbootloader}" == "no" ]]; then
|
||||
if arch-chroot /mnt <<-BOOTCTL > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-SDBOOT_INSTL > "${void}" 2>&1 2> "${log}" ; then
|
||||
bootctl install || exit
|
||||
sed -i "/^#timeout 3/s/^#//" ${btldr_esp_mount}/loader/loader.conf || exit
|
||||
systemctl enable systemd-boot-update || exit
|
||||
BOOTCTL
|
||||
SDBOOT_INSTL
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
elif [[ "${xbootloader}" == "yes" ]]; then
|
||||
if arch-chroot /mnt <<-XBOOTCTL > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-SD_XBOOTLDR_INSTL > "${void}" 2>&1 2> "${log}" ; then
|
||||
bootctl --esp-path=/efi --boot-path=/boot install || exit
|
||||
sed -i "/^#timeout 3/s/^#//" ${btldr_esp_mount}/loader/loader.conf || exit
|
||||
systemctl enable systemd-boot-update || exit
|
||||
XBOOTCTL
|
||||
SD_XBOOTLDR_INSTL
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6536,7 +6519,7 @@ XBOOTCTL
|
||||
fi
|
||||
elif [[ "${bootloader}" == "2" ]]; then
|
||||
local stage_prompt="Grub Configuration"
|
||||
if arch-chroot /mnt <<-GRUB > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-GRUB_CONF > "${void}" 2>&1 2> "${log}" ; then
|
||||
cp /etc/default/grub /etc/default/grub.bak || exit
|
||||
cat <<-CFG > /etc/default/grub || exit
|
||||
GRUB_DEFAULT=0
|
||||
@@ -6553,28 +6536,47 @@ XBOOTCTL
|
||||
GRUB_DISABLE_OS_PROBER=false
|
||||
#GRUB_TERMINAL_OUTPUT=console
|
||||
CFG
|
||||
GRUB
|
||||
GRUB_CONF
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
|
||||
local stage_prompt="Grub Installation"
|
||||
if [[ "${sb_sign}" == "y" ]]; then
|
||||
if arch-chroot /mnt <<-SBGRUBINST > "${void}" 2>&1 2> "${log}" ; then
|
||||
grub-install --target=${uefimode} --efi-directory=${btldr_esp_mount} --bootloader-id=GRUB --removable --modules="tpm" --disable-shim-lock --recheck || exit
|
||||
sed -i 's/SecureBoot/SecureB00t/' ${btldr_esp_mount}/EFI/BOOT/"${efiname}".EFI || exit
|
||||
if [[ "${sb_sign}" == "y" && "${path}" == "1" ]]; then
|
||||
if arch-chroot /mnt <<-SB_GRUB_INSTL > "${void}" 2>&1 2> "${log}" ; then
|
||||
grub-install --target=${uefimode} --efi-directory=${btldr_esp_mount} --bootloader-id=GRUB --modules="tpm" --disable-shim-lock --recheck || exit
|
||||
sed -i 's/SecureBoot/SecureB00t/' ${btldr_esp_mount}/EFI/GRUB/grubx${bitness}.efi || exit
|
||||
grub-mkconfig -o /boot/grub/grub.cfg || exit
|
||||
SBGRUBINST
|
||||
SB_GRUB_INSTL
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
elif [[ "${sb_sign}" == "n" ]]; then
|
||||
if arch-chroot /mnt <<-GRUBINST > "${void}" 2>&1 2> "${log}" ; then
|
||||
elif [[ "${sb_sign}" == "y" && "${path}" == "2" ]]; then
|
||||
if arch-chroot /mnt <<-SB_GRUB_INSTL_RMV > "${void}" 2>&1 2> "${log}" ; then
|
||||
grub-install --target=${uefimode} --efi-directory=${btldr_esp_mount} --bootloader-id=GRUB --removable --modules="tpm" --disable-shim-lock --recheck || exit
|
||||
sed -i 's/SecureBoot/SecureB00t/' ${btldr_esp_mount}/EFI/BOOT/${efiname}.EFI || exit
|
||||
grub-mkconfig -o /boot/grub/grub.cfg || exit
|
||||
SB_GRUB_INSTL_RMV
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
elif [[ "${sb_sign}" == "n" && "${path}" == "1" ]]; then
|
||||
if arch-chroot /mnt <<-GRUB_INSTL > "${void}" 2>&1 2> "${log}" ; then
|
||||
grub-install --target=${uefimode} --efi-directory=${btldr_esp_mount} --bootloader-id=GRUB --recheck || exit
|
||||
grub-mkconfig -o /boot/grub/grub.cfg || exit
|
||||
GRUBINST
|
||||
GRUB_INSTL
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
elif [[ "${sb_sign}" == "n" && "${path}" == "2" ]]; then
|
||||
if arch-chroot /mnt <<-GRUB_INSTL_RMV > "${void}" 2>&1 2> "${log}" ; then
|
||||
grub-install --target=${uefimode} --efi-directory=${btldr_esp_mount} --bootloader-id=GRUB --removable --recheck || exit
|
||||
grub-mkconfig -o /boot/grub/grub.cfg || exit
|
||||
GRUB_INSTL_RMV
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6594,10 +6596,10 @@ GRUB_BTRFSD
|
||||
|
||||
if [[ "${nvdprop}" == "y" ]]; then
|
||||
local stage_prompt="Grub/Nvidia Configuration"
|
||||
if arch-chroot /mnt <<-NVGRUB > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-NVIDIA_GRUB > "${void}" 2>&1 2> "${log}" ; then
|
||||
sed -i "/^#GRUB_TERMINAL_OUTPUT=console/s/^#//" /etc/default/grub || exit
|
||||
grub-mkconfig -o /boot/grub/grub.cfg || exit
|
||||
NVGRUB
|
||||
NVIDIA_GRUB
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6624,9 +6626,9 @@ vm_serv() {
|
||||
|
||||
if [[ -n "${vm_services}" ]]; then
|
||||
local stage_prompt="VM Service(s) Activation"
|
||||
if arch-chroot /mnt <<-VM > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-VM_SRVC > "${void}" 2>&1 2> "${log}" ; then
|
||||
systemctl enable ${vm_services} || exit
|
||||
VM
|
||||
VM_SRVC
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6639,22 +6641,22 @@ zramcfg() {
|
||||
if [[ -n "${zram}" ]]; then
|
||||
local stage_prompt="Zram Swap Activation"
|
||||
zram_service="systemd-zram-setup@zram0.service"
|
||||
if arch-chroot /mnt <<-ZRAMCONF > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-ZRAM_CONF > "${void}" 2>&1 2> "${log}" ; then
|
||||
mkdir -p /etc/systemd/zram-generator.conf.d || exit
|
||||
cat <<-ZCONF > /etc/systemd/zram-generator.conf.d/zram.conf || exit
|
||||
cat <<-ZRAM_GEN > /etc/systemd/zram-generator.conf.d/zram.conf || exit
|
||||
[zram0]
|
||||
zram-size = ram / 2
|
||||
compression-algorithm = zstd
|
||||
ZCONF
|
||||
cat <<-VMZCONF > /etc/sysctl.d/99-vm-zram-parameters.conf || exit
|
||||
ZRAM_GEN
|
||||
cat <<-ZRAM_VM > /etc/sysctl.d/99-vm-zram-parameters.conf || exit
|
||||
vm.swappiness = 180
|
||||
vm.watermark_boost_factor = 0
|
||||
vm.watermark_scale_factor = 125
|
||||
vm.page-cluster = 0
|
||||
VMZCONF
|
||||
ZRAM_VM
|
||||
systemctl daemon-reload || exit
|
||||
systemctl start ${zram_service} || exit
|
||||
ZRAMCONF
|
||||
ZRAM_CONF
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6666,7 +6668,7 @@ nvidia_hook() {
|
||||
|
||||
if [[ "${nvdprop}" == "y" && -n "${nvname}" ]]; then
|
||||
local stage_prompt="Nvidia Hook Creation"
|
||||
if arch-chroot /mnt <<-NVIDIAHOOK > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-NVIDIA_HOOK > "${void}" 2>&1 2> "${log}" ; then
|
||||
mkdir -p /etc/pacman.d/hooks/ || exit
|
||||
cat <<-HOOK > /etc/pacman.d/hooks/nvidia.hook || exit
|
||||
[Trigger]
|
||||
@@ -6684,7 +6686,7 @@ nvidia_hook() {
|
||||
NeedsTargets
|
||||
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
|
||||
HOOK
|
||||
NVIDIAHOOK
|
||||
NVIDIA_HOOK
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6725,16 +6727,16 @@ UKI
|
||||
fi
|
||||
|
||||
elif [[ "${uki}" == "n" ]]; then
|
||||
if arch-chroot /mnt <<-NOUKI > "${void}" 2>&1 2> "${log}" ; then
|
||||
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 <<-MKINITPRESET > /etc/mkinitcpio.d/${kernel}.preset || exit
|
||||
cat <<-MKINITCPIO_PRESET > /etc/mkinitcpio.d/${kernel}.preset || exit
|
||||
ALL_config="/etc/mkinitcpio.conf.d/mkinitcpiod.conf"
|
||||
ALL_kver="/boot/vmlinuz-${kernel}"
|
||||
PRESETS=('default')
|
||||
default_image="/boot/initramfs-${kernel}.img"
|
||||
MKINITPRESET
|
||||
MKINITCPIO_PRESET
|
||||
mkinitcpio -P || exit
|
||||
NOUKI
|
||||
NO_UKI
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6747,7 +6749,7 @@ var_opts() {
|
||||
if [[ "${sb_sign}" == "y" && "${setrescue}" == "y" ]]; then
|
||||
local stage_prompt="Rescue Entry Creation"
|
||||
if [[ "${bootloader}" == "1" ]]; then
|
||||
if arch-chroot /mnt <<-RESCUE > "${void}" 2>&1 2> "${log}" ; 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
|
||||
ALL_config="/etc/mkinitcpio.conf.d/mkinitcpiod.conf"
|
||||
@@ -6759,18 +6761,18 @@ var_opts() {
|
||||
rescue_options="--cmdline /etc/cmdline.d/rescued.conf"
|
||||
PRESET
|
||||
mkinitcpio -P || exit
|
||||
RESCUE
|
||||
SDBOOT_RESCUE_ENTRY
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
elif [[ "${bootloader}" == "2" ]]; then
|
||||
if arch-chroot /mnt <<-RESCUE > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-GRUB_RESCUE_ENTRY > "${void}" 2>&1 2> "${log}" ; then
|
||||
touch /boot/grub/custom.cfg
|
||||
grep -E -A 11 "'Arch Linux'" /boot/grub/grub.cfg > /boot/grub/custom.cfg || exit
|
||||
sed -i 's/Arch Linux/Rescue Environment/' /boot/grub/custom.cfg || exit
|
||||
sed -i '/vmlinuz/ s/$/ systemd.unit=rescue.target/' /boot/grub/custom.cfg || exit
|
||||
RESCUE
|
||||
GRUB_RESCUE_ENTRY
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6918,9 +6920,9 @@ foreign() {
|
||||
if [[ -n "${web_aur}" ]]; then
|
||||
local stage_prompt="Base-devel Installation"
|
||||
if [[ "${dev}" != "y" ]]; then
|
||||
if arch-chroot /mnt <<-BASE-DEVEL > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-BASE_DEVEL > "${void}" 2>&1 2> "${log}" ; then
|
||||
pacman -S --noconfirm base-devel || exit
|
||||
BASE-DEVEL
|
||||
BASE_DEVEL
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6937,11 +6939,11 @@ GIT
|
||||
fi
|
||||
fi
|
||||
local stage_prompt="AUR Packages Installation"
|
||||
if arch-chroot /mnt <<-AURGIT-PKGS > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-AUR_GIT_PKGS > "${void}" 2>&1 2> "${log}" ; then
|
||||
sed -i 's|if (( EUID == 0 )); then|if (( EUID != 0 )); then|g' /usr/bin/makepkg || exit
|
||||
git clone --branch ${web_aur} --single-branch https://github.com/archlinux/aur.git ${web_aur} && cd ${web_aur} && makepkg -s --noconfirm && sudo pacman -U --noconfirm *x86_64.pkg.tar.zst && cd .. && rm -rf ${web_aur} || exit
|
||||
sed -i 's|if (( EUID != 0 )); then|if (( EUID == 0 )); then|g' /usr/bin/makepkg || exit
|
||||
AURGIT-PKGS
|
||||
AUR_GIT_PKGS
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -6953,7 +6955,7 @@ optimizations() {
|
||||
|
||||
if [[ "${genoptm}" == "y" ]]; then
|
||||
local stage_prompt="General System Optimizations"
|
||||
if arch-chroot /mnt <<-GENOPTM > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-GEN_OPTM > "${void}" 2>&1 2> "${log}" ; then
|
||||
pacman -S --noconfirm ccache ntfs-3g pbzip2 pigz || exit
|
||||
sed -i 's/^#Color/Color\nILoveCandy/' /etc/pacman.conf || exit
|
||||
update-pciids || exit
|
||||
@@ -7045,7 +7047,7 @@ TIMEOUT
|
||||
%wheel ALL=(ALL) ALL
|
||||
SUDOERS
|
||||
visudo -c /etc/sudoers.d/sudoersd || exit
|
||||
GENOPTM
|
||||
GEN_OPTM
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -7097,87 +7099,97 @@ secboot_sign() {
|
||||
if [[ "${sb_sign}" == "y" ]]; then
|
||||
local stage_prompt="Secure-Boot Signing"
|
||||
if [[ "${bootloader}" == "1" ]]; then
|
||||
if arch-chroot /mnt <<-SECSIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-SDBOOT_SEC_SIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
pacman -S --noconfirm sbctl || exit
|
||||
sbctl create-keys || exit
|
||||
sbctl enroll-keys -m || exit
|
||||
sbctl sign -s /boot/vmlinuz-${kernel} || exit
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/BOOT/"${efiname}".EFI || exit
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/BOOT/${efiname}.EFI || exit
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/Linux/arch-${kernel}.efi || exit
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/systemd/systemd-bootx"${bitness}".efi || exit
|
||||
sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx"${bitness}".efi.signed /usr/lib/systemd/boot/efi/systemd-bootx"${bitness}".efi || exit
|
||||
SECSIGN
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/systemd/systemd-bootx${bitness}.efi || exit
|
||||
sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx${bitness}.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx${bitness}.efi || exit
|
||||
SDBOOT_SEC_SIGN
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
if [[ "${setrescue}" == "y" ]]; then
|
||||
local stage_prompt="Rescue Entry Secure-Boot Signing"
|
||||
if arch-chroot /mnt <<-RESCSECSIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-SDBOOT_RESCUE_SEC_SIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/Linux/rescue.efi || exit
|
||||
RESCSECSIGN
|
||||
SDBOOT_RESCUE_SEC_SIGN
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
fi
|
||||
elif [[ "${bootloader}" == "2" ]]; then
|
||||
if arch-chroot /mnt <<-SECSIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
if [[ "${path}" == "1" ]]; then
|
||||
if arch-chroot /mnt <<-GRUB_SEC_SIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
pacman -S --noconfirm sbctl || exit
|
||||
sbctl create-keys || exit
|
||||
sbctl enroll-keys -m || exit
|
||||
sbctl sign -s /boot/vmlinuz-${kernel} || exit
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/BOOT/"${efiname}".EFI || exit
|
||||
SECSIGN
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/GRUB/grubx${bitness}.efi || exit
|
||||
GRUB_SEC_SIGN
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
elif [[ "${path}" == "2" ]]; then
|
||||
if arch-chroot /mnt <<-GRUB_FALLBACK_SEC_SIGN > "${void}" 2>&1 2> "${log}" ; then
|
||||
pacman -S --noconfirm sbctl || exit
|
||||
sbctl create-keys || exit
|
||||
sbctl enroll-keys -m || exit
|
||||
sbctl sign -s /boot/vmlinuz-${kernel} || exit
|
||||
sbctl sign -s ${btldr_esp_mount}/EFI/BOOT/${efiname}.EFI || exit
|
||||
GRUB_FALLBACK_SEC_SIGN
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
###################################################################################################
|
||||
set_vars() {
|
||||
|
||||
# Main Kernel Parameters
|
||||
boot_opts=()
|
||||
# Graphics Kernel Parameters
|
||||
gfx_bootopts=()
|
||||
# Mkinitcpio Modules
|
||||
# Mkinitcpio Modules/Binaries/Hooks
|
||||
MODULES=()
|
||||
# Mkinitcpio Binaries
|
||||
BINARIES=()
|
||||
# Mkinitcpio Hooks
|
||||
HOOKS=()
|
||||
# Zram Swap
|
||||
if [[ "${swapmode}" == "3" ]]; then
|
||||
# Zram Swap Kernel Parameters
|
||||
zram_bootopts="zswap.enabled=0"
|
||||
fi
|
||||
# Mkinitcpio Btrfs Binary
|
||||
if [[ "${fs}" == "2" ]]; then
|
||||
# Mkinitcpio Binaries
|
||||
BINARIES+=(/usr/bin/btrfs)
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# ENCRYPTION = 'YES'
|
||||
# BINARIES SETUP
|
||||
|
||||
# Btrfs Mkinitcpio Binary
|
||||
[[ "${fs}" == "2" ]] && BINARIES+=(/usr/bin/btrfs)
|
||||
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# LUKS ENCRYPTION
|
||||
if [[ "${encrypt}" == "yes" ]]; then
|
||||
# Mkinitcpio Modules (Encryption)
|
||||
MODULES+=("${fs_mod}")
|
||||
|
||||
# Encrypted Root Device
|
||||
encr_root_dev="/dev/mapper/${ENCROOT}"
|
||||
# Encrypted Root Options
|
||||
encr_root_opts="rd.luks.name=$(blkid -s UUID -o value "${root_dev}")=${ENCROOT}"
|
||||
# Encryption Kernel Parameters
|
||||
|
||||
|
||||
# ATTENTION LUKS ROOT KERNEL CMDLINE
|
||||
encr_root_bootopts="${encr_root_opts} root=${encr_root_dev}"
|
||||
|
||||
# SWAP SETUP (Encryption)
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# LUKS SWAP SETUP
|
||||
|
||||
# Encrypted Swap Partition
|
||||
if [[ "${swapmode}" == "1" ]]; then
|
||||
# Encrypted Swap Partition Options
|
||||
encr_swap_opts="rd.luks.name=$(blkid -s UUID -o value "${swap_dev}")=swap"
|
||||
# Encrypted Swap Kernel Parameters
|
||||
|
||||
# ATTENTION LUKS SWAP PARTITION KERNEL CMDLINE
|
||||
encr_swap_bootopts="resume=/dev/mapper/swap ${encr_swap_opts}"
|
||||
|
||||
# Encrypted Swapfile
|
||||
elif [[ "${swapmode}" == "2" ]]; then
|
||||
# Ext4 Offset calculation
|
||||
@@ -7187,80 +7199,79 @@ set_vars() {
|
||||
elif [[ "${fs}" == "2" ]]; then
|
||||
offst="$(btrfs inspect-internal map-swapfile -r /mnt/swap/swapfile)"
|
||||
fi
|
||||
# Encrypted Swap Kernel Parameters
|
||||
|
||||
# ATTENTION LUKS SWAPFILE KERNEL CMDLINE
|
||||
encr_swap_bootopts="resume=${encr_root_dev} resume_offset=${offst}"
|
||||
fi
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# LUKS HOOKS SETUP
|
||||
|
||||
# HOOKS SETUP (Encryption)
|
||||
# Nvidia Proprietary Driver
|
||||
# Nvidia Proprietary GFX Hooks
|
||||
if [[ "${nvdprop}" == "y" ]]; then
|
||||
HOOKS+=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems)
|
||||
# Open-source Drivers
|
||||
# Open-source GFX Hooks
|
||||
else
|
||||
HOOKS+=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems)
|
||||
fi
|
||||
# Add Fsck Hook
|
||||
[[ "${fs}" == "1" ]] && HOOKS+=(fsck)
|
||||
|
||||
# Fsck
|
||||
if [[ "${fs}" == "1" ]]; then
|
||||
HOOKS+=(fsck)
|
||||
fi
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# LUKS MODULES SETUP
|
||||
|
||||
# MAIN KERNEL PARAMETERS (Encryption)
|
||||
# Encrypted Root Kernel Parameters
|
||||
boot_opts+=("${encr_root_bootopts}")
|
||||
# Encrypted Swap Kernel Parameters
|
||||
if [[ -n "${encr_swap_bootopts}" ]]; then
|
||||
boot_opts+=("${encr_swap_bootopts}")
|
||||
fi
|
||||
# LUKS Mkinitcpio Modules
|
||||
MODULES+=("${fs_mod}")
|
||||
|
||||
# ENCRYPTION = 'NO'
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# ATTENTION MAIN KERNEL CMDLINE
|
||||
boot_opts=("${encr_root_bootopts}")
|
||||
|
||||
# If LUKS Swap:
|
||||
[[ -n "${encr_swap_bootopts}" ]] && boot_opts+=("${encr_swap_bootopts}")
|
||||
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# NO ENCRYPTION
|
||||
elif [[ "${encrypt}" == "no" ]]; then
|
||||
|
||||
# HOOKS SETUP
|
||||
# Nvidia Proprietary Driver
|
||||
|
||||
# Nvidia Proprietary GFX Hooks
|
||||
if [[ "${nvdprop}" == "y" ]]; then
|
||||
HOOKS+=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems)
|
||||
# Open-source Drivers
|
||||
# Open-source GFX Hooks
|
||||
else
|
||||
HOOKS+=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems)
|
||||
fi
|
||||
# Add Fsck Hook
|
||||
[[ "${fs}" == "1" ]] && HOOKS+=(fsck)
|
||||
|
||||
# Fsck
|
||||
if [[ "${fs}" == "1" ]]; then
|
||||
HOOKS+=(fsck)
|
||||
fi
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# ATTENTION MAIN KERNEL CMDLINE
|
||||
boot_opts=()
|
||||
|
||||
# MAIN KERNEL PARAMETERS
|
||||
if [[ "${autoroot}" == "y" ]]; then
|
||||
boot_opts+=("${multiroot_bootopts}")
|
||||
fi
|
||||
# If Multiroot:
|
||||
[[ "${autoroot}" == "y" ]] && boot_opts+=("${multiroot_bootopts}")
|
||||
fi
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# GFX CONFIGURATION
|
||||
|
||||
# Nvidia Proprietary Drivers
|
||||
# Gfx Kernel Cmdline
|
||||
gfx_bootopts=()
|
||||
|
||||
# Nvidia Proprietary
|
||||
if [[ "${nvdprop}" == "y" ]]; then
|
||||
MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
|
||||
gfx_bootopts+=(nvidia.NVreg_UsePageAttributeTable=1)
|
||||
|
||||
# Multi-Graphics including Intel
|
||||
if [[ "${vendors}" =~ "Intel" ]]; then
|
||||
MODULES+=(i915)
|
||||
fi
|
||||
|
||||
# Multi-Graphics including AMD
|
||||
if [[ "${vendors}" =~ "AMD" ]]; then
|
||||
MODULES+=(amdgpu)
|
||||
fi
|
||||
# MultiGfx with Intel
|
||||
[[ "${vendors}" =~ "Intel" ]] && MODULES+=(i915)
|
||||
# MultiGfx with AMD
|
||||
[[ "${vendors}" =~ "AMD" ]] && MODULES+=(amdgpu)
|
||||
|
||||
# Disable GSP Firmware
|
||||
if [[ "${nogsp}" == "y" ]]; then
|
||||
gfx_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
||||
fi
|
||||
|
||||
[[ "${nogsp}" == "y" ]] && gfx_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
||||
# Enable Experimental Low Latency Interrupts
|
||||
if [[ "${lowlat}" == "y" ]]; then
|
||||
gfx_bootopts+=(nvidia.NVreg_RegistryDwords=RMIntrLockingMode=1)
|
||||
fi
|
||||
[[ "${lowlat}" == "y" ]] && gfx_bootopts+=(nvidia.NVreg_RegistryDwords=RMIntrLockingMode=1)
|
||||
fi
|
||||
|
||||
# AMD
|
||||
@@ -7268,34 +7279,24 @@ set_vars() {
|
||||
if [[ -n "${islands}" && -z "${nvdprop}" ]]; then
|
||||
MODULES+=(amdgpu)
|
||||
fi
|
||||
|
||||
# 'Southern Islands' support
|
||||
if [[ "${islands}" == "1" ]]; then
|
||||
gfx_bootopts+=(amdgpu.dc=1 radeon.si_support=0 amdgpu.si_support=1)
|
||||
|
||||
# 'Sea Islands' support
|
||||
elif [[ "${islands}" == "2" ]]; then
|
||||
gfx_bootopts+=(amdgpu.dc=1 radeon.cik_support=0 amdgpu.cik_support=1)
|
||||
fi
|
||||
fi
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# MAIN KERNEL PARAMETERS
|
||||
if [[ -n "${gfx_bootopts[*]}" ]]; then
|
||||
boot_opts+=("${gfx_bootopts[*]}")
|
||||
fi
|
||||
if [[ "${kill_watchdog}" == "y" ]]; then
|
||||
boot_opts+=(nowatchdog)
|
||||
fi
|
||||
if [[ -n "${cust_bootopts}" ]]; then
|
||||
boot_opts+=("${cust_bootopts}")
|
||||
fi
|
||||
if [[ -n "${btrfs_bootopts}" ]]; then
|
||||
boot_opts+=("${btrfs_bootopts}")
|
||||
fi
|
||||
if [[ -n "${zram_bootopts}" ]]; then
|
||||
boot_opts+=("${zram_bootopts}")
|
||||
fi
|
||||
# ATTENTION ADD TO MAIN KERNEL CMDLINE
|
||||
|
||||
[[ -n "${gfx_bootopts[*]}" ]] && boot_opts+=("${gfx_bootopts[*]}")
|
||||
[[ -n "${cust_bootopts}" ]] && boot_opts+=("${cust_bootopts}")
|
||||
[[ -n "${btrfs_bootopts}" ]] && boot_opts+=("${btrfs_bootopts}")
|
||||
[[ "${swapmode}" == "3" ]] && boot_opts+=(zswap.enabled=0)
|
||||
[[ "${kill_watchdog}" == "y" ]] && boot_opts+=(nowatchdog)
|
||||
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# MAIN MKINITCPIO MODULES
|
||||
mkinitcpio_mods="MODULES=(${MODULES[*]})"
|
||||
# MAIN MKINITCPIO BINARIES
|
||||
@@ -7360,9 +7361,9 @@ BLUETOOTH
|
||||
|
||||
if [[ -n "${displaymanager}" ]]; then
|
||||
local stage_prompt="Display Manager Service Activation"
|
||||
if arch-chroot /mnt <<-DMSERVICE > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-DM > "${void}" 2>&1 2> "${log}" ; then
|
||||
systemctl enable ${displaymanager} || exit
|
||||
DMSERVICE
|
||||
DM
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -7419,9 +7420,9 @@ DEEPIN
|
||||
|
||||
if [[ -n "${customservices}" ]]; then
|
||||
local stage_prompt="Custom Service(s) Activation"
|
||||
if arch-chroot /mnt <<-CUSTOMSERV > "${void}" 2>&1 2> "${log}" ; then
|
||||
if arch-chroot /mnt <<-CUSTOM_SRVC > "${void}" 2>&1 2> "${log}" ; then
|
||||
systemctl enable ${customservices} || exit
|
||||
CUSTOMSERV
|
||||
CUSTOM_SRVC
|
||||
stage_ok
|
||||
else
|
||||
stage_fail
|
||||
@@ -7444,7 +7445,7 @@ CUSTOMSERV
|
||||
reboot
|
||||
exit
|
||||
}
|
||||
# END FUNCTIONS
|
||||
# END SYSTEM FUNCTIONS
|
||||
###################################################################################################
|
||||
|
||||
clear
|
||||
@@ -7454,7 +7455,7 @@ CUSTOMSERV
|
||||
log="Amelia_log.txt"
|
||||
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
||||
trg=""
|
||||
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vendor="" vendors="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" greeternmbr="" cust_bootopts="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" 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="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" set_optm_slct="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvdprop="" nowarning="" efiname="")
|
||||
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vendor="" vendors="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" greeternmbr="" cust_bootopts="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" set_optm_slct="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvdprop="" nowarning="" efiname="" path="")
|
||||
export "${vars[@]}"
|
||||
sleep 0.2
|
||||
CYANBG "************************************************************************************************* "
|
||||
|
||||
Reference in New Issue
Block a user