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.
Download the official Arch installation ISO.
Flash it on an USB media, replacing
/dev/sdx
with the appropriate USB device name - seedmesg
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.
- 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).
- Load a keyboard layout, replacing
xx
with the desired language code - prefer thelocalectl
command toloadkeys
because it allows the installation script to automatically configure the keyboard layout and the system language:
localectl set-keymap xx
- 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)
- “If needed, partition the disk by replacing
/dev/sdx
with the appropriate device; seelsblk
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
).
- a 100-200 MB EFI system partition (
cgdisk /dev/sdx
- If the EFI system partition did not exist before, format it:
mkfs.vfat -F 32 /dev/sdx1
- Format and mount the installation partition, replace
/dev/sdx200
with the actual installation partition - seelsblk
output if unsure:
mkfs.ext4 /dev/sdx200
mount /dev/sdx200 /mnt
mount --mkdir /dev/sdx1 /mnt/boot/efi
- 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
- 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
Optionaly customize the setup script (i18n, hostname, username / password and packages selection)
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.