From 618ac0b1f21fcb660ec3a4a8c375adb735b848b9 Mon Sep 17 00:00:00 2001 From: Jane Doe Date: Sat, 2 Aug 2025 22:47:38 +0300 Subject: [PATCH] A long-overdue update on the README.md with all the latest changes. --- README.md | 207 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 141 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index ec15d52..94ce269 100644 --- a/README.md +++ b/README.md @@ -10,23 +10,28 @@ The main concept behind this installer is to take full advantage of the extended Yet, it is guided, interactive and intuitive, so that probably everyone can use it. - - ## Automation: -There is no support for non-GPT platforms, as this installer makes absolute use of uEFI's 'Discoverable Partitions Specification'. +The installer does not support automatic detection of Windows partitions, so if DualBooting is desired, utilize the TUI "Manual Partitioning" stage to accomplish what you need. + +Also, there is no support (nor will ever be) for non-GPT platforms, as this installer makes absolute use of uEFI's 'Discoverable Partitions Specification'. Consequently, it will automate the detection of the underlying/involved partitions, perform sanity checks based on your preferences, and auto-mount/auto-activate these partitions when necessary (e.g. swap), without the use of the fstab file. By using systemd's latest and greatest features, configuration needed for eg. swapping, hibernation etc, is a thing of the past. -The system manager will automatically and optimally configure parts of the system, which makes the installation process more robust and of course much more simplified and reliable. +The system manager will automatically and more importantly, optimally configure parts of the system, which makes the installation process very robust and of course much more simplified and reliable. -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 particular, when the 'ext4' filesystem is being selected, 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 done. +If there are erros during the installation process, the installer will exit, informing you accordingly and issue a logfile in the current working directory, stating what went wrong, for troubleshooting purposes. + +This logfile will be issued anyway when the installation procedure finishes, stating what was the last action that has taken place by the installer. + - ## Interaction: @@ -39,31 +44,27 @@ The installer follows a menu-driven, step-by-step principal, presenting you with For disk partitioning there's 3 available Modes. - + +A 'Smart Mode' that engages if the user has selected the 'Auto-Guided Installation' and will select a partitioning profile/preset based on current user preferences, (no additional user interaction needed). If 'Swap' has been selected, the user is asked to specify desired size. (Start Installation stage). + An 'Auto Mode' that offers ready-made compatible Partition Layout Presets with sane defaults to select from (Partition Manager stage). A 'Manual Mode', where "cgdisk" is used, as it offers a TUI (ncurses) interface, making the process of managing the partition table, setting GUIDs etc. easy and safe(r) (Partition Manager stage). -A 'Smart Mode' that engages if the user has selected the 'Auto-Guided Installation' and will select a partitioning profile/preset based on current user preferences, (no additional user interaction needed). If 'Swap' has been selected, the user is offered to specify desired size. - ### Input interaction: -You will be asked to make your own choices, and there will always be a confirmation upon success or failure of the outcome of those choices. +You will be asked to make your own choices, and there will always be a confirmation upon success or failure of the outcome. -You will definitely know what your choice was, what has succeded and if anything went wrong. +You will definitely know what has succeded and if anything went wrong. The installer has been purposely made in such a way that it will exit if unresolvable errors occur, so it ^should be^ impossible to end up with an errored installation or with parts unfinished. -In several cases, it will try to remedy the situation by taking certain steps (e.g. unmounting a partition, in case it was already mounted from before) and bring you a few steps back, to re-run installation stages that might help you continue with success. +In a few cases, it will try to remedy the situation by taking certain steps (e.g. unmounting a partition, in case it was already mounted from before) and bring you a few steps back, to re-run installation stages that might help you continue with success. All stages are informative. -Where applicable, system file configuration takes place EXCLUSIVELY in the corresponding drop-in directories and never at the original '.conf' files, so the installed system preserves its functionality across updates and maintenance is minimized. - - - # Installer overview: @@ -74,7 +75,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, or you will be prompted to change into tty (and use linux 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. @@ -94,11 +95,9 @@ Pings the Arch servers for connection and exits if none is found. Self-explanatory. -- ### Machine Detection: [Interactive - Skippable] +- ### Machine Detection: [Auto] -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. - -Then the installer asks to disable Watchdogs in the installed system (if not on a critical platform, like a server) +The installer informs the user about the pc-system vendor, model, platform {desktop/laptop/server/vm} and cpu microcode package to be installed later on. ## Main Menu: @@ -111,7 +110,7 @@ Then the installer asks to disable Watchdogs in the installed system (if not on ### Personalization Submenu: -- [ ] [1] Locale & Keyboard Layout Selection +- [ ] [1] Locale & Keyboard Layout Setup - [ ] [2] User, Root User & Hostname Setup - [ ] [ ] Return to Main Menu @@ -119,11 +118,11 @@ Then the installer asks to disable Watchdogs in the installed system (if not on ### System Configuration Submenu: - [ ] [1] Kernel, Secureboot Signing, Bootloader & ESP Mountpoint -- [ ] [2] Filesystem & Swap Selection +- [ ] [2] Filesystem & Swap Setup - [ ] [3] Graphics Setup - [ ] [4] Desktop Setup - [ ] [5] EFI Boot Entries Deletion -- [ ] [6] Wireless Regulatory Domain Setup +- [ ] [6] Optimizations - [ ] [ ] Return to Main Menu @@ -135,6 +134,9 @@ Then the installer asks to disable Watchdogs in the installed system (if not on ----------------------------------------------- +### Personalization Submenu: + + - ### Locale Selection: [Interactive - Skippable] Set your locale, choose from the locale list or use default. @@ -164,15 +166,22 @@ Set password and verify. Self-explanatory. +### System Configuration Submenu: + + - ### Kernel Selection: [Interactive] -Select between Linux, Linux LTS, Linux Hardened & Linux Zen Kernels. +Select between the Linux, Linux LTS, Linux Hardened & Linux Zen Kernels. + - ### Secureboot Signing: [Interactive] -Select to sign (or not) all needed binaries for enabling Secure Boot +Select to sign (or not) all needed binaries for enabling Secure Boot on your system + +If Secure Boot is selected, the installer will offer to create a 'Rescue' bootloader entry, especially necessary for UKIs, as editing menu entries under Secureboot is not allowed + +Automatic Secureboot signing will take place in the future, for the installed Kernel or UKI -If Secure Boot is selected, the installer will offer to create a 'Rescue' bootloader entry, especially necessary for UKIs, as access to edit the menu entry is not allowed. - ### Bootloader Selection: [Interactive] @@ -192,25 +201,23 @@ If 'Ext4' is selected: You will be asked if you'd like a seperate '/home' partition to be created. -Also, a filesystem performance boost will take place by setting the 'fast_commit' option by default. +Also, a filesystem performance boost will automatically take place by setting the 'fast_commit' option by default when formatting. If 'Btrfs' is selected: You will be asked to label your 'snapshots' directory. -If 'Btrfs' & 'Grub' bootloader are selected, the 'grub-btrfs' package will be installed, and the 'grub-btrfsd' service will be automatically enabled, for user convenience. +If 'Btrfs' filesystem & 'Grub' bootloader is selected, then the 'grub-btrfs' package will be installed, and the 'grub-btrfsd' service will be automatically enabled for user convenience. - ### Swap Selection: [Interactive - Skippable] Select between Swap partition, Swapfile, Zram Swap or none. -If 'Swapfile' is selected, then set desired 'Swapfile' size (Swapfile creation & activation and configuration of the 'fstab' file takes place automatically. +If 'Swap Partition' or 'Swapfile' is selected, you'll be asked to set desired 'Swap' size. Skip if "none" is selected. -Next, the installer asks the user to enable 'systemd-oomd', enhancing 'OOM' management, which will be optimally done by the system manager. - - ### Graphics Setup: [Interactive - Skippable] @@ -231,57 +238,90 @@ Xorg DXX drivers (xf86-xxxx-xxxx) for Intel - AMD - Nvidia will NOT be automatic 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. +In case of Nvidia graphics and according to the gpu architecture, there's support for both the 'nvidia-open' & 'nvidia' drivers. Also, support for disabling Nvidia's 'GSP' is offered, when using the 'nvidia' proprietary driver. -If needed, the 'Nvidia Hook' will be automatically created. +When needed, the 'Nvidia Hook' will be automatically created. -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. +Hybrid desktop graphics setups are not supported. - ### Desktop Setup [Interactive] -In this step, you will be presented with a list of setups to choose from: +In this step, you will be presented with the following list of submenus to choose from: + +- [ ] [1] Desktop Selection +- [ ] [2] Arch 'base-devel' Meta-package +- [ ] [3] Web browser Selection +- [ ] [4] Printer & Scanner Support +- [ ] [ ] Return to System Configuration + + +- #### Desktop Selection [Interactive] + +- [ ] [1] Plasma +- [ ] [2] Minimal Plasma + Desktop Apps +- [ ] [3] Gnome +- [ ] [4] Minimal Gnome + Desktop Apps +- [ ] [5] Xfce +- [ ] [6] Cinnamon +- [ ] [7] Deepin +- [ ] [8] Budgie +- [ ] [9] Lxqt +- [ ] [10] Mate +- [ ] [11] Basic Arch Linux (No GUI) +- [ ] [12] Custom Arch Linux +- [ ] [13] Cosmic (ALPHA) -- [ ] 1. Plasma -- [ ] 2. Minimal Plasma + Desktop Apps + System Optimizations -- [ ] 3. Gnome -- [ ] 4. Minimal Gnome + Desktop Apps + System Optimizations -- [ ] 5. Xfce -- [ ] 6. Cinnamon -- [ ] 7. Deepin -- [ ] 8. Budgie -- [ ] 9. Lxqt -- [ ] 10. Mate -- [ ] 11. Basic Arch Linux (No GUI) -- [ ] 12. Custom Arch Linux -- [ ] 13. Cosmic (ALPHA) --------------------------------------------------------------- -- All desktop setups, except 'Minimal Plasma' & 'Minimal Gnome', are completely 'Vanilla', and only come with network support (networkmanager). +- All desktop setups, except 'Minimal Plasma' & 'Minimal Gnome', 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' setup will install a minimal KDE Plasma desktop plus additional every-day use software. -- 'Minimal Plasma' setup will install a minimal, system-optimized KDE Plasma desktop plus additional every-day use software. - -- 'Minimal Gnome' setup will install a minimal, system-optimized Gnome desktop plus additional every-day use software. +- 'Minimal Gnome' setup will install a minimal Gnome desktop plus additional every-day use software. - 'Basic Arch Linux' is literally a basic Arch linux system, consisting of just 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 selected). - 'Custom Arch Linux' consists of the following packages: "base, linux-firmware (only if on bare-metal), sudo, pkgstats, and your current installation preferences/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: - -- ### Custom Arch Linux [Interactive] +- ##### Custom Arch Linux [Interactive] - [ ] Add Your Packages [Mandatory] - [ ] Add Your Services [Skippable] -- [ ] Add Your Kernel Parameters [Skippable] + --------------------------------------------------------------- +- #### Arch 'base-devel' Meta-package [Interactive - Skippable] + +The installer asks to install the 'base-devel' package, as it's not part of the 'base' meta-package, which is needed for the majority of use cases. + + +- #### Web browser Selection [Interactive - Skippable] + +- [ ] [1] Firefox +- [ ] [2] Chromium +- [ ] [3] Vivaldi +- [ ] [4] Tor Browser +- [ ] [5] Falkon +- [ ] [6] Qutebrowser + +Select one of the available browsers or leave empty to skip. + + +- #### Printer & Scanner Support [Interactive - Skippable] + +Select to install (or not) printer & scanner support software. +A baseline package set will be installed and additional packages will be installed accordingly, if 'Minimal Plasma' or 'Minimal Gnome' has been selected. + + +---------------------------------------------------------- + - ### EFI Boot Entries Deletion: [Interactive - Skippable] Choose if you wish to delete any EFI boot entries or skip. @@ -289,38 +329,73 @@ Choose if you wish to delete any EFI boot entries or skip. If a 'VM' is detected, this stage is skipped. -- ### Wireless Regulatory Domain Setup: [Interactive - Skippable] +- ### Optimizations [Interactive - Skippable] -Enter your 2-letter Country Code (e.g. 'US') to set the correct wifi regulations for your country. +- [ ] [1] Custom Kernel Parameters [Interactive - Skippable] +- [ ] [2] System Watchdogs [Interactive - Skippable] +- [ ] [3] General System Optimizations [Interactive - Skippable] +- [ ] [4] Wireless Regulatory Domain [Interactive - Skippable] +- [ ] [5] Systemd-oomd [Interactive - Skippable] +- [ ] [6] Irqbalance [Interactive - Skippable] +- [ ] [4] Thermald [Interactive - Skippable] +- [ ] [5] Rng-tools [Interactive - Skippable] +- [ ] [6] Rtkit [Interactive - Skippable] +- [ ] [ ] Return to System Configuration + +- 1. The installer offers the convenient option to permanently set your own kernel parameters for boot, on-the-fly. +- 2. The installer asks to disable Watchdogs in the installed system (if not on a critical platform, like a server). +A watchdog is a hardware or software component that keeps track of a system's performance and intervenes if it notices any strange behaviour or malfunctions. +- 3. System optimizations will be set. + +Where applicable, system file configuration will take place EXCLUSIVELY in the corresponding drop-in directories and never at the original '.conf' files, so the installed system preserves its functionality across updates and maintenance is minimized. + +Type 'v' to get a preview of the affected configuration files. + +All optimizations used here have exclusively derived from the ArchWiki. +- 4. Enter your 2-letter Country Code (e.g. 'US') to set the correct wifi regulations for your country. If a 'VM' is detected, this stage is skipped. +- 5. The installer asks to enable the 'systemd-oomd' service, enhancing 'OOM' management which will now be optimally done by the system manager. + +'Systemd-oomd' is a system service that uses cgroups-v2 and pressure stall information (PSI) to monitor system and take corrective action before an 'OOM' occurs in the kernel space. +- 6. The installer asks to install & enable 'irqbalance', which is a software that distributes hardware interrupts across processors on a multiprocessor system, in order to increase performance. +- 7. The installer asks to install & enable 'thermald', which is a daemon used to prevent the overheating of platforms. + +This daemon monitors temperature and applies compensation using available cooling methods. +- 8. The installer asks to install & enable 'rng-tools', which is a daemon capable of using both environmental noise and hardware random number generators for extracting entropy. +- 9. The installer asks to install & enable 'rtkit' & 'realtime-privileges'. + +RealtimeKit is a D-Bus system service that changes the scheduling policy of user processes/threads to SCHED_RR, [Realtime Scheduling Mode on request] + +When installing 'realtime-privileges', the current user will also be added to the 'realtime' group. + +### Disk Management Submenu: - ### 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] +- ### Partition Manager: [Interactive] The'Partition Manager' stage consists of 2 Modes: -An 'Automatic Mode' consisting of 2 sub-modes: +#### Automatic Partitioning Mode [consisting of 2 sub-modes]: -'Smart Mode': [Interactive - Skippable] +- [ ] [1] Smart Mode [Interactive - Skippable] Detects user's preferences and partitions the selected disk accordingly (no user interaction needed). -'Partitioning Presets': [Interactive - Skippable] +- [ ] [2] Partitioning Presets [Interactive - Skippable] 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. +#### Manual Partitioning Mode [Interactive - Skippable] +It shows extended info about the supported partition types and mountpoints that the installer expects to find. The user will manage the involved disk(S) manually, using 'cgdisk', with its easy and intuitive ncurses TUI. - -Existence of an "EFI" System Partition and a "Root x86-64" Partition is mandatory and expected. +Existence of an "EFI" System Partition and a "Root x86-64" Partition is mandatory and expected, or else the installation cannot continue. 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.