'Encryption Option' has been added when revising installation

Improve aesthetics
This commit is contained in:
Jane Doe 2024-05-25 20:45:10 +00:00
parent 158f224ccd
commit 755167e2bc

185
Amelia.sh
View file

@ -1,7 +1,7 @@
#!/bin/bash
# Amelia Installer
# Version: 4.8
# Version: 4.9
set -euo pipefail
trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR
@ -214,7 +214,7 @@ stage_fail (){
sleep 0.3
RED "
[!] ${stage_prompt} configuration failed "
[!] ${stage_prompt} configuration FAILED "
sleep 2
abort
}
@ -376,15 +376,15 @@ ${purple}###${nc} Microcode Detection ${purple}###${nc}
if [[ "${CPU}" == *"GenuineIntel"* ]]; then
microcode="intel-ucode"
nrg_plc="x86_energy_perf_policy"
microname="'Intel'"
microname="Intel"
else
microcode="amd-ucode"
microname="'AMD'"
microname="AMD"
fi
sleep 0.3
YELLOW "
### Detection completed, the ""${microname}"" microcode will be installed
### Detection completed, the ${microname} microcode will be installed
"
ok
}
@ -402,7 +402,7 @@ ${purple}###${nc} Main Menu ${purple}###${nc}
> Make a selection:
### Select ${nc}[4] ${yellow}for${bwhite} ${yellow}guided${nc} ${yellow}navigation
### Select ${nc}[4] ${yellow}for guided navigation
"
NC "
@ -496,7 +496,7 @@ ${purple}###${nc} Locale Selection ${purple}###${nc}
"
YELLOW "
> Select your Locale (e.g. ${nc}en_US.UTF-8${yellow})
> Select your Locale (e.g. en_US.UTF-8)
### [Hit ${nc}'l'${yellow} to list locales, then ${nc}'enter'${yellow} to search or ${nc}'q'${yellow} to quit] "
@ -504,7 +504,7 @@ ${purple}###${nc} Locale Selection ${purple}###${nc}
Enter your Locale ${bwhite}(empty for '${cyan}en_US.UTF-8${bwhite}')${blue}: "
Enter your Locale ${bwhite}(empty for 'en_US.UTF-8')${blue}: "
read -r -p "
==> " SETLOCALE
@ -552,7 +552,7 @@ ${purple}###${nc} Keyboard Layout Selection ${purple}###${nc}
Enter your keyboard layout ${bwhite}(empty for '${cyan}us${bwhite}')${blue}: "
Enter your keyboard layout ${bwhite}(empty for 'us')${blue}: "
read -r -p "
==> " SETKBD
@ -930,7 +930,7 @@ Enter a number: "
fsname="Ext4"
fs_mod="ext4"
fstools="e2fsprogs"
roottype="/ROOT"
roottype="/Root"
sleep 0.3
YELLOW "
### ${fsname} has been selected
@ -1045,6 +1045,7 @@ set_swapsize (){
local prompt="Swapsize"
BLUE "
Enter Swapfile size ${bwhite}(in GiB)${blue}: "
read -r -p "
==> " swapsize
@ -1130,6 +1131,7 @@ ${purple}###${nc} Graphics Setup ${purple}###${nc}
if [[ "${vendor}" == "Virtual Machine" ]]; then
vgaconf="n"
vgapkgs=""
echo
skip
ok
@ -1248,7 +1250,6 @@ Enter a number: "
invalid
return 1
fi
if [[ "${kernelnmbr}" == "1" ]]; then
if [[ "${family}" == "1" ]]; then
vgapkgs="libva-nvidia-driver libvdpau-va-gl nvidia nvidia-settings nvidia-utils opencl-nvidia"
@ -1345,6 +1346,7 @@ ${nvidiacards}
> Please configure the graphics subsystem after installation has finished
"
vgaconf="n"
vgapkgs=""
echo
skip
ok
@ -1420,7 +1422,7 @@ Enter a number: "
### You can use linux console (ctrl+alt+F3) for shell access
> Install 'gnome-terminal' for convenience ? [y/n] "
> Install ${nc}'gnome-terminal' ${yellow}for convenience ? [y/n] "
BLUE "
@ -1442,7 +1444,7 @@ Enter [y/n]: "
sleep 0.3
echo
RED "
[!] Please type 'y' or 'n' to continue "
[!] Please type 'y' or 'n' to continue "
reload
return 1 ;;
*)
@ -1463,7 +1465,7 @@ Enter [y/n]: "
### You can use linux console (ctrl+alt+F3) for shell access
> Install 'gnome-terminal' for convenience ? [y/n] "
> Install ${nc}'gnome-terminal' ${yellow}for convenience ? [y/n] "
BLUE "
@ -1485,7 +1487,7 @@ Enter [y/n]: "
sleep 0.3
echo
RED "
[!] Please type 'y' or 'n' to continue "
[!] Please type 'y' or 'n' to continue "
reload
return 1 ;;
*)
@ -1523,7 +1525,7 @@ Enter [y/n]: "
### NOTE: 'base' meta-package does not include the tools needed for building packages
> Install 'base-devel' meta-package ? [y/n] "
> Install ${nc}'base-devel' ${yellow}meta-package ? [y/n] "
BLUE "
@ -1756,7 +1758,7 @@ ${purple}###${nc} EFI Boot Entries Deletion ${purple}###${nc}
YELLOW "
> Select an EFI Boot Entry to Delete ${red}[!] (CAUTION) [!]${yellow}
> Select an EFI Boot Entry to Delete ${red}[!] (CAUTION) [!]
"
sleep 0.3
@ -1982,9 +1984,9 @@ ${purple}###${nc} Partition Manager ${purple}###${nc}
Discoverable Partitions GUID Codes:
${cyan}EFI${nc} system partition > ${cyan}ef00${nc}
Linux x86-64 ${cyan}root (/)${nc} > ${cyan}8304${nc}
Linux ${cyan}/home${nc} > ${cyan}8302${nc}
Linux ${cyan}swap${nc} > ${cyan}8200${nc}
Linux x86-64 ${cyan}/ROOT ${nc}> ${cyan}8304${nc}
Linux ${cyan}/HOME${nc} > ${cyan}8302${nc}
Linux ${cyan}/SWAP${nc} > ${cyan}8200${nc}
- - - - - - - - - - - - - - - - - -
"
@ -2121,7 +2123,7 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
sanity="no"
sleep 0.3
RED "
[!] Linux x86-64 Root (/) Partition not detected "
[!] Linux x86-64 /Root Partition not detected "
sleep 0.3
RED "
[!] EFI System Partition not detected "
@ -2130,8 +2132,7 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
--> Please comply with the Discoverable Partitions Specification to continue..
### Ensure that a Linux x86-64 Root (/) Partition with a valid GUID code ${nc}(8304)${yellow} is present on disk
### Ensure that a Linux x86-64 /Root Partition with a valid GUID code ${nc}(8304)${yellow} is present on disk
### Ensure that an EFI System Partition with a valid GUID code ${nc}(ef00)${yellow} is present on disk "
sleep 0.3
@ -2151,14 +2152,13 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
sleep 0.3
RED "
[!] Linux x86-64 Root (/) Partition not detected "
[!] Linux x86-64 /Root Partition not detected "
sleep 0.3
YELLOW "
--> Please comply with the Discoverable Partitions Specification to continue..
### Ensure that a Linux x86-64 Root (/) Partition with a valid GUID code ${nc}(8304)${yellow} is present on disk "
### Ensure that a Linux x86-64 /Root Partition with a valid GUID code ${nc}(8304)${yellow} is present on disk "
sleep 0.3
RED "
@ -2172,7 +2172,7 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
sleep 0.3
NC "
==> [Linux x86-64 Root (/) ${green}OK${nc}] "
==> [Linux x86-64 /Root ${green}OK${nc}] "
sleep 0.3
RED "
@ -2182,7 +2182,6 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
--> Please comply with the Discoverable Partitions Specification to continue..
### Ensure that an EFI System Partition with a valid GUID code ${nc}(ef00)${yellow} is present on disk "
sleep 0.3
RED "
@ -2196,7 +2195,7 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
sleep 0.3
NC "
==> [Linux x86-64 Root (/) ${green}OK${nc}] "
==> [Linux x86-64 /Root ${green}OK${nc}] "
sleep 0.3
NC "
@ -2206,7 +2205,7 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
sleep 0.3
NC "
==> [Linux (/Home) ${green}OK${nc}] "
==> [Linux /Home ${green}OK${nc}] "
fi
if [[ "${swapmode}" == "1" ]]; then
@ -2215,20 +2214,19 @@ ${purple}###${nc} Sanity Check ${purple}###${nc}
sleep 0.3
NC "
==> [Linux Swap ${green}OK${nc}] "
==> [Linux /Swap ${green}OK${nc}] "
else
sanity="no"
sleep 0.3
RED "
[!] Linux Swap Partition not detected "
[!] Linux /Swap Partition not detected "
sleep 0.3
YELLOW "
--> Please comply with the Discoverable Partitions Specification to continue..
### Ensure that a Linux Swap Partition with a valid GUID code ${nc}(8200)${yellow} is present on disk "
### Ensure that a Linux /Swap Partition with a valid GUID code ${nc}(8200)${yellow} is present on disk "
sleep 0.3
RED "
@ -2255,7 +2253,7 @@ ${purple}###${nc} Encryption Setup ${purple}###${nc}
"
BLUE "
> Enable ${roottype} Encryption? [LUKS] "
> Enable${nc} ${cyan}${roottype} ${blue}Encryption? [LUKS] "
NC "
* Type '${cyan}no${nc}' to proceed without encryption
@ -2307,17 +2305,17 @@ Enter a name: "
YELLOW "
### A /HOME Partition has been detected "
### A /Home Partition has been detected "
sleep 0.3
BLUE "
> Encrypt /HOME partition? [LUKS] "
> Encrypt${nc} ${cyan}/Home ${blue}partition? [LUKS] "
NC "
* Type '${cyan}no${nc}' to proceed without encryption
* Type '${cyan}yes${nc}' to encrypt your /HOME
* Type '${cyan}yes${nc}' to encrypt your /Home
"
read -r -p "
==> " homecrypt
@ -2329,7 +2327,7 @@ Enter a name: "
elif [[ "${homecrypt}" == "yes" ]]; then
sleep 0.3
YELLOW "
> Enter a name for your Encrypted Home Partition: "
> Enter a name for your Encrypted /Home Partition: "
BLUE "
@ -2354,7 +2352,7 @@ Enter a name: "
sleep 0.3
NC "
==> [${green}Encrypted /HOME Label OK${nc}] "
==> [${green}Encrypted /Home Label OK${nc}] "
fi
else
sleep 0.3
@ -2494,17 +2492,14 @@ instl (){
if [[ "${swapmode}" == "1" ]]; then
until "${swaptype}"; do : ; done
fi
if [[ "${encrypt}" == "no" ]]; then
until set_mode; do : ; done
until confirm_status; do : ; done
elif [[ "${encrypt}" == "yes" ]]; then
until sec_erase; do : ; done
until luks; do : ; done
until opt_pcmn; do : ; done
until pacstrap_system; do : ; done
if [[ "${swapmode}" == "2" ]]; then
until "${swaptype}"; do : ; done
fi
@ -2574,14 +2569,12 @@ Enter a Mode number: "
sleep 0.3
NC "
-------------------------------------------------------------------------------------------------------------
==> [${green}Filesystems OK${nc}]
"
sleep 0.3
YELLOW "
###---------------------------------------[ FILESYSTEM OVERVIEW ]---------------------------------------###
###----------------------------------------[ FILESYSTEM OVERVIEW ]----------------------------------------###
"
lsblk -f |GREP_COLORS='mt=01;36' grep -E --color=always 'vfat|$'|GREP_COLORS='mt=01;32' grep -E --color=always 'ext4|$'|GREP_COLORS='mt=01;35' grep -E --color=always 'btrfs|$'|GREP_COLORS='mt=01;31' grep -E --color=always 'ntfs|$'|GREP_COLORS='mt=01;33' grep -E --color=always 'swap|$'
@ -2607,7 +2600,7 @@ auto_mode (){
if mount "${root_dev}" /mnt; then
sleep 0.3
NC "
==> [${green}/ROOT OK${nc}]
==> [${green}/Root OK${nc}]
"
else
umount_manual
@ -2667,7 +2660,7 @@ auto_mode (){
if mount "${boot_dev}" /mnt/boot; then
sleep 0.3
NC "
==> [${green}/BOOT OK${nc}]
==> [${green}/Boot OK${nc}]
"
else
umount_manual
@ -2694,7 +2687,7 @@ auto_mode (){
if [[ -e "${home_dev}" && "${fs}" == "1" ]]; then
BLUE "
> A /Home partition has been detected. Format as ${fsname}? [y/n]
> A${nc} ${cyan}/Home ${blue}partition has been detected. Format as${nc} ${cyan}${fsname}${blue}? [y/n]
"
@ -2707,7 +2700,7 @@ auto_mode (){
if mount "${home_dev}" /mnt/home; then
sleep 0.3
NC "
==> [${green}/HOME OK${nc}]
==> [${green}/Home OK${nc}]
"
else
umount_manual
@ -2781,7 +2774,7 @@ ${purple}###${nc} Format Boot Partition ${purple}###${nc}
YELLOW "
> Select a partition to format as EFI [/BOOT] "
> Select a partition to format as EFI [/Boot] "
NC "
${volumes} "
@ -2799,7 +2792,7 @@ Enter a partition number ${bwhite}(empty to skip and proceed)${blue}: "
sleep 0.3
NC "
==> [${green}Format & Label /BOOT OK${nc}] "
==> [${green}Format & Label /Boot OK${nc}] "
return 0
else
umount_abort
@ -2814,7 +2807,7 @@ Enter a partition number ${bwhite}(empty to skip and proceed)${blue}: "
fi
RED "
[!] Warning: Partition NOT Formatted !
[!] Warning: Partition NOT Formatted
"
skip
done
@ -2945,7 +2938,7 @@ Enter a name ${bwhite}(empty to skip and proceed)${blue}: "
else
RED "
[!] Warning: Partition NOT Formatted !
[!] Warning: Partition NOT Formatted
"
skip
return 0
@ -2961,7 +2954,7 @@ ask_homepart_form (){
> A /Home partition has been detected. Format as ${fsname}? [y/n]
> A${nc} ${cyan}/Home ${blue}partition has been detected. Format as${nc} ${cyan}${fsname}${blue}? [y/n]
"
@ -2976,7 +2969,7 @@ ask_homepart_form (){
sleep 0.3
NC "
==> [${green}/HOME OK${nc}]
==> [${green}/Home OK${nc}]
"
else
@ -3025,7 +3018,7 @@ ${purple}###${nc} Format Home Partition ${purple}###${nc}
YELLOW "
> Select a partition to format as 'Ext4' [/HOME] "
> Select a partition to format as Ext4 [/Home] "
NC "
@ -3045,7 +3038,7 @@ Enter a partition number ${bwhite}(empty to skip and proceed)${blue}: "
NC "
==> [${green}Format /HOME OK${nc}] "
==> [${green}Format /Home OK${nc}] "
else
umount_abort
until disk_mngr; do : ; done
@ -3059,7 +3052,7 @@ Enter a partition number ${bwhite}(empty to skip and proceed)${blue}: "
YELLOW "
> Label the /HOME partition "
> Label the /Home partition "
BLUE "
@ -3072,7 +3065,7 @@ Enter a name ${bwhite}(empty to skip and proceed)${blue}: "
sleep 0.3
NC "
==> [${green}Label /HOME OK${nc}] "
==> [${green}Label /Home OK${nc}] "
return 0
else
err_try
@ -3092,7 +3085,7 @@ Enter a name ${bwhite}(empty to skip and proceed)${blue}: "
###########################################################################################
mount_mnt (){
local prompt="Mount ${roottype} "
local prompt="Mount ${roottype}"
sleep 0.3
NC "
____________________________
@ -3101,7 +3094,7 @@ ${purple}###${nc} Mount Root Partition ${purple}###${nc}
"
YELLOW "
> Select a partition to mount to /mnt "
> Select a partition to mount to ${nc}/mnt "
NC "
@ -3109,7 +3102,7 @@ ${volumes} "
BLUE "
Enter your${nc} ${cyan}${roottype}${blue} partition number: "
Enter your${nc} ${cyan}${roottype} ${blue}partition number: "
read -r -p "
==> " mntroot_nmbr
echo
@ -3161,7 +3154,7 @@ Enter your${nc} ${cyan}${roottype}${blue} partition number: "
###########################################################################################
mount_boot (){
local prompt="Mount /BOOT"
local prompt="Mount /Boot"
sleep 0.3
NC "
____________________________
@ -3170,7 +3163,7 @@ ${purple}###${nc} Mount Boot Partition ${purple}###${nc}
"
YELLOW "
> Select a partition to mount to /mnt/boot "
> Select a partition to mount to ${nc}/mnt/boot "
NC "
@ -3178,7 +3171,7 @@ ${volumes} "
BLUE "
Enter your${nc} ${cyan}/BOOT${blue} partition number: "
Enter your${nc} ${cyan}/Boot ${blue}partition number: "
read -r -p "
==> " mntboot_nmbr
echo
@ -3206,7 +3199,7 @@ Enter your${nc} ${cyan}/BOOT${blue} partition number: "
###########################################################################################
mount_home (){
local prompt="Mount /HOME"
local prompt="Mount /Home"
sleep 0.3
NC "
____________________________
@ -3215,7 +3208,7 @@ ${purple}###${nc} Mount Home Partition ${purple}###${nc}
"
YELLOW "
> Select a partition to mount to /mnt/home "
> Select a partition to mount to ${nc}/mnt/home "
NC "
@ -3223,7 +3216,7 @@ ${volumes} "
BLUE "
Enter your${nc} ${cyan}/HOME${blue} partition number: "
Enter your${nc} ${cyan}/Home ${blue}partition number: "
read -r -p "
==> " mnthome_nmbr
echo
@ -3329,8 +3322,22 @@ revise (){
if [[ "${swapmode}" == "1" ]]; then
until "${swaptype}"; do : ; done
fi
until set_mode; do : ; done
until confirm_status; do : ; done
if [[ "${encrypt}" == "no" ]]; then
until set_mode; do : ; done
until confirm_status; do : ; done
elif [[ "${encrypt}" == "yes" ]]; then
until sec_erase; do : ; done
until luks; do : ; done
until opt_pcmn; do : ; done
until pacstrap_system; do : ; done
if [[ "${swapmode}" == "2" ]]; then
until "${swaptype}"; do : ; done
fi
if [[ -n "${REGDOM}" ]]; then
until wireless_regdom; do : ; done
fi
chroot_conf
fi
}
###########################################################################################
sec_erase (){
@ -3349,7 +3356,7 @@ ${purple}###${nc} Secure Disk Erasure ${purple}###${nc}
> Select a disk for Secure Erasure ${red}[!] (CAUTION) [!]${yellow}
### A ${nc}reboot${yellow} is mandatory and will take effect immediately when done "
### A reboot is mandatory and will take effect immediately when done "
NC "
@ -3371,7 +3378,6 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
sleep 0.3
NC "
==> [${green}Drive ${erasedrive} Erased OK${nc}] "
sleep 1
@ -3414,9 +3420,7 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
if mount /dev/mapper/"${ENCROOT}" /mnt; then
sleep 0.3
NC "
==> [${green}Encrypted Root OK${nc}]
==> [${green}Encrypted /Root OK${nc}]
"
else
err_abort
@ -3451,9 +3455,7 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
mount -o "${sbvl_mnt_opts}",subvol=@tmp /dev/mapper/"${ENCROOT}" /mnt/var/tmp &&
sleep 0.3
NC "
==> [${green}Encrypted /@ OK${nc}]
"
else
err_abort
@ -3477,9 +3479,7 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
if mkswap /dev/mapper/swap > /dev/null 2>&1 ; then
sleep 0.3
NC "
==> [${green}Encrypted Swap OK${nc}]
==> [${green}Encrypted /Swap OK${nc}]
"
else
err_abort
@ -3505,9 +3505,7 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
if mount /dev/mapper/"${ENCRHOME}" /mnt/home; then
sleep 0.3
NC "
==> [${green}Encrypted Home OK${nc}]
==> [${green}Encrypted /Home OK${nc}]
"
else
err_abort
@ -3519,7 +3517,7 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
elif [[ "${homecrypt}" == "no" ]]; then
BLUE "
> A /Home partition has been detected. Format as ${fsname}? [y/n]
> A${nc} ${cyan}/Home ${blue}partition has been detected. Format as${nc} ${cyan}${fsname}${blue}? [y/n]
"
read -r -p "
@ -3532,8 +3530,6 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
if mount "${home_dev}" /mnt/home; then
sleep 0.3
NC "
==> [${green}/Home OK${nc}]
"
else
@ -3556,8 +3552,7 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
if mount "${boot_dev}" /mnt/boot; then
sleep 0.3
NC "
==> [${green}/BOOT OK${nc}]
==> [${green}/Boot OK${nc}]
"
else
umount_abort
@ -3569,19 +3564,15 @@ ${purple}###${nc} LUKS Encryption ${purple}###${nc}
fi
sleep 0.3
NC "
==> [${green}Encryption OK${nc}]"
sleep 0.3
NC "
------------------------------------------------------------------------------------------------------------------
==> [${green}Filesystems OK${nc}]
"
sleep 0.3
YELLOW "
###---------------------------------------[ FILESYSTEM OVERVIEW ]---------------------------------------###
###----------------------------------------[ FILESYSTEM OVERVIEW ]----------------------------------------###
"
lsblk -f |GREP_COLORS='mt=01;36' grep -E --color=always 'vfat|$'|GREP_COLORS='mt=01;32' grep -E --color=always 'ext4|$'|GREP_COLORS='mt=01;35' grep -E --color=always 'btrfs|$'|GREP_COLORS='mt=01;31' grep -E --color=always 'ntfs|$'|GREP_COLORS='mt=01;33' grep -E --color=always 'swap|$'
@ -3606,7 +3597,7 @@ ${purple}###${nc} Optimize PacMan ${purple}###${nc}
> Select a Country for your Arch Mirrors:
### [Hit ${nc}'l'${yellow} to list Countries, then ${nc}'enter'${yellow} to search or ${nc}'q'${yellow} to quit] "
### [Hit ${nc}'l' ${yellow}to list Countries, then ${nc}'enter' ${yellow}to search or ${nc}'q' ${yellow}to quit] "
BLUE "