language: en kae3g ← back to index
(unlisted) — This essay is not shown on the main index but remains accessible via direct link

9303. Framework Laptop Alpine Linux Installation Guide - Part 1: Foundation Setup

The Rhizome System Foundation - Alpine Linux + musl libc + s6 + Sway Wayland on Framework Laptop 16

Table of Contents

Quick Start

For experienced users who want to get running fast:

# 1. Boot from Alpine Extended ISO
# 2. Run setup-alpine (choose your options)
setup-alpine

# 3. Reboot and login as root
reboot

# 4. Enable community repository and install essentials
echo 'http://dl-cdn.alpinelinux.org/alpine/v3.22/community' >> /etc/apk/repositories
apk update

# 5. Install sudo and create admin user
apk add sudo
adduser xy
passwd xy
adduser xy wheel
echo '%wheel ALL=(ALL) ALL' >> /etc/sudoers

# 6. Install Framework hardware essentials
apk add --no-cache \
  linux-firmware \
  linux-firmware-amd \
  amd-ucode \
  acpid cpufrequtils brightnessctl \
  wpa_supplicant wireless-tools

# 7. Enable services
rc-update add acpid default
rc-update add wpa_supplicant default

# 8. Reboot and test
reboot

Prerequisites

Hardware Requirements

Software Requirements

Download Alpine Extended ISO

# Download Alpine Linux Extended ISO for x86_64
wget https://dl-cdn.alpinelinux.org/alpine/v3.22/releases/x86_64/alpine-extended-3.22.2-x86_64.iso

# Verify checksum
wget https://dl-cdn.alpinelinux.org/alpine/v3.22/releases/x86_64/alpine-extended-3.22.2-x86_64.iso.sha256
sha256sum -c alpine-extended-3.22.2-x86_64.iso.sha256

Installation Process

Step 1: Boot from ISO

  1. Create bootable USB with Alpine Extended ISO
  2. Boot Framework laptop from USB
  3. Login as root (no password required)

Step 2: Run setup-alpine

# Run Alpine's guided installer
setup-alpine

# Choose your options:
# - Keyboard: us
# - Hostname: framework-alpine
# - Interface: wlan0 (for WiFi)
# - IP: dhcp
# - DNS: dhcp
# - Timezone: America/Chicago (or your timezone)
# - Proxy: none
# - NTP: chrony
# - SSH: none (we'll configure later)
# - Disk: sys (install to NVMe)
# - Mode: sys (system disk)
# - Disk: /dev/nvme0n1 (your NVMe drive)
# - Use: y (use entire disk)
# - Format: y
# - Erase: y

Step 3: Reboot and Login

# Reboot to your new Alpine installation
reboot

# Login as root
# Password: (the one you set during setup-alpine)

User Setup

Install Sudo and Create Admin User

# Enable community repository (sudo is not in main repository)
echo 'http://dl-cdn.alpinelinux.org/alpine/v3.22/community' >> /etc/apk/repositories
apk update

# Install sudo
apk add sudo

# Create admin user 'xy'
adduser xy
passwd xy

# Add xy to wheel group (required for sudo access)
adduser xy wheel

# Configure sudoers
echo '%wheel ALL=(ALL) ALL' >> /etc/sudoers

# Test sudo access
su - xy
sudo ls /root

Package Management

Essential Commands

# Update package index
apk update

# Install packages
apk add package-name

# Remove packages
apk del package-name

# List installed packages
apk list --installed

# Search packages
apk search keyword

# Show package information
apk info package-name

Framework Hardware Essentials

# Install Framework-specific packages
apk add --no-cache \
  linux-firmware \          # Includes Intel WiFi firmware
  linux-firmware-amd \      # AMD GPU firmware
  amd-ucode \               # AMD CPU microcode
  acpid \                   # Power management
  cpufrequtils \            # CPU frequency scaling
  brightnessctl \           # Display brightness control
  wpa_supplicant \          # WiFi connection
  wireless-tools            # Wireless utilities

Enable Critical Services

# Enable power management
rc-update add acpid default

# Enable WiFi
rc-update add wpa_supplicant default

# Start services
rc-service acpid start
rc-service wpa_supplicant start

Next Steps

Congratulations! You now have a working Alpine Linux installation on your Framework laptop.

What's Next?

Key Concepts Covered

Alpine musl libc Purity Verification

# Verify your system maintains musl libc purity
scanelf -n /usr/bin/* /usr/sbin/* 2>/dev/null | grep -q glibc && echo "❌ CONTAMINATED" || echo "✅ MUSL PURE"

# Count musl binaries
scanelf -n /usr/bin/* /usr/sbin/* /usr/lib/* /lib/* 2>/dev/null | awk '/musl/ {count++} END {print "✅ MUSL BINARIES:", count}'

Community Repository musl libc Packages

# Verify community repository packages use musl libc
scanelf -n /usr/bin/sudo /usr/sbin/wpa_supplicant /usr/sbin/acpid /usr/sbin/cpufreq-set /usr/sbin/iwconfig 2>/dev/null | grep musl

# Check package information
apk info --depends wireless-tools acpid wpa_supplicant sudo cpufrequtils

# Verify all community packages maintain musl purity
echo "✅ Community Repository musl libc packages:"
echo "  - wireless-tools (iwconfig, iwlist, iwspy)"
echo "  - acpid (Advanced Configuration and Power Interface daemon)"
echo "  - wpa_supplicant (WiFi connection manager)"
echo "  - sudo (superuser do command)"
echo "  - cpufrequtils (CPU frequency scaling utilities)"

WiFi Configuration

# Configure WiFi connection
setup-interfaces
# Choose wlan0, enable it, set to dhcp

# Connect to WiFi
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
udhcpc -i wlan0

# Test connectivity
ping -c 3 8.8.8.8

Navigation

Next: 9304. Framework Laptop Alpine Linux Advanced Configuration - Part 2: s6 + Sway + Wayland

Previous: 9302. The Urbana Rhizome: A Vegan Co-op Kitchen Public Benefit Corporation Blueprint for Urbana, Illinois

Related:

Series Navigation:

Key Concepts Cross-Reference

#alpine-linux-installation

Definition: Alpine Linux Extended ISO installation process using setup-alpine for Framework Laptop hardware.

#musl-libc-purity

Definition: Alpine Linux's use of musl libc ensures all packages maintain consistent, minimal C library dependencies.

#framework-hardware

Definition: Framework Laptop 16 with AMD Ryzen 7 7840HS and Radeon 780M Graphics, optimized for Alpine Linux.

#alpine-package-management

Definition: Alpine's apk package manager with community repository requirements for packages like sudo.


← back to index