Add: When 'btrfs' is used along with LUKS encryption, the 'btrfs' binary will get loaded in initramfs

Change: When 'btrfs' is used, the 'fsck' mkinitcpio.conf hook will not be included
Change: Variable renaming
Change: Sed syntax change to avoid repetition
This commit is contained in:
Jane Doe
2025-08-31 03:13:53 +03:00
parent b3005fbff4
commit d062cded76
+42 -21
View File
@@ -2,7 +2,7 @@
# Amelia Installer # Amelia Installer
# Source: https://gitlab.com/prism7/archery # Source: https://gitlab.com/prism7/archery
# Version: 9.4.2 # Version: 9.4.3
set -euo pipefail set -euo pipefail
################################################################################################### ###################################################################################################
@@ -2437,23 +2437,23 @@ Enter a number ${bwhite}(empty to skip)${blue}: "
web_pkg="vivaldi" web_pkg="vivaldi"
web_name="Vivaldi" ;; web_name="Vivaldi" ;;
4) 4)
web_foreign="brave-bin" web_aur="brave-bin"
web_name="Brave Browser" ;; web_name="Brave Browser" ;;
5) 5)
web_foreign="microsoft-edge-stable-bin" web_aur="microsoft-edge-stable-bin"
web_name="Microsoft Edge" ;; web_name="Microsoft Edge" ;;
6) 6)
web_foreign="zen-browser-bin" web_aur="zen-browser-bin"
web_name="Zen Browser" ;; web_name="Zen Browser" ;;
7) 7)
web_foreign="opera" web_aur="opera"
web_name="Opera" ;; web_name="Opera" ;;
8) 8)
web_foreign="google-chrome" web_aur="google-chrome"
web_name="Google Chrome" ;; web_name="Google Chrome" ;;
"") "")
web_pkg="" web_pkg=""
web_foreign="" web_aur=""
web_name="" web_name=""
web_slct="yes" web_slct="yes"
skip ;; skip ;;
@@ -2475,7 +2475,7 @@ Enter a number ${bwhite}(empty to skip)${blue}: "
### No Browser selected ### No Browser selected
" "
web_pkg="" web_pkg=""
web_foreign="" web_aur=""
web_name="" web_name=""
web_slct="" web_slct=""
skip skip
@@ -5749,7 +5749,7 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In
################################################################################################### ###################################################################################################
revise() { revise() {
reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" vendors="" lowlat="" nogsp="" sanity="" smartpart="" partok="" preset="" presetpart="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_foreign="" web_slct="" set_optm_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" E_ROOT="") reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" vendors="" lowlat="" nogsp="" sanity="" smartpart="" partok="" preset="" presetpart="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" set_optm_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" E_ROOT="")
export "${reset[@]}" export "${reset[@]}"
gfxpkgs=() gfxpkgs=()
@@ -6402,6 +6402,7 @@ main_chroot() {
echo KEYMAP=${SETKBD} > /etc/vconsole.conf || exit echo KEYMAP=${SETKBD} > /etc/vconsole.conf || exit
cat <<-MKINITCPIO > /etc/mkinitcpio.conf.d/mkinitcpiod.conf || exit cat <<-MKINITCPIO > /etc/mkinitcpio.conf.d/mkinitcpiod.conf || exit
${mkinitcpio_mods} ${mkinitcpio_mods}
${mkinitcpio_bins}
${mkinitcpio_hooks} ${mkinitcpio_hooks}
MKINITCPIO MKINITCPIO
mkinitcpio -P || exit mkinitcpio -P || exit
@@ -6834,7 +6835,7 @@ PRINT_CONF
################################################################################################### ###################################################################################################
foreign() { foreign() {
if [[ -n "${web_foreign}" ]]; then if [[ -n "${web_aur}" ]]; then
local stage_prompt="Base-devel Installation" local stage_prompt="Base-devel Installation"
if [[ "${dev}" != "y" ]]; then 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
@@ -6850,7 +6851,7 @@ BASE-DEVEL
if arch-chroot /mnt <<-AUR-PKGS > "${void}" 2>&1 2> "${log}" ; then if arch-chroot /mnt <<-AUR-PKGS > "${void}" 2>&1 2> "${log}" ; then
pacman -S --noconfirm git || exit pacman -S --noconfirm git || exit
sed -i 's|if (( EUID == 0 )); then|if (( EUID != 0 )); then|g' /usr/bin/makepkg || exit sed -i 's|if (( EUID == 0 )); then|if (( EUID != 0 )); then|g' /usr/bin/makepkg || exit
git clone https://aur.archlinux.org/${web_foreign}.git && cd ${web_foreign} && makepkg -s --noconfirm && pacman -U --noconfirm *x86_64.pkg.tar.zst && cd .. && rm -rf ${web_foreign} || exit git clone https://aur.archlinux.org/${web_aur}.git && cd ${web_aur} && makepkg -s --noconfirm && 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 sed -i 's|if (( EUID != 0 )); then|if (( EUID == 0 )); then|g' /usr/bin/makepkg || exit
AUR-PKGS AUR-PKGS
stage_ok stage_ok
@@ -6963,9 +6964,10 @@ JOURNAL
DefaultTimeoutStopSec=5s DefaultTimeoutStopSec=5s
DefaultTimeoutAbortSec=5s DefaultTimeoutAbortSec=5s
TIMEOUT TIMEOUT
sed -i "/# set linenumbers/"'s/^#//' /etc/nanorc || exit sed -i \
sed -i "/# set minibar/"'s/^#//' /etc/nanorc || exit -e '/^# set linenumbers/s/^#//' \
sed -i "/# set mouse/"'s/^#//' /etc/nanorc || exit -e '/^# set minibar/s/^#//' \
-e '/^# set mouse/s/^#//' /etc/nanorc || exit
echo " include /usr/share/nano/*.nanorc" | tee -a /etc/nanorc || exit echo " include /usr/share/nano/*.nanorc" | tee -a /etc/nanorc || exit
echo tcp_bbr | tee /etc/modules-load.d/modulesd.conf || exit echo tcp_bbr | tee /etc/modules-load.d/modulesd.conf || exit
cat <<-SUDOERS > /etc/sudoers.d/sudoersd || exit cat <<-SUDOERS > /etc/sudoers.d/sudoersd || exit
@@ -7075,6 +7077,8 @@ set_vars() {
gfx_bootopts=() gfx_bootopts=()
# Mkinitcpio Modules # Mkinitcpio Modules
MODULES=() MODULES=()
# Mkinitcpio Binaries
BINARIES=()
# Mkinitcpio Hooks # Mkinitcpio Hooks
HOOKS=() HOOKS=()
# Zram Swap # Zram Swap
@@ -7082,6 +7086,11 @@ set_vars() {
# Zram Swap Kernel Parameters # Zram Swap Kernel Parameters
zram_bootopts="zswap.enabled=0" zram_bootopts="zswap.enabled=0"
fi fi
# Mkinitcpio Btrfs Binary
if [[ "${fs}" == "2" ]]; then
# Mkinitcpio Binaries
BINARIES+=(/usr/bin/btrfs)
fi
#-------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------
# ENCRYPTION = 'YES' # ENCRYPTION = 'YES'
if [[ "${encrypt}" == "yes" ]]; then if [[ "${encrypt}" == "yes" ]]; then
@@ -7115,12 +7124,17 @@ set_vars() {
fi fi
# HOOKS SETUP (Encryption) # HOOKS SETUP (Encryption)
# Nvidia Only Vendor # Nvidia Vendor
if [[ "${vendor}" == "Nvidia" ]]; then if [[ "${vendor}" == "Nvidia" ]]; then
HOOKS+=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck) HOOKS+=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems)
# Other Vendors / Multi-Vendors # Other Vendors / Multi-Vendors
else else
HOOKS+=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems fsck) HOOKS+=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems)
fi
# Fsck
if [[ "${fs}" == "1" ]]; then
HOOKS+=(fsck)
fi fi
# MAIN KERNEL PARAMETERS (Encryption) # MAIN KERNEL PARAMETERS (Encryption)
@@ -7134,12 +7148,17 @@ set_vars() {
# ENCRYPTION = 'NO' # ENCRYPTION = 'NO'
elif [[ "${encrypt}" == "no" ]]; then elif [[ "${encrypt}" == "no" ]]; then
# HOOKS SETUP # HOOKS SETUP
# Nvidia Only Vendor # Nvidia Vendor
if [[ "${vendor}" == "Nvidia" ]]; then if [[ "${vendor}" == "Nvidia" ]]; then
HOOKS+=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck) HOOKS+=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems)
# Other Vendors / Multi-Vendors # Other Vendors / Multi-Vendors
else else
HOOKS+=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck) HOOKS+=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems)
fi
# Fsck
if [[ "${fs}" == "1" ]]; then
HOOKS+=(fsck)
fi fi
# MAIN KERNEL PARAMETERS # MAIN KERNEL PARAMETERS
@@ -7200,6 +7219,8 @@ set_vars() {
# MAIN MKINITCPIO MODULES # MAIN MKINITCPIO MODULES
mkinitcpio_mods="MODULES=(${MODULES[*]})" mkinitcpio_mods="MODULES=(${MODULES[*]})"
# MAIN MKINITCPIO BINARIES
mkinitcpio_bins="BINARIES=(${BINARIES[*]})"
# MAIN MKINITCPIO HOOKS # MAIN MKINITCPIO HOOKS
mkinitcpio_hooks="HOOKS=(${HOOKS[*]})" mkinitcpio_hooks="HOOKS=(${HOOKS[*]})"
} }
@@ -7356,7 +7377,7 @@ CUSTOMSERV
log="Amelia_log.txt" log="Amelia_log.txt"
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="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" gfxconf="" gfx_conf="" gfx_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" 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="" 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="" vendors="" dev="" web="" web_pkg="" web_foreign="" 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="" E_ROOT="") vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" gfxconf="" gfx_conf="" gfx_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" 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="" vendors="" 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="" E_ROOT="")
export "${vars[@]}" export "${vars[@]}"
sleep 0.2 sleep 0.2
CYANBG "************************************************************************************************* " CYANBG "************************************************************************************************* "