No description
Measured once rather than discovered a package at a time: dpkg says what each of the 110 apt packages ships in /usr/bin, and each of those is tested against the chroot. Two had already been found the slow way, rsync and makeinfo, and each cost a full build to surface. Sorted by what it means: ten are build tools that will each block something, eleven are documentation already settled by --auto-features auto, and eight are not gaps at all -- bison.yacc, fakeroot-tcp, automake-1.17, ncurses6-config and the like are Debian's alternative names for tools that are present under Arch's. Counting those as missing would have meant building packages that exist. --- FR --- Mesuré une fois plutôt que découvert un paquet à la fois : dpkg dit ce que chacun des 110 paquets apt livre dans /usr/bin, et chacun est testé contre le chroot. Deux avaient déjà été trouvés par la voie lente, rsync et makeinfo, au prix d'une construction complète chacun. Classé par ce que cela signifie : dix sont des outils de construction qui bloqueront chacun quelque chose, onze sont de la documentation déjà tranchée par --auto-features auto, et huit ne sont pas des manques -- bison.yacc, fakeroot-tcp, automake-1.17, ncurses6-config et compagnie sont les noms alternatifs de Debian pour des outils présents sous ceux d'Arch. Les compter comme absents aurait fait bâtir des paquets qui existent. Assisted-by: Claude Opus 5 |
||
|---|---|---|
| .github/workflows | ||
| arch-kernel | ||
| boot | ||
| patches | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| CODEOWNERS | ||
| Containerfile | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| TODO.md | ||
Arch Linux s390x
A port of Arch Linux to IBM s390x mainframe architecture with systemd support.
Boots a full Arch Linux system on IBM mainframes (or QEMU s390x emulation) using a hybrid build: cross-compilation for the kernel, native s390x compilation on z/VM for userspace.
Quick Start
make container # build dev container (first time)
cp .env.example .env # configure z/VM access
make all # build kernel + initramfs + systemd
make test-systemd # boot it
What Works
- Arch Linux kernel 6.18.6-arch1 with Arch patches, cross-compiled
- Initramfs via modified mkinitcpio
- Static busybox built natively on z/VM, 2.3MB
- Root filesystem with ext4, switch_root to real rootfs
- Systemd as PID 1
Pacman, bash, and GNU coreutils are not yet ported.
Build System
The build uses two tiers:
Cross-compilation (x86_64 host): Kernel is built in a Fedora 43 container with s390x-linux-gnu-gcc. Initramfs is generated with a patched mkinitcpio that handles cross-architecture binary injection.
Native compilation (s390x z/VM): Busybox and systemd must be built on real s390x hardware. The z/VM system runs RHEL 9.6 with GCC 11.5.0. Scripts handle SSH deployment and retrieval automatically via .env configuration.