# 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 |