(i)

LiNomad installation script

Foreword

The goal of this project is not to provide a ready-to-use disk image or ISO, but rather to offer a script and instructions that enable anyone to build the system independently.

Backup data on an external storage device before proceeding.

This documentation is intended for IT professionals who know exactly what is involved in partitioning and formatting operations.

Some operations are destructive for both the installed system and the user data.

There is a high risk of system and data loss in case of software defect or mishandling. There are no guarantees of any kind, and users undertake all actions at their own risk.

if unsure, first try in a virtual machine.

In this documentation, any reference to setup-arch-xfce.sh can be replaced with setup-arch-hyprland.sh or setup-arch-gnome.sh, depending on the desired desktop environment.

Install with the offical Arch ISO

Pre-Installation

This is a summary of the official Arch install documentation.

  1. Download the official Arch installation ISO.

  2. Flash it on an USB media, replacing /dev/sdx with the appropriate USB device name - see dmesg output if unsure; beware of data loss (device will be wiped):

sudo dd if=archlinux-yyyy.mm.dd.iso of=/dev/sdx

or burn the ISO to a DVD.

  1. Boot the install media:
    • disable the secure-boot from UEFI (Unified Extensible Firmware Interface) setup,
    • boot from the USB media or DVD drive (preferably in UEFI mode).
  1. Load a keyboard layout, replacing xx with the desired language code - prefer the localectl command to loadkeys because it allows the installation script to automatically configure the keyboard layout and the system language:
localectl set-keymap xx
  1. Connect to network:

Just plug in an Ethernet cable.

Or connect to a WiFi network using WPS (WiFi Protected Setup) / WSC (WiFi Simple Configuration):

iwctl wsc list                      #retrieve interface name (e.g. wlan0)
iwctl wsc wlan0 push-button         #auto-connect to a network (press the WPS button located on the router)

Or connect to a WiFi network without WPS / WSC:

iwctl device list                   #retrieve interface name (e.g. wlan0)
iwctl station wlan0 scan            #scan for networks on the specified interface
iwctl station wlan0 get-networks    #display network names (SSID)
iwctl station wlan0 connect SSID    #connect to the network (password will be prompted)
  1. “If needed, partition the disk by replacing /dev/sdx with the appropriate device; see lsblk output if unsure; it is probably going to be /dev/nvme0n1. A modern (GPT / UEFI) partitionning scheme requires:
    • a 100-200 MB EFI system partition (ef00 hex code) - there is likely already one;
    • a Linux partition for the system root filesystem (/); it must be at least 15 GiB for a basic desktop; however, 50 GiB can quickly become tight for installing games, deploying containers, or working with local language models;
    • an optional but recommended Linux partition for user data (/home).
cgdisk /dev/sdx
  1. If the EFI system partition did not exist before, format it:
mkfs.vfat -F 32 /dev/sdx1
  1. Format and mount the installation partition, replace /dev/sdx200 with the actual installation partition - see lsblk output if unsure:
mkfs.ext4 /dev/sdx200
mount /dev/sdx200 /mnt
mount --mkdir /dev/sdx1 /mnt/boot/efi
  1. If there is a separated home partition, mount it as well, after formatting it if necessary, replacing /dev/sdx003 with the actual home partition:
#mkfs.ext4 -O encrypt /dev/sdx003
mount --mkdir /dev/sdx003 /mnt/home

Installation

It is at this stage that the installation procedure differs

  1. Download the setup script:
curl -o setup-arch-xfce.sh https://fox-echo.info/linomad/res/src/setup-arch-xfce.sh
chmod +x setup-arch-xfce.sh
  1. Optionaly customize the setup script (i18n, hostname, username / password and packages selection)

  2. Run the script to install packages and setup the system:

./setup-arch-xfce.sh /mnt | tee setup.log

Check the log for errors; if all went well, the installed system is now ready to boot.

Install from an existing Linux system

Prerequisites

The setup-arch-xfce.sh script requires the curl, lftp, pacstrap and pacman commands.

  • Installation under Arch Linux:
pacman -Syu curl lftp arch-install-scripts
  • Installation under Debian Linux:
apt update
apt install curl lftp arch-install-scripts pacman-package-manager

Pre-Installation

The procedure for installing the system from an existing Linux is similar to that of the Arch install ISO: the main difference is that it starts at step 6 (partitioning).

To use the currently mounted /home partition for the new system, replace step 9 by:

mount --mkdir --bind /home /mnt/home

Installation

The installation procedure is exactly the same as with the Arch install ISO.