Guides

This is a personal guide!
Though if it ends up helping you out, cool.


My own procedure assumes:

Disk Management

Create this partitioning layout on your disk:

Partition Filesystem Type Size
/dev/sda1 fat32 EFI (alias ef) 512M
/dev/sda2 ext4 Linux filesystem rest of the disk
Using fdisk
More about disk prep

First, list all the disks on your system.

fdisk -l

Then, enter the partitioning interface by selecting the disk to partition.

fdisk /dev/sda

Use:

When done, format the partitions.

mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2



Network Management

Connect to WiFi.

Using iwctl

Invoke the utility.

iwctl

Use:

Test your internet using a ping.

ping google.com

Hit Ctrl + C to stop the ongoing ping.

For the fastest possible downloads, update your mirrorlist.

Using reflector

Install it, if it has not already been installed.

pacman -Syy
pacman -S reflector

Backups are good. Make one of your current mirrorlist.

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

Invoke reflector to overwrite your current mirrorlist.

reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist


Installation

Mount the root filesystem.

mount /dev/sda2 /mnt

Use the pacstrap script to install necessary packages.

pacstrap /mnt base linux linux-firmware nano

Generate the fstab file.

genfstab -U /mnt >> /mnt/etc/fstab



Configuration

Behold the power of root access.

arch-chroot /mnt

Adjust your timezone. Use q to exit the list.

timedatectl list-timezones
timedatectl set-timezone America/Los_Angeles

Adjust locale. When opening locale.gen, uncomment your locale of choice marked UTF-8, save and exit.

nano /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

Configure network. Choose any name in place of myarch.

echo myarch > /etc/hostname
nano /etc/hosts

# Add this into /etc/hosts:
127.0.0.1  localhost
::1        localhost
127.0.1.1  myarch

Set the root password.

passwd

You cannot behold root power for too long. Create a user account. When in visudo, scroll to "Uncomment to allow users of group wheel..." and uncomment.

pacman -S sudo
useradd -m -g users -G wheel totallycoolname
passwd totallycoolname
EDITOR=nano visudo



Bootloader

Install GRUB.

pacman -S grub efibootmgr

Make a directory for the boot partition.

mkdir /boot/efi

Mount it to the boot partition of your disk.

mount /dev/sda1 /boot/efi

Install GRUB... again? Well, on the MBR this time.

grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck

Create the locale directory, if the first command does not reveal one.

ls -l /boot/grub
mkdir /boot/grub/locale

Copy your current locale to GRUB's locale.

cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Generate the GRUB configuration file.

grub-mkconfig -o /boot/grub/grub.cfg



The installation should be standalone now.

Exit the chroot environment.

exit

Unmount all disks and partitions.

umount -a

Reboot. Keep the installation medium in case something went wrong, so you can reboot into it, remount the root partition, and make changes as root.

shutdown now



Post-Install

What are you doing without a desktop environment? Unless you're too hackerman for one.

pacman -S plasma-desktop sddm plasma-nm plasma-pa dolphin konsole kdeplasma-addons kde-gtk-config kscreen

Enable the network manager and login screen to run at startup.

systemctl enable NetworkManager sddm




Back