Package Mapping: Build-from-Source → Alpine
This document maps the current build-from-source components to their Alpine Linux package equivalents.
✅ Direct Alpine Package Replacements
| Current Build |
Version |
Alpine Package |
Notes |
| busybox |
1.31.0 |
busybox |
Core system utilities |
| openssl |
1.1.1d |
openssl |
Crypto library |
| ca-certificates |
20190110 |
ca-certificates |
SSL certificates |
| util-linux |
2.34 |
util-linux |
System utilities (lsblk, etc.) |
| e2fsprogs |
1.45.2 |
e2fsprogs |
ext2/3/4 filesystem tools |
| btrfs-progs |
4.20.2 |
btrfs-progs |
Btrfs filesystem tools |
| parted |
3.2 |
parted |
Partition management |
| dnsmasq |
2.80 |
dnsmasq |
DHCP/DNS server |
| nftables |
0.9.1 |
nftables |
Firewall/routing |
| iproute2 |
5.4.0 |
iproute2 |
Network namespace support |
| openssh |
8.0p1 |
openssh |
SSH client/server |
| curl |
7.65.1 |
curl |
HTTP client library |
| restic |
0.9.2 |
restic |
Backup tool |
| wireguard-tools |
1.0.20200102 |
wireguard-tools |
VPN userland tools |
| zlib |
1.2.11 |
zlib |
Compression library |
| fuse |
2.9.7 |
fuse |
Filesystem in userspace |
| unionfs-fuse |
2.0 |
unionfs-fuse |
Union filesystem |
| smartmontools |
7.0 |
smartmontools |
S.M.A.R.T monitoring |
| dmidecode |
3.2 |
dmidecode |
Hardware info |
| netcat |
110 |
netcat-openbsd |
Network utility |
| redis |
7.2.1 |
redis |
Key-value store |
| haveged |
1.9.4 |
haveged |
Entropy daemon |
| ethtool |
5.1 |
ethtool |
Ethernet tool |
| dhcpcd |
7.2.2 |
dhcpcd |
DHCP client |
| tcpdump |
4.9.2 |
tcpdump |
Network packet analyzer |
| xfsprogs |
5.4.0 |
xfsprogs |
XFS filesystem tools |
| bcache-tools |
master |
bcache-tools |
Bcache utilities |
| keyutils |
1.6.3 |
keyutils |
Kernel key management |
| zstd |
1.5.6 |
zstd |
Compression tool |
| libaio |
0.3.113 |
libaio |
Async I/O library |
🔧 Hardware & Kernel Support
| Current Build |
Alpine Package |
Purpose |
| eudev |
eudev |
Device manager |
| kmod |
kmod |
Kernel module tools |
| linux-firmware |
linux-firmware |
Hardware firmware |
🐹 GitHub Components (Custom Builds)
These components are fetched from GitHub releases instead of building from source:
| Component |
Repository |
Purpose |
| zinit |
github.com/threefoldtech/zinit |
Init system (PID 1) |
| core-x |
github.com/threefoldtech/core-x |
Container remote control |
| seektime |
github.com/threefoldtech/seektime |
Disk type detection |
| rfs |
github.com/threefoldtech/rfs |
Rust version of 0-fs |
📦 Additional Alpine Packages Needed
These packages are required for the Alpine environment but weren't in the original build:
| Package |
Purpose |
alpine-base |
Base Alpine system |
musl |
C library |
alpine-keys |
Package signing keys |
apk-tools |
Package manager |
busybox-suid |
SUID busybox utilities |
util-linux-misc |
Additional util-linux tools |
🏗️ Build Dependencies (Build Container Only)
These are only needed in the build container, not in the final initramfs:
| Package |
Purpose |
build-base |
Compilation tools |
linux-headers |
Kernel headers |
cmake |
Build system |
git |
Source control |
wget |
Download tool |
cpio |
Archive tool |
xz |
Compression |
🚫 Removed Components
These are no longer needed with the Alpine approach:
| Removed |
Reason |
| libvirt + qemu |
Too heavy for initramfs, not core functionality |
| Various build toolchains |
Using Alpine packages instead |
| Custom musl builds |
Alpine already uses musl |
📊 Size Comparison
| Metric |
Current Build |
Alpine Approach |
| Build time |
60+ minutes |
~5 minutes |
| Source packages |
50+ |
4 (GitHub only) |
| Dependencies |
Complex web |
Package manager handled |
| Updates |
Manual version bumps |
Alpine package updates |
| Security patches |
Manual backports |
Alpine security team |