Installing Arch Linux on a Framework Laptop

kaishiro1 pts0 comments

hack.rest/repeat

Installing Arch Linux on a Framework Laptop // Installation

This guide's intent is to be a comprehensive, command-by-command guide to get a complete web development environment up and running with Arch Linux on a Framework laptop. This is not meant to replace the generally excellent Arch Linux Installation Guide, or to serve as a general install guide for any non-Framework laptop. I'd encourage you to give the install guide a read through as it's quite short and serves as the bones of much of the information found in this article.

This guide will also attempt to service the "why" of the decisions I've made along the way via the explanation of command operands, as well as the addition of notes regarding specific design choices. This is mainly born out of my frustration with some guides detailing how to do things, without providing any additional context as to how they've arrived at those decisions.

This guide will be split into two pieces. This article - "Installation" - should be generic enough that it can be used as a springboard to get to your first bootstrapped command prompt. The second article - "Setup" - will be far more opinionated. It will present a set of packages and config files to provision an environment the way I like to work. It should be flexible enough for you to modify as you see fit - but ultimately it's goal is to be a reminder to myself how to get everything working after a fresh reformat.

ContextLocale<br>Names<br>Hardware

Create Bootable USB DriveDownload Arch Linux ISO<br>Verify ISO File<br>Identify USB DriveLinux<br>macOS<br>Windows

Write ISO to USB DriveLinux<br>macOS<br>Windows

Disable Secure BootBoot to USB Drive

Prepare Hard DriveClean up Current Partition Table<br>Create GPT Partition Table<br>Setup Boot Partition<br>Setup Swap Partition<br>Setup Root Partition<br>Setup Home Partition<br>Save Partitions<br>Format Partitions

Install Arch LinuxConnect to the Internet via Wi-Fi<br>Update System Clock<br>Prepare /mnt DirectoryMount Prepared Volumes<br>Enable swap partition<br>Construct Mirrorlist<br>Install Packages<br>Generate fstab

Change Root<br>Create Boot EntryGet Partition UUIDs<br>Insert Boot Entry

ConfigurationSet Timezone<br>Create /etc/adjtime<br>Setup Localization<br>Set Hostname<br>Set Root Password<br>Permiss Wheel Group<br>Add Local User<br>Enable Servicesiwd<br>systemd-resolved

Cleanup & Reboot

Context

Locale

I'm an American currently living in Australia. As such, this guide will be US-centric, and since many defaults (e.g. keyboards, languages) are also US, I won't have been exposed to the same challenges as others while getting an environment up and running. That being said, I've attempted to add sections on where these decisions may need to be made, but as always the Arch Linux Installation Guide will be your best bet for further exploration on those topics.

Names

In the commands detailed in this article, you'll notice many references to kaishiro. This is my username, and as such should obviously be swapped out for your own where necessary.

Hardware

For reference, the Framework laptop that I'm targeting for this guide has the following hardware:

Processor<br>Intel® Core™ i7-1165G7 Processor<br>Wi-Fi<br>Intel® Wi-Fi 6E AX210 No vPro®<br>Storage<br>1TB WD_BLACK™ SN850 NVMe™<br>RAM<br>32GB (1 x 32GB) DDR4-3200

Additionally, I ordered a number of expansion cards, but the most relevant one to mention is the 250GB Expansion Card. I originally ordered this without a clear intention in mind, but my co-worker, Nathan, had the idea to install the Arch Linux ISO onto this directly. This meant that I always have a bootable ISO "on system" available for recovery, data carving, and general testing. It also makes it trivial to update to the latest monthly ISO release. It is admittedly a waste of the drive's capacity, but having used it several times already I'm happy with the functionality of having it available.

Create Bootable USB Drive

Download Arch Linux ISO

You can download the Arch Linux ISO from one of the official mirrors. I tend to pull these down via wget with a -c flag in case something goes wrong. At the time of writing (Mar 02, 2021), the most recent version is the 2022.03.01 release.

wget \<br>-c \<br>-P ~/Downloads \<br>http://mirror.rackspace.com/archlinux/iso/2022.03.01/archlinux-2022.03.01-x86_64.iso

Operands

-c<br>Continue downloading a partial file - allows resuming an interrupted download<br>-P ~/Downloads<br>Download the iso to the current user's Downloads directory<br>http://mirror.rackspace.com/archlinux/iso/2022.03.01/archlinux-2022.03.01-x86_64.iso<br>This is the Rackspace global mirror - a country specific target is usually faster.

Verify ISO File

Once downloaded, we should quickly verify the integrity of the file using a SHA checker.

On Linux or macOS, you most likely already have the sha256sum command available for just such an occasion. On Windows, you can use the certutil command via Command Prompt.

Linux

macOS

Windows

sha256sum ~/Downloads/archlinux-2022.03.01-x86_64.iso

> 64070acf60ac342d7aaddddfa0448f5900c4a0a5...

linux arch guide partition command setup

Related Articles