From 5170bad757ffb9041d04d7cf93c0b88a6ddf7cb8 Mon Sep 17 00:00:00 2001 From: Jane Doe Date: Sat, 2 Nov 2024 18:10:49 +0000 Subject: [PATCH] Update README.md with the latest changes --- README.md | 103 +++++++++++++++++++++++++++--------------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index a0f6e7d..e56054d 100644 --- a/README.md +++ b/README.md @@ -3,20 +3,23 @@ (Shellchecked) ----------------------------------------------------- -The main concept behind this installer is Automation and Interaction. +The main concept behind this installer is to take full advantage of the incredible automation that contemporary linux technologies such as systemd, offer. 'Amelia' is mainly targeted towards the experienced user that needs a quick installation means. -Yet, it is guided, interactive and intuitive, so that everyone can use it. +Yet, it is guided, interactive and intuitive, so that probably everyone can use it. - ## Automation: -There is no support for non-GPT platforms, as the installer makes use of the "Discoverable Partitions Specification", to automate detection of the underlying partitions, perform a sanity-check (and other checks throughout the installation process) based on your preferences, and auto-mount or auto-activate partitions when necessary (e.g. swap), without the use of the fstab file. +There is no support for non-GPT platforms, as this installer makes use of the uEFI's 'Discoverable Partitions Specification', to automate detection of the underlying partitions, perform a sanity checks (and other checks throughout the installation process) based on your preferences, and auto-mount or auto-activate partitions when necessary (e.g. swap), without the use of the fstab file. -In particular, when the "ext4" filesystem is being used, the "genfstab" command is not even executed in the script, and your "fstab" file will be empty (except only if "Swapfile" use is desired), as systemd's automation takes care of it. +By using systemd's latest and greatest features, configuration for eg. swapping, hibernation etc, is a thing of the past. +The system manager, automatically and optimally, takes care of all these configurations, which makes the installation process even more robust and of course much more simplified. -In the same manner, "systemd" (instead of "base" & "udev") will be used in your initramfs, as it provides the tools for the said automation. +In particular, when the 'ext4' filesystem is being used, the 'genfstab' command is not even executed in the script, and your 'fstab' file will be empty (except only if 'Swapfile' use is desired), as systemd's automation takes care of it. + +In the same manner, 'systemd' (instead of 'base' & 'udev') will be used in your initramfs, as it provides the tools for the said automation. The installation process completes in "one-go", meaning after it's over and the system has rebooted, you're basically done. @@ -67,7 +70,7 @@ A check/detection takes place, notifying you about the mode the installer runs o Normally should be runing as root, off the Arch-installation media. If that's not the case, you will be informed accordingly. -If there is "terminus-font" detected (already included in the Arch installation media), you will be asked to use this font or its HiDPI version, while at console (tty), or you will be prompted to change tty and use console (if you're just simply test-running the installer in your own system with X or Wayland). +If there is 'terminus-font' detected (already included in the Arch installation media), you will be asked to use this font or its HiDPI version, while at console (tty), or you will be prompted to change tty and use console (if you're just simply test-running the installer in your own system with X or Wayland). If not, setting different fonts is skipped. @@ -87,11 +90,11 @@ Pings the Arch servers for connection and exits if none is found. Self-explanatory. -- ### Microcode Detection: [Auto] +- ### Machine Detection: [Auto] -Cpu microcode detection takes place, ensuring the necessary "*-ucode" package will be installed later on. +The installer informs about the pc-system vendor, model, platform {desktop/laptop/server/vm} and cpu microcode to be installed, ensuring the necessary '*-ucode' package will be installed later on. -In case of "Intel" cpus, if "Minimal Plasma (System Optimized)" or "Minimal Gnome (System Optimized)" Setup is selected, "x86_energy_perf_policy" package will be installed and will be set to "performance" mode for obtaining maximum cpu performance ONLY during the installation process. +In case of Intel cpus, if 'Minimal Plasma (System Optimized)' or 'Minimal Gnome (System Optimized)' setup is selected, then 'x86_energy_perf_policy' package will be installed and will be set to 'performance' mode for obtaining maximum cpu performance ONLY during the installation process. @@ -182,7 +185,7 @@ Select to sign (or not) all needed binaries for activating Secure Boot Select Filesystem to be used (Ext4 / Btrfs) -If 'Ext4' is selected, you will be asked if you'd like a seperate '/home' partition. +If 'Ext4' is selected, you will be asked if you'd like a seperate '/home' partition to be created and a filesystem speedup will take place by setting the 'fast_commit' option as default as well. If 'Btrfs' is selected, you will be asked to label your 'snapshots' directory. If 'Btrfs' & 'Grub' bootloader are selected, the 'grub-btrfs' package will also be installed, and the 'grub-btrfsd' service will be automatically installed, for user convenience. @@ -201,24 +204,24 @@ Skip if "none" is selected. A check/detection takes place, notifying you about the underlying graphics subsystem. -If Dual/Triple graphics setup is detected, you will be asked to select for which hardware to automatically have drivers installed, hardware acceleration enabled and the graphics subsystem configured (mkinitcpio.conf, kernel parameters etc). +If Dual/Triple graphics setup is detected, you will be asked to select for which graphics hardware to automatically have drivers installed, hardware acceleration enabled and the graphics subsystem configured (mkinitcpio.conf, kernel parameters etc). Hybrid technologies like: 'Nvidia Optimus' are not offered/supported. -If Virtual-Machine graphics is detected, the setup is skipped, and graphics configuration defaults to 'n'. +If Virtual-Machine graphics is detected, the setup is skipped, and graphics configuration defaults to 'no'. If single graphics are detected, you will be offered the choice to automatically have drivers installed, hardware acceleration enabled and the graphics subsystem configured (mkinitcpio.conf, kernel parameters etc). -Notice that only the latest available drivers will be installed, so should you select "y" to auto-configure, ensure your graphics subsystem is currently supported. +Notice that only the latest available drivers will be installed, so should you select 'yes' to auto-configure, ensure your graphics subsystem is currently supported. Xorg DXX drivers (xf86-xxxx-xxxx) for Intel - AMD - Nvidia will NOT be automatically installed. -In case of AMD graphics, "amdgpu" driver support for "Southern Islands" and "Sea Islands" graphics is offered through auto-configuring. +In case of AMD graphics, 'amdgpu' driver support for 'Southern Islands' and 'Sea Islands' graphics is offered through auto-configuring. In case of Nvidia graphics, according to the gpu architecture, there's support for the newer 'nvidia-open' drivers. -The 'Nvidia Hook' will be automatically created (when needed). +The 'Nvidia Hook' will be automatically created (if needed). The purpose of this part of the installer is not to replace specialized or complicated/sofisticated software but only to offer support for a quick start. @@ -241,21 +244,21 @@ In this step, you will be presented with a list of setups to choose from: - [ ] 12. Custom Arch Linux --------------------------------------------------------------- -- All desktops (except 'Minimal Plasma (System Optimized)' & 'Minimal Gnome (System Optimized)' are completely 'Vanilla', and only come with network support (networkmanager). +- All desktops (except 'Minimal Plasma (system optimized)' & 'Minimal Gnome (system optimized)' are completely 'Vanilla', and only come with network support (networkmanager). For any additional functionality, please consult the Archwiki. - The installer offers the convenient option to set your own kernel parameters for boot, on-the-fly, while at 'Desktop Selection' stage. -- "Minimal Plasma (System Optimized)" will install a minimal, system-optimized KDE Plasma desktop plus additional every-day-use software. +- 'Minimal Plasma (system optimized)' will install a minimal, system-optimized KDE Plasma desktop plus additional every-day-use software. -- "Minimal Gnome (System Optimized)" will install a minimal, system-optimized Gnome desktop plus additional every-day-use software. +- 'Minimal Gnome (system optimized)' will install a minimal, system-optimized Gnome desktop plus additional every-day-use software. -- "Basic Arch Linux" is literally a basic Arch linux system, consisting of the following packages: "base, linux{lts-hardened-zen}, linux-firmware (only if on bare-metal), sudo, *-ucode, nano, pkgstats, vim, networkmanager, wireless-regdb and e2fsprogs/btrfs-progs" (depending on the filesystem chosen). +- 'Basic Arch Linux' is literally a basic Arch linux system, consisting of the following packages: "base, linux{lts-hardened-zen}, linux-firmware (only if on bare-metal), sudo, *-ucode, nano, pkgstats, vim, networkmanager, wireless-regdb and e2fsprogs/btrfs-progs" (depending on the filesystem chosen). It offers only the minimal configuration required to make your system run. -- "Custom Arch Linux" consists of the following packages: "base, linux-firmware (only if on bare-metal), sudo, pkgstats, and your current installation choices. +- 'Custom Arch Linux' consists of the following packages: "base, linux-firmware (only if on bare-metal), sudo, pkgstats, and your current installation choices. In this step you can create your own system (using a Basic Arch Linux system as base), on-the-fly, using the following Menus: @@ -285,7 +288,7 @@ If a 'VM' is detected, this stage is skipped. - ### Disk GPT Manager: [Interactive - Skippable] -Use "gdisk" to perform various disk operations to any detected drive in your system (e.g. zapping the GPT and create a new one, etc. +Use 'gdisk' to perform various disk operations to any detected drive in your system (e.g. zapping the GPT and create a new one, etc. - ### Partition Manager: [Interactive - Skippable] @@ -296,10 +299,10 @@ The'Partition Manager' stage consists of 2 Modes: An 'Automatic Mode' consisting of 2 sub-modes: 'Smart Mode': [Interactive - Skippable] - Detects user's preferences and partitions the selected disk with no interaction with the user. + Detects user's preferences and partitions the selected disk accordingly, without any interaction with the user. 'Partitioning Presets': [Interactive - Skippable] -Offers ready-made compatible Partition Layout Presets with sane defaults to select from. +Offers ready-made 'Partition Layout Presets' with sane defaults to select from. A 'Manual Mode': [Interactive - Skippable] It shows extended info about the supported partition types and mountpoints that the installer expects. @@ -308,26 +311,26 @@ It shows extended info about the supported partition types and mountpoints that Existence of an "EFI" System Partition and a "Root x86-64" Partition is mandatory. -The partitions layout in this stage should reflect your previous choices, e.g. if you chose to use a "Swap" partition, and it does not exist, now is the time to create it. +The partitions layout in this stage should reflect your previous choices, e.g. if you chose to use a 'Swap' partition, and it does not exist, now is the time to create it. -If you need a seperate "Home" partition, create it now or an existing one can also be used. +If you need a seperate 'Home' partition, create it now or an existing one can also be used. -For the systemd "auto-gpt-generator" automation to work, all involved partitions MUST reside in the same physical disk/device. +For the systemd 'auto-gpt-generator' automation to work, all involved partitions MUST reside in the same physical disk/device. - ### Installation Disk Selection & Sanity Check: [Auto] Select a disk to install Arch Linux on. -This step incorporates and performs a "Sanity Check" on the chosen disk. +This step incorporates and performs a Sanity Check on the chosen disk. This means the installer will verify that the choices you've made so far, are correctly reflected on the partitions layout, before it lets you continue with the installation. The aim here is to make the installation process error-proof. -It will ensure that an "EFI" System Partition indeed exists, that a "Root x86-64" partition exists, that a "Swap" partition exists IF you chose to use a "Swap" partition and will also detect an existing seperate "Home" partition. +It will ensure that an 'EFI' System Partition indeed exists, that a 'Root x86-64' partition exists, that a 'Swap' partition exists IF you chose to use a 'Swap' partition and will also detect an existing seperate 'Home' partition. -If 'systemd-boot' is selected and '/efi' mountpoint for an ESP smaller than 200Mb is selected, the installer expects an 'XBOOTLDR' extended boot partition to be present. +If 'systemd-boot' is selected and '/efi' mountpoint for an ESP smaller than 200Mb is selected, the installer expects an 'XBOOTLDR' extended boot partition to be present (user created). On top of all that, the installer will scan the partitions on the installation disk and if more than one of each type {root/EFI/home/swap/xbootldr} are detected, then it will Auto-Assign the 1st partition of each (involved) type, to be used by systemd's automation in the installation (as the 'Discoverable Partitions Specifications' dictate). It comes with its own menu/prompts, for proper user interaction. @@ -340,9 +343,9 @@ If the Sanity Check fails, the installer will smartly load any necessary stages, - ### Encryption Setup: [Interactive - Skippable] -Choose if you will enable LUKS encryption on your 'Swap-Root-Home' partition +Choose if you will enable LUKS encryption on your 'Swap/Root/Home' partitions -Also, you will be asked to Label your partition(s). +Also, you will be asked to Label your partitions. Again, the scope here is not to create an inpenetrable system but a decently protected system. @@ -351,7 +354,7 @@ Using 'Secure Boot' with an unencrypted 'EFI System partition' and a LUKS encryp - ### Swap Partition Activation: [Auto] -If you chose to create a "Swap" partition, now it will be activated. +If you chose to create a 'Swap' partition, now it will be activated. ### If the answer to the "Disk Encryption" step was "no" : @@ -359,24 +362,24 @@ If you chose to create a "Swap" partition, now it will be activated. - ### Mode Selection: [Interactive] -The installer asks the user to select the preferred "Install" Mode. +The installer asks the user to select the preferred disk preparation mode: -- [ ] "Auto" will perform Formatting, Labeling and Mounting of all of the involved partitions automatically, but it will ask for your confirmation before formatting a separate "ext4" "Home" partition (if found), in case you would like to keep it intact. +- [ ] 'Auto' will perform Formatting, Labeling and Mounting of all of the involved partitions automatically, but it will ask for your confirmation before formatting a separate ext4 'Home' partition (if found), in case you would like to keep it intact. -- [ ] "Manual" mode will perform the above by asking the user to choose which partitions to format, choose desired name to label the partitions, and mount them accordingly. +- [ ] 'Manual' mode will perform the above by asking the user to select which partitions to format, choose desired name to label the partitions, and mount them accordingly. -The "Auto" mode will switch to "Manual" mode if errors are encountered (so the user gets control of the procedure), and when the said mini-step is completed (e.g formatting "EFI") it will continue in "Auto" mode for the rest of the partitions. +The 'Auto' mode will switch to 'Manual' mode if errors are encountered (so the user gets control of the procedure), and when the said mini-step is completed (e.g formatting 'EFI') it will continue in 'Auto' mode for the rest of the partitions. -Upon completion, both "Auto" and "Manual" mode present the user with a summary of the partitions and mounts layout, preparing for the next step. +Upon completion, both 'Auto' and 'Manual' mode present the user with a summary of the partitions and mounts layout, preparing for the next step. - ### Confirm Installation Status [Interactive] Decide if you will procceed with the installation. -If you are satisfied with the result (presented to you in the previous step and still showing on screen), answer "yes". +If you are satisfied with the result (presented to you in the previous step and still showing on screen), answer 'yes'. -If your answer is "no", then the installer unmounts all mounted partitions and reloads "System Configuration" and all necessary installation stages, so you can revise your choices until you are satisfied with the outcome. +If your answer is 'no', then the installer unmounts all mounted partitions and reloads 'System Configuration' and all necessary installation stages, so you can revise your choices until you are satisfied with the outcome. - ### Optimize Pacman: [Interactive] @@ -391,7 +394,7 @@ If a country from the list is chosen, Reflector will rate its mirrors, using [ l If no mirrors are found, it means that the country chosen doesn't fulfill Reflector's set criteria. Try with another country. -Then you will be asked to enable Pacman's Parallel Downloads feature, and if the answer is "y" you will be asked to choose a number of parallel downloads, ranging from 2 up to 5 max (not more, to avoid saturation). +Then you will be asked to enable Pacman's Parallel Downloads feature, and if the answer is 'yes' you will be asked to choose a number of parallel downloads, ranging from 2 up to 5 max (not more, to avoid bandwith saturation). - ### Pacstrap System: [Auto] @@ -402,7 +405,7 @@ The system will be pacstrapped and your selected setup will be installed. During this stage, the majority of configuration takes place. -Detection of rotational or solid state drives has already taken place, so "fstrim.timer" will be activated accordingly for the installation drive. +Detection of rotational or solid state drives has already taken place, so 'fstrim.timer' will be activated accordingly for the installation drive. Also, if a non-rotational drive is being used during installation, and LUKS encryption has been chosen, then specific options will be applied to open the LUKS container. @@ -410,9 +413,9 @@ Graphics setup, encryption setup, swap/swapfile/Zram Swap activation, offset cal As mentioned earlier, configuration takes place using ONLY the respective drop-in directories and never the original '.conf' files, where applicable. -' Minimal Plasma (Optimized) & Minimal Gnome (Optimized)' setups offer System Optimizations. +' Minimal Plasma (Optimized) & Minimal Gnome (Optimized)' setups offer a few system optimizations. -All other setups offer only the minimal/typical configuration required to make your system run. +All other setups use just the required configuration to make your system run. ### If the answer to the "Disk Encryption" step was "yes": @@ -425,19 +428,19 @@ Since LUKS encryption has been chosen in a previous step, the installer offers t - ### LUKS Encryption: [Interactive - Skippable] -Your selected "Root x86-64" partition will be encrypted using LUKS. +Your selected 'Root x86-64' partition will be encrypted using LUKS. -If a separate "Home" partition is detected, and the filesystem chosen is "ext4", then you will be offered the option to encrypt "Home" too. +If a separate 'Home' partition is detected, and the filesystem chosen is 'ext4', then you will be offered the option to encrypt 'Home' too. -Should you choose "yes" to that option, then auto-configuration will take place, so an extra LUKS password won't be needed to unlock said volume. +Should you choose 'yes' to that option, then auto-configuration will take place, so an extra LUKS password won't be needed to unlock said volume. -Should you choose "no", the installer will still ask for your confirmation before formatting the "Home" partition to "ext4", in case you would like to keep it intact. +Should you choose 'no', the installer will still ask for your confirmation before formatting the 'Home' partition to 'ext4', in case you would like to keep it intact. -This stage cannot offer automatic error-resolving by automatically taking actions such as re-running previous steps of the installation precedure, like [Auto] or [Manual] mode does, as after LUKS encryption has finished, partprobing and informing the kernel about further/new changes will require a system restart. +This stage cannot offer automatic error-resolving by automatically taking actions such as re-running previous steps of the installation precedure, like [Auto] or [Manual] mode does, as after LUKS encryption has finished, partprobing and informing the kernel about further/new changes requires a system restart. As a result, if any errors occur at this stage, will eventually terminate the installation, and you will be required to reboot and re-run the installer. -For the same reason, the installer cannot offer the choice of reloading previous phases, as it does in the "Confirm Installation Status" stage. +For the same reason, the installer cannot offer the choice of reloading previous phases, as it does in the 'Confirm Installation Status' stage. From here onwards, all stages are the same as the Non-Encrypted Installation. @@ -446,8 +449,6 @@ From here onwards, all stages are the same as the Non-Encrypted Installation. That's pretty much it. -Online research was very helpful in the creation of this installer, as a few ideas came from scripts of others. - All instructions used, stem from the Arch wiki. Any feedback will be greatly appreciated.