This repository is a practical, checkpoint-driven guide for building Linux From Scratch (arm64-r13.0-74, systemd edition) on Apple Silicon.
Reference book: https://www.linuxfromscratch.org/~xry111/lfs/view/arm64-systemd/
- Real host target: Apple Silicon + VMware + Debian ARM64.
- Step-by-step structure by phases, not giant walls of text.
- Verification points to catch failures early.
- Written for repeatability and team sharing.
flowchart LR
A[00 Setup] --> B[01 Environment]
B --> C[02 Cross Toolchain]
C --> D[03 Chroot]
D --> E[04 System Packages]
E --> F[05 Boot]
F --> G[Bootable LFS]
pie title Relative Build Effort
"Setup + Host Prep" : 10
"Environment + Sources" : 10
"Cross Toolchain" : 30
"Chroot Entry" : 5
"System Packages" : 30
"Boot + Kernel + GRUB" : 15
| Requirement | Minimum | Recommended |
|---|---|---|
| Mac architecture | Apple Silicon (M-series) | Apple Silicon (M-series) |
| RAM | 8 GB | 12 GB |
| Free disk space on Mac | 80 GB | 100 GB |
| Item | Value |
|---|---|
| VM software | VMware Fusion 13 |
| Guest OS | Debian 13 Trixie ARM64 |
| Primary disk | 30 GB (Debian OS) |
| Secondary disk | 40 GB (attached, unformatted) |
| Internet | Required in VM |
- Bootstrap Overview
- Binutils Pass 1
- GCC Pass 1
- Kernel Headers and Glibc
- Libstdc++ and Binutils Pass 2
- GCC Pass 2
| Component | Version |
|---|---|
| Binutils | 2.46.0 |
| GCC | 15.2.0 |
| Glibc | 2.43 |
| Linux kernel | 6.19.10 |
| Systemd | 260.1 |
| GRUB | 2.14 |
- Use
make -j$(nproc)unless a step says otherwise. - Remove each source directory after install.
- Export
LFS=/mnt/lfsin every relevant shell. - Run cross-toolchain steps as
lfs, and full system steps asrootinside chroot. - Do not skip verification commands; they prevent multi-day rework.