summaryrefslogtreecommitdiffstats
path: root/content/posts/brief-archlinux-installation-guide.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/brief-archlinux-installation-guide.md')
-rw-r--r--content/posts/brief-archlinux-installation-guide.md98
1 files changed, 98 insertions, 0 deletions
diff --git a/content/posts/brief-archlinux-installation-guide.md b/content/posts/brief-archlinux-installation-guide.md
new file mode 100644
index 0000000..22c4893
--- /dev/null
+++ b/content/posts/brief-archlinux-installation-guide.md
@@ -0,0 +1,98 @@
+---
+title: "The briefest Arch Linux installation guide"
+date: 2019-10-15T14:33:00
+tags: ["guides", "linux", "snippets", "software"]
+---
+
+Are you wanting an incredibly quick (to the point of being useless, or painfully truncated) guide for how to install Arch Linux on your computer?
+
+Do you want to throw caution to the wind, booting from UEFI using systemd-boot instead of the more usual GRUB? Are you interested in Wayland/Sway instead of a more traditional Xorg/i3? Do you want to use a swap file instead of a partition? Do you desire UK specific keyboard layouts and timezone, even if you don't want them?
+
+Well why didn't you say? Step aboard traveller..! Welcome to my personal guide (primarily for reference usage) on installing the venerable Arch Linux.
+
+* Boot your installation medium
+
+* Check for network connectivity `ping archlinux.org`.
+
+* Update your package manager repository `pacman -Syy`.
+
+* Set the keymap to UK `loadkeys uk`.
+
+* Make sure the time and date are vaguely correct `timedatectl set-ntp true`.
+
+* Identify the drives you're working with (in my case, sda) using `lsblk`.
+
+* Now make an EFI boot partition, and root partition `gdisk /dev/sda > o y n 1 {enter} 512M EF00 n 2 {enter} {enter} {enter} w y`.
+
+* Check everything's okay with the above via `gdisk -l /dev/sda`.
+
+* Format those new partitions `mkfs.vfat /dev/sda1 && mkfs.ext4 /dev/sda2`.
+
+* Now mount those partitions `mount /dev/sda2 /mnt && mkdir /mnt/boot && mount /dev/sda1 /mnt/boot`.
+
+* Install the base operating system `pacstrap /mnt/`.
+
+* Create your `fstab` file using `genfstab -U /mnt > /mnt/etc/fstab`.
+
+* Chroot into it `arch-chroot /mnt/`.
+
+* Install some necessary core applications `pacman -Syu base dhcpcd linux linux-firmware neovim sudo`.
+
+* Enable DHCP `systemctl enable dhcpcd`.
+
+* Now install and configure your (UEFI) bootloader `bootctl install`.
+
+* Configure said bootloader default `printf "default arch\ntimeout 2">/boot/loader/loader.conf`.
+
+* Now add your Arch entry `printf "title ArchLinux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root=/dev/sda2 rw">/boot/loader/entries/arch.conf`.
+
+* Set your hostname `printf "minerva">/etc/hostname`.
+
+* Set your console keymap `printf "KEYMAP=uk">/etc/vconsole.conf`.
+
+* Set the locale language `printf "LANG=en_GB.UTF-8">/etc/locale.conf`.
+
+* Another locale step, I guess `nvim /etc/locale.gen` you want to uncomment `en_GB.UTF-8`.
+
+* Set up a symlink for the timezone `ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime`.
+
+* Finally we can generate the locale `locale-gen`.
+
+* Add your non-root user `useradd -m -G wheel,users -s /bin/bash peter`.
+
+* Set your new accounts' password `passwd peter`.
+
+* Set up sudo `EDITOR=nvim visudo`, you'll need to uncomment the `%wheel` group line.
+
+* Set your root password `passwd`.
+
+* Exit the chroot environment `exit`.
+
+* Lastly, reboot from to your new OS `reboot`.
+
+Now we're logged in, we can [set up the swap file](/blog/2019/06/10/swap-file-linux/) as an alternative to a swap partition (mentioned earlier).
+
+Lastly, I'd like to autologin my user, without using a display manager:
+```
+sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
+printf "[Service]\nExecStart=\nExecStart=-/usr/bin/agetty --autologin username --noclear %%I $TERM" | sudo tee /etc/systemd/system/getty@tty1.service.d/override.conf
+```
+Replacing *username* with whatever the use you want to login as.
+
+* **Edit 2019-10-21:** Add update package manager repo step, may resolve some problems
+
+* **Edit 2019-10-24:** Add [base package](https://www.archlinux.org/news/base-group-replaced-by-mandatory-base-package-manual-intervention-required/), swap file link and autologin instructions
+
+* **Edit 2020-01-20:** Using ext4 over btrfs, the less said about it the better.
+
+* **Edit 2020-01-21:** Alternate instructions for using BIOS/Grub are below:
+```
+fdisk /dev/sda > a {enter} w {enter}
+sudo pacman -S grub
+grub-install /dev/sda
+grub-mkconfig -o /boot/grub/grub.cfg
+```
+
+* **Edit 2020-06-03:** Added fstab instruction, seemingly missed.
+
+* **Edit 2020-06-17:** Replaced nano references with neovim. \ No newline at end of file