No description
libselinux does not exist in Arch, so its clone 404'd. GitLab answers a 404 by asking for credentials, which is why the log read "could not read Username" rather than "no such project" -- the first wrong culprit. The second was mine. Neither the clone nor the cd that follows it was guarded, so makepkg ran in whatever directory the previous package had left. It rebuilt util-linux, wrote 119 KB of util-linux output into log-libselinux.txt, and copied the artefact back into the repository. The lesson is the repository's oldest one, one level up: an exit code proves nothing, and neither does a log file's name. Verified by checking every log against the "==> Making package:" line inside it. --- FR --- libselinux n'existe pas dans Arch, son clone a donc rendu un 404. GitLab répond à un 404 en réclamant des identifiants : d'où le « could not read Username » du journal, plutôt qu'un « projet inconnu ». Premier faux coupable. Le second était de mon fait. Ni le clone ni le cd qui le suit n'étaient gardés, alors makepkg tournait dans le répertoire laissé par le paquet précédent. Il a reconstruit util-linux, versé 119 ko de sortie util-linux dans log-libselinux.txt, puis recopié l'artefact dans le dépôt. La leçon est la plus ancienne du dépôt, d'un cran plus haut : un code de sortie ne prouve rien, et le NOM d'un journal non plus. Vérifié en confrontant chaque journal à la ligne « ==> Making package: » qu'il porte. 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.