Hello community,
I've made Alpine Linux 3.3 build for armv5te [armel] architecture.
There are quite a lot of ARMv5-based devices available around, such as
LaCie / QNAP / Synology NASes or SheevaPlug / GuruPlug / DreamPlug plug
computers, to name a few. Being an owner of an armv5-based NAS (D-Link
DNS-325), i've made this build since Alpine seems to be much better suited
for that kind of old hardware, than ArchLinuxARM (which I used to run
before) or Debian. For example, minimal installation containing base
system, utulities for handling mainstream filesystems / partitions, wired &
wireless networking utilities, openssh, gnu screen, bash and midnight
commander, took about 40 megabytes (without kernel), which is about 8 to 10
times less than minimal Debian or ArchLinuxARM system, and consumed
significantly less memory (I don't remember the exact numbers).
Binary packages are available here (HTTP only at the moment):
http://anarch-linux.cf/alpine/v3.3/
<http://anarch-linux.cf/alpine/v3.3/main/armel/>
Please note that all packages are signed by my own key, so considered
untrusted, and you should run apk with --allow-untrusted option to install
them.
At the moment the following stuff is available in the repo:
- alpine-base packages
- build-base packages and the majority of alpine-sdk packages
- utilities to deal with mainstream partitions & filesystems (ext2/3/4,
btrfs, xfs, LVM, LUKS & TrueCrypt, ntfs-3g, vfat, gptfdisk, mdadm)
- basic hardware handling stuff (eudev, pci-utils, usb-utils,
smartmontools, hdparm)
- bash, midnight commander, gnu screen, lynx, links, elinks (can't live
without them)
- basic networking stuff (dhcpcd, iputils, iproute2, iptables, openssh,
rsync, utilities for wireless network connectivity)
- all dependencies to rebuild all above, excluding X/GUI-related stuff
(see note below)
- some other random apps & utilities.
The repo currently lacks:
- binutils-gold
(it breaks the build for some obscure reason)
- gcc-ada packages
(for various reasons i haven't manage to bootstrap ada compiler at
the moment)
- any kernels
(work in progress: kernels for Marvell Kirkwood-based devices and
for QEMU quest)
- anything that requires X libraries, GUI toolkits or stuff like that
(this build is intended primarily for headless usage on weak
hardware without graphical capabilities, so I've disabled X/GUI-related
components and dependencies for some packages, e.g. git or transmission)
- perl-json, perl-libwww, ruby, ruby-augeas required by some split
packages that were built
(I was too lazy to find & remove them from the repo)
- busybox.static binary not working, just segfaults.
(i've rebuilt it several times on different systems, either
cross-compiling and natively, using different gcc versions, but the result
is always the same. Strange, but that binaries do run on armv6 & armv7
systems)
- everything else
So, right now you can install a minimal system, run it with some foreign
kernel (e.g. extracted from Debian or ArchLinuxARM package), connect it to
network, and build the stuff you need.
This build required some additions/changes in gcc & musl APKBUILDs, i'll
post patches here a bit later.
I'll also keep you informed what's going on, since the work is not complete
yet.
So, enjoy.