diff options
| -rw-r--r-- | content/guide/artixinstall.md | 324 |
1 files changed, 324 insertions, 0 deletions
diff --git a/content/guide/artixinstall.md b/content/guide/artixinstall.md new file mode 100644 index 0000000..fdf0306 --- /dev/null +++ b/content/guide/artixinstall.md @@ -0,0 +1,324 @@ +--- +title: Artixinstall +date: 2025-10-31T09:36:25+01:00 +index: false +draft: false +icon: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Artix_logo.svg/640px-Artix_logo.svg.png' +#copied: ["me", "/"] +table: true +--- + +> I install Artix Linux with french settings in this guide. + +## What is Artix Linux ? + +[Artix Linux](https://artixlinux.org) is a GNU/Linux distribution based on [Arch Linux](https://archlinux.org), the key difference between the two distros is the [init system](https://wiki.archlinux.org/title/Init) you want to use. + +Arch Linux only has official support for `systemd`. Artix officially supports `dinit`, `openrc`, `runit`, and `s6`. Of course, the [AUR](https://aur.archlinux.org/) is still accessible from Artix Linux. + +[_Artix Linux uses real init systems, because PID1 must be simple, secure and stable._](https://unixdigest.com/articles/the-real-motivation-behind-systemd.html) + +Also, their logo looks really cool. + +If you don't know what you are doing when installing Arch or Artix, I recommend you watching/reading other guides too. + +[Artix Linux's official installation guide](https://wiki.artixlinux.org/Main/Installation) + +## Setup ~optional~ things + +### Keymap + +```sh +loadkeys fr-latin1 +``` + +### Connect to Wi-Fi + +You first have to unblock wifi and enable the wifi card. Replace `wlan0` with the name of your interface, list them with `ip a` + +```sh +rfkill unblock wifi +ip link set wlan0 up +``` + +Then run `connmanctl` in interactive mode : + +```sh +connmanctl +``` + +Replace `id` with the id of your Wi-Fi + +```sh +scan wifi +services +agent on +connect id +``` + +You can then exit connmanctl, try to ping some website to make sure you're connected to the internet. + +## Setup your disk + +> The commands in this section will destroy all the data of your disk. + +### Make partitions + +I like to make a 1G partition for the EFI system and give the rest to the Linux Filesystem. You can use cfdisk instead of fdisk. + +My disk name is `nvme0n1`, but you should use `lsblk` to get the name of the disk you want to install Artix Linux on. + +```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 +``` + +Now we must format our partitions + +```sh +mkfs.fat -F 32 -n ESP /dev/nvme0n1p1 +``` + +```sh +mkfs.ext4 -L ROOT /dev/nvme0n1p2 +``` + +### Mount the partitions + +Now we can mount our partitions to install Artix Linux on the disk. + +**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 +``` + +## Installing Linux + +### Basestrap + +Use `basestrap` to install linux to your disk. Choose which kernel you want, I chosed `linux` but there is alternatives such as `linux-lts`, `linux-hardened` and others. + +I also chose to use `GRUB` for the bootloader and `runit` as my init system. + +Replace `neovim` with your favorite, terminal-based text editor. + +```sh +basestrap /mnt linux linux-firmware sof-firmware base base-devel grub efibootmgr runit elogind-runit networkmanager-runit terminus-font git neovim +``` + +### Fstab + +Generate the fstab to tell your system how to mount the disk when your computer boots. + +Fstab copies the order in which you mounted your partitions earlier. + +```sh +fstabgen -U /mnt >> /mnt/etc/fstab +``` + +**You must have all the partitions you configured for Artix Linux in that file !!** + +## Artix Chrooting + +You can now chroot into your future system. + +```sh +artix-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 + +Give a hostname to your computer (replace `artix` with your hostname) : + +```sh +echo 'artix' > /etc/hostname +``` + +Setup root password : + +```sh +passwd +``` + +Setup user and user password (replace `billy` with your username) : + +```sh +useradd -m -G wheel billy +passwd billy +``` + +### Install GRUB + +```sh +grub-install --target=x86_64-efi --efi-directory=/boot +grub-mkconfig -o /boot/grub/grub.cfg +``` + +### Reboot + +Now you're done, you can `control-d` or `exit` to quit the chrooting and you can then reboot the system. + + +## Post reboot + +### Sudo + +First of all, log in as root and uncomment the line starting with `%wheel`. Replace the value of `EDITOR` with the text editor you installed. + +```sh +EDITOR=nvim visudo +``` + +Now you can save and exit, log out, and log in as your user. + +### NetworkManager + +You lost your Wi-Fi connection if you didn't noticed, you must enable it again. + +On `runit` first link the file : + +```sh +sudo ln -s /etc/runit/sv/NetworkManager /run/runit/service/ +``` + +You can then start the service : + +```sh +sudo sv start NetworkManager +``` + +To list available Wi-Fi : + +```sh +nmcli device wifi list +``` + +To connect to Wi-Fi : (replace `SSID` with the name of your Wi-Fi) + +```sh +nmcli device wifi connect SSID --ask +``` + +### Brightnessctl + +Install the `brightnessctl` package to adjust the screen's brightness (only on laptop, on a desktop you change the brightness of the screen in the screen's settings). + +Just in case also add your user to the `video` group. + +```sh +sudo usermod -aG video $(whoami) +``` + +You might be able to change the backlight of your keyboard. + +## Repositories + +### Omniverse + +Artix Linux has special packages like `ungoogled-chromium` in the `omniverse` repository. + +Append these lines to `/etc/pacman.conf` if you want to use the `omniverse` repo. + +```ini +[omniverse] +Server = https://omniverse.artixlinux.org/$arch +``` + +### Arch's extra + +If you need the `extra` repo from Arch Linux, you can add it too. + +First install the support : + +```sh +sudo pacman -S artix-archlinux-support +``` + +Then append these lines to the `/etc/pacman.conf` file : + +```ini +[extra] +Include = /etc/pacman.d/mirrorlist-arch + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist-arch + +#[multilib] +#Include = /etc/pacman.d/mirrorlist-arch +``` + +And run + +```sh +sudo pacman-key --populate archlinux +sudo pacman -Syu +``` + +~~\~ + +You might want to uncomment the `Color` and `ParallelDownloads` lines in `/etc/pacman.conf` for a better `pacman` experience overall. + +## Sound + +We want sound, you can use `pulseaudio` but I prefer `pipewire`. Install it : + +```sh +sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack sof-firmware wireplumber +``` + +Copy the config files : + +```sh +sudo cp /usr/share/pipewire/pipewire* /etc/pipewire/ +``` + +Then you must find a way to start `pipewire`, `pipewire-pulse` and `wireplumber` on each boot. + +I do it in my `hyprland.conf` with the `exec-once` statement + +## More ? + +For people that use runit : if an app you want to install doesn't come with a `*-runit` package (for example `pipewire`), you can easily write an init script like [zacoons for the `blocky` program](https://codeberg.org/zacoons/dots/src/branch/master/etc/runit/sv/blocky/run). + +Links : + +- [Luke Smith installing Artix with encryption](https://youtu.be/dI3bGeT31Bo?si=yLPKfu7wPdrk-Z3V) +- [The Runit page in Artix Wiki (learn how to use it)](https://wiki.artixlinux.org/Main/Runit) +- [Artix Linux really cool website again](https://artixlinux.org) +- [Linux kernels](https://wiki.archlinux.org/title/Kernel) + +You can easily have informations about your kernel like so : + +```sh +uname -mrs +``` |
