This is a personal guide!
Though if it ends up helping you out, cool.
My own procedure assumes:
- A UEFI system
- Only boot and root partitions wanted
- No dual boot, whole disk is needed
- Use of nano
- Use of GRUB
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 prepFirst, list all the disks on your system.
fdisk -lThen, enter the partitioning interface by selecting the disk to partition.
fdisk /dev/sdaUse:
- g to create a new table
- d to delete unwanted partitions
- n to create new partitions
- t to change a partition type
- p to print the current table
- w to write changes to the disk
When done, format the partitions.
mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda2
Network Management
Connect to WiFi.
Using iwctl
Invoke the utility.
iwctlUse:
- device list to list your wireless interfaces and devices.
- station wlan0 scan to scan for networks.
- station wlan0 get-networks to see a list of networks found in scanning.
- station wlan0 connect NAMEOFNETWORK to connect to your network.
Test your internet using a ping.
ping google.comHit 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 reflectorBackups are good. Make one of your current mirrorlist.
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bakInvoke 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