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:
Jane Doe
2025-10-22 18:40:32 +03:00
parent f7dceb9e69
commit 7a7f4875fc
+247 -246
View File
@@ -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
@@ -7088,7 +7090,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/' | less
fi
}
###################################################################################################
@@ -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 "************************************************************************************************* "