Skip to content

Commit 32570a0

Browse files
committed
update blog post
1 parent b12679b commit 32570a0

1 file changed

Lines changed: 11 additions & 15 deletions

File tree

_posts/2025-11-23-week-03-arch-linux-install.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ mermaid: true
1818

1919
This week was supposed to be about Kubernetes. It became a masterclass in Arch Linux installation troubleshooting instead.
2020

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.
2222

2323
## Background & Context
2424

2525
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.
2626

2727
**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.
2828

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.
3030

3131
**This week's goals:**
3232
1. Install Arch Linux on Business PC (IP: 192.168.20.10)
@@ -99,9 +99,9 @@ graph TB
9999

100100
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.
101101

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.
103103

104-
**Main Installation Steps**
104+
**Main Installation Steps I followed**
105105
1. Created bootable USB with Arch ISO
106106
2. Partitioned disk with encrypted LVM (following tutorial)
107107
3. Installed base system with `pacstrap`
@@ -113,9 +113,7 @@ The tutorial was detailed and professional. It covered disk encryption, LVM volu
113113

114114
**What happened:** The system booted directly into the MSI BIOS, completely bypassing the hard drive.
115115

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`.
119117

120118
The solution: Install GRUB with the `--removable` flag.
121119

@@ -150,7 +148,7 @@ See sulogin(8) man page for more detauls
150148
Press Enter to Continue
151149
```
152150
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.
154152
155153
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.
156154
@@ -348,13 +346,13 @@ sudo systemctl enable gdm
348346
sudo systemctl start gdm
349347
```
350348
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.
352350
353351
---
354352
355353
## Post-Installation Configuration Gotchas
356354
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.
358356
359357
### Missing Locale Configuration
360358
@@ -387,9 +385,7 @@ timedatectl
387385
# Time zone: America/Vancouver (PST, -0800)
388386
```
389387
390-
**Lesson learned:** Configuration done in 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.
393389
394390
**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.
395391
@@ -468,13 +464,13 @@ Why does MSI require the `--removable` flag? What's the difference between UEFI
468464
469465
---
470466
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.
472468
473469
---
474470
475471
## Summary & Lessons Learned
476472
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.
478474
479475
**What worked well:**
480476
- **MSI `--removable` flag discovery:** Solved the initial boot failure

0 commit comments

Comments
 (0)