No description
groff was the third round on the same package: DOC_GNU_EPS, then PROCESSEDEXAMPLEFILES_PS, then HDTBL -- and mom's examples were waiting behind those. groff renders its own manuals and every contrib package's examples with the groff being built, each list a separate variable. Finding them one failure at a time cost three passes; all seven are emptied together now. systemd is the fourth package to stop on missing DocBook DATA rather than a missing tool -- xsltproc exists, our libxslt supplies it: compilation error: file ../systemd/man/custom-man.xsl line 12 element import It has the largest man page set here, which is the strongest argument in this port for shipping docbook-xsl eventually. git's libsecret helper needed THREE places, one spanning two lines. The first version asserted "expected one _make, got 2" and stopped -- the guard working. Replacing the install's first line alone would have left its continuation as a command of its own, which is the binutils trap again. --- FR --- groff en était au troisième tour sur le même paquet : DOC_GNU_EPS, puis PROCESSEDEXAMPLEFILES_PS, puis HDTBL — et les exemples de mom attendaient derrière. groff rend ses propres manuels et les exemples de chaque contrib avec le groff en cours de construction, chaque liste étant une variable distincte. Les trouver un échec à la fois a coûté trois passes ; les sept sont vidées ensemble. systemd est le quatrième paquet à s'arrêter sur des DONNÉES DocBook absentes et non sur un outil manquant — xsltproc existe, notre libxslt le fournit : compilation error: file ../systemd/man/custom-man.xsl line 12 element import Il porte le plus grand ensemble de pages de manuel du portage : c'est le meilleur argument pour livrer docbook-xsl à terme. L'aide libsecret de git demandait TROIS endroits, dont un sur deux lignes. La première version a affirmé « expected one _make, got 2 » et s'est arrêtée — le garde faisant son travail. Remplacer la première ligne de l'installation aurait laissé sa continuation comme commande à part, soit le piège de binutils à nouveau. Assisted-by: Claude Opus 5 |
||
|---|---|---|
| .github/workflows | ||
| arch-kernel | ||
| boot | ||
| patches | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| CODEOWNERS | ||
| Containerfile | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| RELAIS.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.