💾 Archived View for bbs.archaicbinary.net › blog › how-to › 2023.05.28-Installing%20Artix%20Linux.tx… captured on 2024-08-18 at 16:53:13.

View Raw

More Information

⬅️ Previous capture (2023-12-28)

🚧 View Differences

-=-=-=-=-=-=-

Most of these instructions can be found at the offical wiki for ArtixLinux
under the Installation page.
::https://wiki.artixlinux.org/Main/Installation

:: Initial Commands

Login as artix/artix to get to the prompt.
# sudo -i

:: Partition The Disk

Find your hard disk with lsblk.
:~# lsblk
Looking over the results, you should see something like "sda" or if you have
NVME modules, nvme0n1p0 or something similar. I have NVME disks so I will
continue with that configuration.

:~# cfdisk /dev/nvme0n1

If you are booting with UEFI then you need to make at least two partitions.
If you are booting with BIOS then you need to make at least one partition.
If you are booting with BIOS mark your partition as bootable!

I am running with UEFI on this machine so I will be making two partitions.
I will not be running with SWAP, so no SWAP partitions.

Partition 1: Size 512M, type EFI
Partition 2: Size (fill disk), type Linux (83)

:: Format The Disk

I will be formatting the root partition with EXT4 and the EFI parition with
FAT32.

:~# mkfs.ext4 -L root /dev/nvme0n1p2
:~# mkfs.fat -F 32 /dev/nvme0n1p1
:~# fatlabel /dev/nvme0n1p1 ESP

:: Mount The Partitions

:~# mount /dev/nvme0n1p2 /mnt
:~# mkdir -p /mnt/boot/efi
:~# mount /dev/nvme0n1p1 /mnt/boot/efi

:: Connect Network for Internet

I use an Ethernet cable, so I already have connectivity via the network card
and not wireless. You can connect to wireless networks at this point or use
a cable.

Get the latest time from NTP server.

:~# rc-service ntpd start

:: Install Base System

I like using OpenRC as my init system, so I am going to continue down that
path. I am also going to go with the Zen kernel as I have seen a few little
improvements in the past. Might as well install "nano" and "sudo" as well
here.

:~# basestrap /mnt base base-devel openrc elogind-openrc nano sudo linux-zen
    linux-zen-headers linux-firmware amd-ucode

Once everything is downloaded and installed, we need to setup our fstab file.

:~# fstabgen -L /mnt >> /mnt/etc/fstab

If you want to change or verify your fstab file you can do so with "nano".

:~# nano /mnt/etc/fstab

I like to change the mount flag "areltime" flag to "noatime" on my disks.

Save and exit "nano" if you made any changes.

Now lets' chroot into our new mount point, so we can continue the setup.

:~# artix-chroot /mnt

:: Configure Base System

Setting the time zone. You will need to set these to your locale.

:~# ln -sf /usr/share/zoneinfo/<region>/<majorcity> /etc/localtime
:~# hwclock --systohc

Now we need to setup our localization.

:~# nano /etc/locale.gen

Uncomment out the ones you will need, I will be using both lines that start
with en_US.

:~# locale-gen

Set the systemwide locale by editing the next file.

:~# nano /etc/locale.conf

Place the following lines in that file.

export LANG="en_US.UTF-8"
export LC_COLLATE="C"

Save the file and exit "nano".

:: Boot Loader

Now we are going to install GRUB, if your using UEFI like myself then follow
along!

UEFI:
:~# pacman -S grub os-prober efibootmgr
:~# grub-install --target=x86_64-efi --efi-directory=/boot/efi
    --bootloader-id=grub

BIOS:
:~# pacman -S grub os-prober
:~# grub-install --recheck /dev/sda
 
Once you have grub-install finished, run the next command to get the config
file created.

:~# grub-mkconfig -o /boot/grub/grub.cfg

:: CPU Microcode

:~# pacman -S amd-ucode
OR
:~# pacman -S intel-ucode

:: Set Root Password

:~# passwd

:: Network Configuration

:~# nano /etc/hostname

Enter the hostname of the machine and save the file.

If your using OpenRC then also edit the next file and update the hostname.

:~# nano /etc/conf.d/hostname

Lets' create our small hosts file now.

:~# nano /etc/hosts

127.0.0.1        localhost
::1              localhost

:: Network Connection

I will be going with a Plasma install for this setup so I will just grab
NetworkManger packages.

:~# pacman -S networkmanager networkmanager-openrc
:~# rc-update add NetworkManager default

:: Reboot

:~# exit
:~# umount -R /mnt
:~# reboot

If the machine comes backup and boots into your new linux install then you
have the boot config, kernel, and other settings correct.

Login as your root user.

:: Nvidia Driver

:~# pacman -S nvidia-dkms nvidia-utils

We need to modify our GRUB configuration file and our mkinitcpio.conf file.

:~# nano /etc/mkinitcpio.conf

In the modules line at the top add the following three modules:
nvidia nvidia_modeset nvidia_drm

Save and exit "nano".

:~# nano /etc/default/grub
Find: GRUB_CMDLINE_LINUX_DEFAULT
Append: nvidia-drm.modeset=1
Example: GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1"

Save and exit "nano".

:~# grub-mkconfig -o /boot/grub/grub.cfg

:: Installing X11

:~# pacman -S xorg xorg-xinit mesa mesa-utils pipewire-pulse
:~# pacman -S pipewire pipewire-alsa pipewire-jack wireplumber
:~# pacman -S plasma sddm sddm-openrc ttf-ms-fonts konsole dolphin

Enable SDDM

:~# rc-update add sddm default

:: Make User Account

We need to make another account, normal non-admin so use.

:~# useradd -g users -G wheel -N -m <username>
:~# passwd <username>

Allow users in wheel to sudo.

:~# export EDITOR=nano
:~# visudo

Uncomment line near bottom, allow group wheel to use root. Your choice with
needing password or not.

Login to normal user account to use makepkg commands.

:: Getting YAY Installed

sudo pacman -S go git

:~# wget https://aur.archlinux.org/cgit/aur.git/snapshot/yay.tar.gz
:~# tar zxf yay.tar.gz
:~# cd yay
:~# makepkg
:~# pacman -U yay.....filename

Installing yay will need git and go, install them before hand.

I prefer to use Librewolf

:~# yay -S librewolf-bin

:: Local User .xprofile file

This is my file, you don't need some of these like QT_STYLE_OVERRIDE

:~# nano ~/.xprofile

------
#export KWIN_TRIPLE_BUFFER=1
#export __GL_YIELD=USLEEP
#export __GL_MaxFramesAllowed=1

export GTK_USE_PORTAL=1
export QT_STYLE_OVERRIDE=kvantum-dark
export KRITA_NO_STYLE_OVERRIDE=1

killall pipewire pipewire-pulse wireplumber
sleep 0.5
pipewire &
sleep 0.5
pipewire-pulse &
wireplumber &
------

:: Reboot

:~# reboot