You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2025-11-23-week-03-arch-linux-install.md
+11-15Lines changed: 11 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,15 +18,15 @@ mermaid: true
18
18
19
19
This week was supposed to be about Kubernetes. It became a masterclass in Arch Linux installation troubleshooting instead.
20
20
21
-
I spent hours debugging an encrypted Arch Linux installation that refused to boot and ultimately learned that sometimes the best path forward is knowing when to start over with a simpler approach.
21
+
I spent hours debugging an encrypted Arch Linux installation that refused to boot and learned to follow the recommended installation guide.
22
22
23
23
## Background & Context
24
24
25
25
This is week 3 of a 16-week journey documenting my Homelab building process. Week 1 established the network foundation with OPNsense and WiFi. Week 2 added VLAN segmentation for OT/IT security. This week was meant to deploy the Kubernetes control plane on my gaming PC, but hardware had other plans.
26
26
27
27
**Hardware obstacle:** My gaming PC wouldn't power on this week. It tripped the circuit breaker immediately on startup, indicating a power supply or motherboard fault. Rather than delay the project for hardware troubleshooting, I pivoted to using my business PC as the K3s control plane instead.
28
28
29
-
Before starting this week, I had never installed Arch Linux. I'd used Ubuntu and other Debian-based distros, but Arch's manual installation process was new territory. I chose Arch because of the learning opportunity, it's the foundation for the K3s control plane that will run my IIoT platforms.
29
+
Before starting this week, I had never installed Arch Linux. I'd used Ubuntu and other Debian-based distros, but Arch's manual installation process was new to me. I chose Arch because of the learning opportunity, it's the foundation for the K3s control plane that will run my IIoT platforms.
30
30
31
31
**This week's goals:**
32
32
1. Install Arch Linux on Business PC (IP: 192.168.20.10)
@@ -99,9 +99,9 @@ graph TB
99
99
100
100
I started with what seemed like a reasonable approach: follow a YouTube tutorial for Arch Linux installation. I found [this video](https://www.youtube.com/watch?v=FxeriGuJKTM) that walked through an encrypted installation with LVM.
101
101
102
-
The tutorial was detailed and professional. It covered disk encryption, LVM volume groups, and bootloader configuration. Perfect for a production system that would run Kubernetes infrastructure, right?
102
+
The tutorial was detailed and professional. It covered disk encryption, LVM, and bootloader configuration. I thought this would be the ideal approach even though I read in forums to just follow the Installation Wiki.
103
103
104
-
**Main Installation Steps**
104
+
**Main Installation Steps I followed**
105
105
1. Created bootable USB with Arch ISO
106
106
2. Partitioned disk with encrypted LVM (following tutorial)
107
107
3. Installed base system with `pacstrap`
@@ -113,9 +113,7 @@ The tutorial was detailed and professional. It covered disk encryption, LVM volu
113
113
114
114
**What happened:** The system booted directly into the MSI BIOS, completely bypassing the hard drive.
115
115
116
-
### Problem: MSI Motherboard UEFI Quirk
117
-
118
-
My first thought was the bootloader didn't install correctly. After searching, I discovered MSI motherboards have a known quirk: they ignore custom UEFI boot entries and only boot from the fallback path `/EFI/BOOT/BOOTX64.EFI`.
116
+
My first thought was the bootloader didn't install correctly and followed the video again and reinstalled the Arch Linux. After searching, I discovered MSI motherboards have a known quirk: they ignore custom UEFI boot entries and only boot from the fallback path `/EFI/BOOT/BOOTX64.EFI`.
119
117
120
118
The solution: Install GRUB with the `--removable` flag.
121
119
@@ -150,7 +148,7 @@ See sulogin(8) man page for more detauls
150
148
Press Enter to Continue
151
149
```
152
150
153
-
The system couldn't find the encrypted root partition. This meant the initramfs (initial ramdisk) wasn't properly configured to unlock the LUKS encryption at boot.
151
+
The system couldn't find the encrypted root partition.
154
152
155
153
I went through the install again and followed the tutorial exactly and it still ended with a blank screen and then timeout error. I tried many things based on the forums and ended up in the same spot. I must have missed a key configuration somewhere.
156
154
@@ -348,13 +346,13 @@ sudo systemctl enable gdm
348
346
sudo systemctl start gdm
349
347
```
350
348
351
-
The screen immediately switched to the graphical GNOME login.**Now it was truly done.**
349
+
The screen immediately switched to the graphical GNOME login.
352
350
353
351
---
354
352
355
353
## Post-Installation Configuration Gotchas
356
354
357
-
Well, almost done. After logging into the GNOME desktop, I discovered a few configuration items that didn't carry over from the chroot environment.
355
+
After logging into the GNOME desktop, I discovered a few configuration items that didn't carry over from the chroot environment.
358
356
359
357
### Missing Locale Configuration
360
358
@@ -387,9 +385,7 @@ timedatectl
387
385
# Time zone: America/Vancouver (PST, -0800)
388
386
```
389
387
390
-
**Lesson learned:** Configuration donein the chroot environment doesn't always persist exactly as expected. After first boot, verify critical settings like locale, timezone, and network configuration.
391
-
392
-
These weren't show-stoppers, but they remind you that a "working" installation isn't the same as a "fully configured" installation. Always test and verify after the first boot.
388
+
**Lesson learned:** After first boot, verify critical settings like locale, timezone, and network configuration. Always test and verify after the first boot.
393
389
394
390
**Note:** The Arch Wiki has a comprehensive [General Recommendations](https://wiki.archlinux.org/title/General_recommendations) page covering system administration tasks after installation. It includes security hardening, user management, network configuration, and performance optimization. Worth reviewing before deploying production workloads.
395
391
@@ -468,13 +464,13 @@ Why does MSI require the `--removable` flag? What's the difference between UEFI
468
464
469
465
---
470
466
471
-
These gaps won't block K3s deployment, but filling them will make me more effective at troubleshooting when (not if) things break. The Arch Wiki will be my companion for these deep dives.
467
+
These gaps won't block K3s deployment, but filling them will make me more effective at troubleshooting when things break. The Arch Wiki will be my companion for these deep dives.
472
468
473
469
---
474
470
475
471
## Summary & Lessons Learned
476
472
477
-
Week 3 is complete, though not as planned. I installed Arch Linux on the business PC after a humbling journey through hardware failure (gaming PC tripped circuit breaker, suspected PSU/motherboard fault), encryption troubleshooting, UEFI quirks, and configuration errors. The K3s control plane deployment moves to Week 4.
473
+
Week 3 is finally complete. I installed Arch Linux on the business PC after a humbling journey through hardware failure (gaming PC tripped circuit breaker, suspected PSU/motherboard fault), encryption troubleshooting, UEFI quirks, and configuration errors. The K3s control plane deployment moves to Week 4.
478
474
479
475
**What worked well:**
480
476
- **MSI `--removable` flag discovery:** Solved the initial boot failure
0 commit comments