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-dvorakthe 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_passphraseandwpa_supplicant
Setting up two partitions
- An ESP and a block partition for the encryption setup.
Creating a dm-crypt/LUKS setup.
PARTITIONbeing something like/dev/sda2. Note the number at the end.We deal with the rest of the sysconfig later.
cryptsetup luksFormat PARTITIONOpen 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 saltthat shit.- Generally go with
base-develtoo, 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
udevwithsystemd.Replace
keymapwithsd-vconsole.Replace
encryptwithsd-encrypt.Replace
lvm2withsd-lvm2.Configure
loader.conf.Copy and configure
arch.confinentries/.Interestingly specify
rd.luks.name=UUID=NAMErather than thecryptsetupoption.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/sudoerscares about thewheelgroup - 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.
comptonxss-lockudiskieflashfocus- 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.
dunstpolybar- While missing, this was not apparent from my
~/.xsession-errorsfile.
- 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/Xsessionscript 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 exitFormat the disks
Mount the areas
mkdir /mnt mount /dev/sda2 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/bootSet timezone
Set
localeSet
vconsoleSet
passwd
VMware specific
VMware adaptations come later, including system clock
Add modules to mkinitcpio