Skip to content

Basic installation of a Linux distro, explained for Arch.

Notifications You must be signed in to change notification settings

arksys-os/basic-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Basic installation

To install a Linux distribution, you typically encounter the following components:

  • Linux kernel
  • Bootloader (GRUB, systemd)
  • Init system (systemd, sysvinit, runit, OpenRC)
  • File system (EXT4, BTRFS, ZFS)
  • Display server (Xorg / Wayland)
  • Package manager (Pacman, Apt, zypper, dnf)
  • Desktop environment (KDE, GNOME, XFCE), which includes components like the window manager, display manager, file manager, viewer, etc.
  • Ways to install: via CLI (text-based), via GUI (Calamares installer, debian-installer, ananconda, ubiquity, void-installer)

Example of Linux distros:

Here's an improved and more detailed version of the table with added information on the installer types and desktop environments (DEs) for each Linux distribution:

Linux Distro Base System Tools Bootloader Init System File System Display Server Package Manager DE preinstalled Installer (Type)
Arch Linux linux + archiso, base, base-devel GRUB / systemd-boot systemd EXT4, BTRFS, ZFS Xorg / Wayland pacman (PKGBUILD) -- Text-based CLI / archinstall (script CLI)
Debian linux + glibc GRUB systemd EXT4, BTRFS, ZFS Xorg / Wayland apt (.deb) -- Debian Installer (GUI and Text-based CLI)
Fedora linux + glibc GRUB systemd EXT4, BTRFS Wayland dnf (.rpm) GNOME, KDE Anaconda (GUI)
NixOS linux + glibc GRUB systemd EXT4, BTRFS, ZFS Xorg / Wayland nix (.nar) GNOME, KDE Text-based CLI / Calamares Installer GUI
Gentoo linux + glibc GRUB / systemd-boot OpenRC, systemd EXT4, BTRFS, ZFS Xorg / Wayland portage (.ebuild) -- Text-based CLI
Void Linux linux + musl GRUB runit EXT4, BTRFS Xorg / Wayland xbps (.xbps) --, XFCE Text-based CLI / Void-installer GUI
Ubuntu linux + glibc GRUB systemd EXT4 Wayland apt, snap (.snap) GNOME Ubiquity GUI

0. Prerequisites

First you need to download the ISO image of the Linux distribution that you want to install and write it to an optical medium like CD, DVD, pen-drive, HDD. Basically copy the ISO files into a hardare medium.

  • For disks just burn the ISO image into the CD / DVD / Blue-Ray with any disk burning application.
  • For USB drives you can use the command 'dd' on UNIX terminal or GUI apps like Ventoy, BalenaEtcher (multiplatform), Rufus (for Windows).

These are the steps for using dd on UNIX terminals:

sudo fdisk –l         # find the disk to create the bootable system
umount /dev/sdb*      # unmount the disk X
mkfs.vfat /dev/sdb –I # format the disk X with the file system specified
dd if=~/Downloads/arch.iso of=/dev/sdb bs=4M status=progress # copy the ISO files

1. Options to install Linux

1.A. Install base distro with configured desktop 🐧 💾

Here's an example of the major Linux distro with KDE.

1.B. Installation from terminal 🐧 🐢

Normally Linux is intalled via terminal typing and executing commands. Is the simplest ways to develop, but the most time consuming to the user.

Here are some examples of the installation guide of some Linux distro: installation guide of the Arch Wiki, installation guide of Gentoo wiki, installation guide of the NixOS wiki

Typically you need to do pre-installation (internet connection, partition and mount disks), install essential packages, configure system (fstam, chroot, timezone, localizaion, network, intramfs, root password) and reboot.

To automate the installation process we can create an use scripts on the terminal using BASH.

  • You can use scripts like archinstall a library which can be used to install Arch Linux selecting options in a formulary. Also you can create profiles stored in a json and pass it to the archinstall command, archinstall --config <path-to-json> --disk-layout <path-to-json> --creds <path-to-json>. Video installing Arch in 7 mins
# Example to install Arch with KDE, ext4 file system and extra pks.

# Install locally with git:
sudo pacman -S git
git clone https://github.com/arksys-os/arksys-basic-install.git
cd ~/arksys-basic-install/installation/archinstall && sh archinstall-config.sh

# Install remottely with curl:
curl -sL https://raw.githubusercontent.com/arksys-os/arksys_basic-install/main/installation/script/arksys.sh | bash
  • Or you can create you own scripts. Here's an example I've made to install automatize the Arch Linux installation, check arksys.sh

C. Distro mode: Create you own Linux distro 🐧 🛠️

Create your own Linux distro with a framework installer. You need to configure the base profile for Arch Linux (archiso profile), for Debian with Debian live-build and configure a graphical installer like calamares installer.

Continue reading on ArkSys-OS/Post-installation.


Resources

About

Basic installation of a Linux distro, explained for Arch.

Resources

Stars

Watchers

Forks

Languages