Installing Arch
A Personal Step-by-Step Note for The Rare Occasion
⏱ 4 minutes read. 📅 Published . ✎ Last updated .This is a personal note and any attempts at following the steps herein should be pre-empted with a larger pinch of salt.
Anyone installing Arch should follow the community installation guide.
Over the years, I’ve installed Arch Linux on a multitude of different devices. These are some of the notes I’ve taken, with references to the community-based Arch Linux wiki, which will forever be a better detail-oriented reference than I could aspire to creating on my own.
A rough timeline is as follows:
- Setting up the environment in which you will install Arch
- Configuring partitioning and the likes of which
- Bootstrapping the install
- All those other things you have automated
Notes
Set the keyboard layout to
no-dvorak
- Without
no-dvorak
the experience will be sub-par for me.
- Without
Connecting to the internet
- You could do it later, but I’ve occasionally waited with doing this, only to discover that I didn’t have any internet access nearby. Without a connection you won’t be able to complete it using the default setup, so make sure you’ve got a connection ready before proceeding.
- Usually a combination of
iw
,wpa_passphrase
andwpa_supplicant
Setting up two partitions
- An ESP and a block partition for the encryption setup.
Creating a dm-crypt/LUKS setup.
PARTITION
being something like/dev/sda2
. Note the number at the end.We deal with the rest of the sysconfig later.
cryptsetup luksFormat PARTITION
Open up the encrypted partition.
cryptsetup open PARTITION MAP-NAME
Make the LVM physical volume, volume group and the logical volumes.
- I used to always use LVM, but I’ve only benefit from disk expansion once when I added a hard-drive to an older work laptop. Besides that one time, it’s never been worth it for me for anything advanced.
- In other words, I only use LVM for the abstraction of disks together with encryption.
Format each of the logical volumes with the file system of your choice.
- I tend to go for
ext4
.
- I tend to go for
Setup
/etc/pacman.d/mirorrlist
.pacstrap /mnt base base-devel salt
that shit.- Generally go with
base-devel
too, in addition to the naturalbase
. I provision withsalt
, so that goes on too.
- Generally go with
genfstab
Configuring encrypted boot
Something new1 I discovered is the ability to use a systemd-encrypt hook together with a systemd-vconsole hook for the boot sequence instead of udev and encrypt, with keymap as well.
Replace
udev
withsystemd
.Replace
keymap
withsd-vconsole
.Replace
encrypt
withsd-encrypt
.Replace
lvm2
withsd-lvm2
.Configure
loader.conf
.Copy and configure
arch.conf
inentries/
.Interestingly specify
rd.luks.name=UUID=NAME
rather than thecryptsetup
option.Setup the
systemd-boot-pacman-hook
.
Post-installation configuration
I tend to run SaltStack here, but I do it too late. Usually I do the following things manually, and a small part of me dies inside.
- Install various networking software
- Add me as a user
- Add me to the wheel group, always after adding me as a user
- Check that
/etc/sudoers
cares about thewheel
group - Check out my Salt state roots, and run salt.
Optional: NetworkManager instead of netctl
- Install NetworkManager and ModemManager
systemctl enable --now NetworkManager.service
User space applications
To my surprise, the following applications were missing from my installation, yet ever so present in my dotfiles requirements.
Alas, this must be remedied.
compton
xss-lock
udiskie
flashfocus
- I really like this, but I also really want to replace it with something less resource intensive. It does above and beyond what it needs to for the solution. It goes overboard.
dunst
polybar
- While missing, this was not apparent from my
~/.xsession-errors
file.
- While missing, this was not apparent from my
Interestingly, some other contenders that I didn’t think would be the case also showed up.
xrdb
- The
/etc/lightdm/Xsession
script attempts to use it.
- The
xrandr
–>xorg-xrandr
- My own scripts use it, and it’s my go-to tool for display configuration.
I’m not quite sure how I manage to setup X11, yet fail to install
such a useful tool like
xrandr
.
- My own scripts use it, and it’s my go-to tool for display configuration.
I’m not quite sure how I manage to setup X11, yet fail to install
such a useful tool like
Furthermore, my cloud-synchronised storage folder was naturally not synchronised. This caused a great loss in terms of wallpapers.2
Later on, I discovered the missing applications by usage.
rofi
- How could I?!
light
- The most useful backlight application I’ve had on my laptops.
i3lock-color
- Without it, my lock script fails. I have become dependant on this fork.
Not to mention packages missing of fonts!
ttf-material-design-icons-git
- Unlike the non-git version, this contains a fair few modified icons.
Installing in VMware Workstation3
Choose UEFI instead of BIOS
Start
fdisk
# fdisk /dev/sda > g # new gpt table > n 1 320M # new 320M partition > t 1 # set to EFI System > n 2 # create standard remainder > w # write and exit
Format the disks
Mount the areas
mkdir /mnt mount /dev/sda2 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/boot
Set timezone
Set
locale
Set
vconsole
Set
passwd
VMware specific
VMware adaptations come later, including system clock
Add modules to mkinitcpio