Skip to content
P15 Arch Linux — ภาพรวมการติดตั้ง

P15 Arch Linux — ภาพรวมการติดตั้ง

ติดตั้ง Arch แบบมือ (ไม่ใช้ archinstall) บน ThinkPad P15 Gen 1 พร้อมดิสก์เข้ารหัส LUKS2 + btrfs + snapper
Manual Arch install with full-disk encryption, snapshots and hybrid NVIDIA

ใช้ทำอะไร (Purpose)

เครื่องหลักสำหรับงาน OSINT / วิเคราะห์ข้อมูลคดีด้วย Ollama แบบ local จึงต้อง

  • เข้ารหัสทั้งดิสก์ (เครื่องหาย / ส่งเคลมประกัน ข้อมูลคดีต้องอ่านไม่ได้)
  • ย้อนกลับได้ เมื่ออัพเดทพัง (snapper)
  • ใช้ GPU ได้แต่ไม่เปลืองไฟ (NVIDIA หลับเมื่อไม่ใช้)

แกนหลัก: Boot chain 5 hop

ทุกขั้นของการติดตั้งคือ “การสร้าง hop ใด hop หนึ่ง” แต่ละ hop รู้แค่ next hop
(เหมือน router ที่รู้แค่ next hop ของ packet)

กดเปิดเครื่อง
   │
[1] UEFI firmware ──── อ่าน NVRAM: "Linux Boot Manager" → ESP
   │
[2] systemd-boot  ──── อ่าน /boot/loader/entries/arch.conf → kernel + initramfs
   │
[3] kernel + initramfs ── sd-encrypt ถามรหัส → เปิด LUKS → mount subvol @
   │
[4] root (@)      ──── systemd อ่าน /etc/fstab → mount subvolume ที่เหลือ
   │
[5] systemd → ly → i3

บูตไม่ขึ้น = มี hop หนึ่งหา next hop ไม่เจอ → debug ไล่ทีละ hop แบบ network

โครงสร้างดิสก์ (Disk Layout)

nvme0n1 (GPT, สารบัญสำรองท้ายดิสก์)
├─ p1  1 GiB   EF00 "ESP"  → FAT32 "ESP"      → /boot   (fmask/dmask 0077)
└─ p2  475.9G  8309 "LUKS" → LUKS2 (aes-xts, argon2id, discards)
                              └─ /dev/mapper/cryptroot → btrfs "ARCH"
                                    ├─ @          (256) → /
                                    ├─ @home      (257) → /home
                                    ├─ @snapshots (258) → /.snapshots
                                    ├─ @log       (259) → /var/log
                                    └─ @pkg       (260) → /var/cache/pacman/pkg

แผนที่บันทึก (Map)

ไฟล์เนื้อหาHop
01-buy-check-and-isoตรวจเครื่องมือสอง, ตรวจ ISO, เขียน USB—
02-disk-luks-btrfsGPT, LUKS2, btrfs, subvolume, mount1, 3, 4 (ที่อยู่)
03-install-and-boot-chainpacstrap, fstab, chroot, initramfs, systemd-boot, NVRAM1–4
04-snapper-safety-netsnapper, snap-pac, cleanup—
05-nvidia-hybrid-rtd3NVIDIA + การ์ดหลับ—
06-dotfiles-and-packagesStow, รายการแพ็กเกจ, SSH key/agent5
07-audio-bluetoothPipeWire, BT—
08-thai-inputlayout + ฟอนต์ไทย—
09-hardware-tuningแรม, zram, แบต, ลายนิ้วมือ, แจ้งเตือน—
10-music-lyrics-pipelineyt-dlp + srt-clean + mpv—
99-commands-referenceคำสั่งทั้งหมดที่ผ่านจริง—

การตัดสินใจหลัก (Key Decisions)

เรื่องเลือกเหตุผล
ติดตั้งมือ ไม่ใช้ archinstallเข้าใจทุก hop, archinstall ลากไดรเวอร์ทุกยี่ห้อมา
เข้ารหัสLUKS2 ทั้ง rootข้อมูลคดี + ส่งเคลมประกัน
bootloadersystemd-bootUEFI ล้วน, config อ่านง่าย
filesystembtrfs + subvolume แยกsnapshot/rollback โดยไม่ย้อน log กับ home
kernellinux + linux-ltslts = backup link ถ้า NVIDIA กับ kernel ใหม่ทะเลาะกัน
swapzramไม่ต้องมี swap บนดิสก์ที่เข้ารหัส
GPUHybrid + nvidia-open-dkmsไดรเวอร์สายหลักของ Arch (Turing)

หลักคิดที่ใช้ตลอดงาน (Method)

  1. ทายผลก่อนรัน แล้วเทียบกับผลจริง ทายผิด = ได้เรียนรู้เพิ่ม
  2. พิสูจน์ด้วยหลักฐาน ไม่ใช้คำว่า “น่าจะ” (เงียบ ≠ สำเร็จ ต้องตรวจซ้ำ)
  3. แยกตัวแปรทีละตัว เวลา debug
  4. ตรวจแหล่งของหลักฐาน (log ของเครื่องไหน, ข้อความถูกตัดตอนไหม)
  5. บันทึก session ด้วย script จากเครื่องที่ SSH เข้ามา

เครื่องมือบันทึก (Session Logging)

# บนเครื่อง MSI ก่อน SSH เข้า P15
script -a ~/p15-install-$(date +%F).log
ssh root@<IP ของ P15>
  • log เก็บฝั่ง MSI (P15 ตอนบูต ISO เก็บทุกอย่างใน RAM)
  • รหัสผ่านที่ไม่แสดงบนจอ → ไม่ติดใน log
  • จบงาน: exit สองครั้ง

คำถามชวนคิด

  1. ถ้าบูตแล้วจอค้างที่หน้าถามรหัส LUKS แต่พิมพ์รหัสถูกแล้วยังไม่ผ่าน ปัญหาอยู่ที่ hop ไหนได้บ้าง และคุณจะเก็บหลักฐานอะไรเพื่อแยกสาเหตุ
  2. ทำไมการแยก @log ออกจาก @ จึงสำคัญกับคนทำงานสืบสวน มากกว่าคนทั่วไป
  3. ถ้าต้องติดตั้งเครื่องที่ ไม่มี การ์ด NVIDIA แต่ใช้ดิสก์แบบเดียวกัน ขั้นตอนไหนในแผนที่นี้จะเปลี่ยน และขั้นไหนเหมือนเดิมทุกตัวอักษร