summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNantha Sorubakanthan <nantha@mielota.com>2025-10-05 17:25:35 +0200
committerNantha Sorubakanthan <nantha@mielota.com>2025-10-05 17:25:35 +0200
commit4c8ee0e90958b8d25e645ef486648a3f4b80252b (patch)
tree1d9f89eae98a17f28f759cc1f11dfb23cea9484f
parent0e22827ed0fd1b722bf8ba203709ae3928ce7975 (diff)
Added an arch installation guide (mostly for me)
-rw-r--r--content/guide/archinstall.md179
1 files changed, 179 insertions, 0 deletions
diff --git a/content/guide/archinstall.md b/content/guide/archinstall.md
new file mode 100644
index 0000000..a658af4
--- /dev/null
+++ b/content/guide/archinstall.md
@@ -0,0 +1,179 @@
+---
+title: Archinstall
+date: 2025-10-05T16:33:24+02:00
+index: false
+---
+
+This is how I install Arch Linux. Pay attention, I install it for french people.
+
+It's more a reminder about **how to install arch** rather than **how to**.
+
+## Setup ~optional~ things
+
+### Keymap
+
+```sh
+loadkeys fr-latin1
+```
+
+### Wi-Fi
+
+```sh
+iwctl --passphrase passphrase station name connect SSID
+```
+
+### Timedatectl
+
+```sh
+timedatectl set-timezone Europe/Paris
+```
+
+## Setup your disk
+
+> The commands in this section will destroy all your data
+
+### Make partitions
+
+I make a 1G partition for the EFI system and give the rest to the Linux Filesystem. You can use cfdisk instead of fdisk.
+
+You must replace `nvme0n1` with the disk you are installing Arch on. You can list them with `lsblk`.
+
+```sh
+(
+echo g
+echo n
+echo 1
+echo
+echo +1G
+echo t
+echo 1
+echo 1
+echo n
+echo 2
+echo
+echo
+echo w
+) | fdisk "/dev/nvme0n1" > /dev/null
+```
+
+### Format your partitions
+
+```sh
+mkfs.fat -F 32 -n ESP /dev/nvme0n1p1
+```
+
+```sh
+mkfs.ext4 -L ROOT /dev/nvme0n1p2
+```
+
+### Mount your partitions
+
+It is really important to mount the ROOT partition first and then the ESP partition.
+
+```sh
+mount /dev/disk/by-label/ROOT /mnt
+```
+
+```sh
+mount --mkdir /dev/disk/by-label/ESP /mnt/boot
+```
+
+## Package installation
+
+### Mirrors
+
+It's best to spend some time setting up your mirrorlist located in `/etc/pacman.d/mirrorlist`. You can use `reflector` to get a list of mirrors like so :
+
+```sh
+reflector --country France --age 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
+```
+
+### Pacstrap
+
+I like to install these packages.
+
+```sh
+pacstap -K /mnt linux linux-firmware sof-firmware base base-devel grub efibootmgr networkmanager terminus-font helix pipewire pipewire-pulse wireplumber git
+```
+
+## Fstab
+
+Generate the fstab to tell to your system how to mount the disk when your computer boots. If you don't see your two partitions in the content of the file, you are doomed.
+
+Fstab copy the order in which you mounted your partitions earlier.
+
+```sh
+genfstab -U /mnt >> /mnt/etc/fstab
+```
+
+## Arch Chrooting
+
+You can now chroot into your future system.
+
+```sh
+arch-chroot /mnt
+```
+
+### Basic french config
+
+```sh
+ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
+hwclock --systohc
+echo 'fr_FR.UTF-8 UTF-8' >> /etc/locale.gen
+locale-gen
+echo 'LANG=fr_FR.UTF-8' > /etc/locale.conf
+echo -e 'KEYMAP=fr-latin1\nXKBLAYOUT=fr\nXKBMODEL=pc105\nXKBOPTIONS=terminate:ctrl_alt_bksp\nFONT=ter-132b' > /etc/vconsole.conf
+```
+
+### Setup user and hostname
+
+```sh
+echo hostname > /etc/hostname
+```
+
+```sh
+passwd
+useradd -m -G wheel user
+passwd user
+```
+
+### Install GRUB
+
+```sh
+grub-install --target=x86_64-efi --efi-directory=/boot
+grub-mkconfig -o /boot/grub/grub.cfg
+```
+
+### Reboot
+
+```sh
+exit
+reboot
+```
+
+## Post reboot
+
+### Sudo rights
+
+First of all, log in as root and uncomment the line starting with `%wheel` :
+
+```sh
+EDITOR=helix visudo
+```
+
+Then, save exit and log in again as your user.
+
+### Network Manager
+
+You should enable Wi-Fi again :
+
+```sh
+sudo systemctl enable --now NetworkManager
+nmcli device wifi connect SSID --ask
+```
+
+## What now ?
+
+You should install a Desktop Environment and other packages.
+
+You should checkout [Artix Linux](https://artixlinux.org). You should [avoid systemd](https://unixdigest.com/articles/the-real-motivation-behind-systemd.html)