No description
Find a file
Mathieu Benoit 8a41d00a90 [FIX] our flit_core is too new, and savannah would not serve a patch
python-jinja: ERROR Missing dependencies: flit_core<4

flit_core is installed and importable -- 4.0.2. jinja's pyproject.toml pins
flit_core<4, so build refuses before compiling anything. A new shape here, and
the mirror image of one already recorded: libxslt could not be built on the host
because Ubuntu's libxml2 was too OLD; this is our own package being too NEW for
another's ceiling. Both read as a missing dependency and neither is one.
--skip-dependency-check is what Arch's own python-packaging passes for the same
class of reason.

  autoconf-archive: curl: (52) Empty reply from server

The tarball arrives fine from ftpmirror.gnu.org. What fails is one patch from
savannah's cgit /patch/?id= endpoint, which returns nothing while savannah's root
answers 302 -- measured on both, plus 200 and 2463 bytes from a git mirror for
the same commit hash. Asking a mirror for the SAME COMMIT changes where the bytes
come from, not which bytes they are.

Also: pkill -f "[c]url.*autoconf-arc" killed the shell running it, because the
pattern matched that shell's own command line. Fourth time in this port.

--- FR ---

  python-jinja: ERROR Missing dependencies: flit_core<4

flit_core est installé et importable — 4.0.2. Le pyproject.toml de jinja épingle
flit_core<4 : build refuse avant de compiler. Forme nouvelle ici, et miroir d'une
déjà consignée : libxslt ne se bâtissait pas sur l'hôte car le libxml2 d'Ubuntu
était trop ANCIEN ; ici notre propre paquet est trop RÉCENT pour le plafond d'un
autre. Les deux se lisent comme une dépendance manquante, aucune ne l'est.
--skip-dependency-check est ce que passe le python-packaging d'Arch pour la même
raison.

  autoconf-archive: curl: (52) Empty reply from server

L'archive arrive très bien de ftpmirror.gnu.org. Ce qui échoue est un correctif
tiré du point /patch/?id= de cgit chez savannah, qui ne renvoie rien alors que la
racine de savannah répond 302 — mesuré sur les deux, plus 200 et 2463 octets
depuis un miroir git pour le même commit. Demander le MÊME COMMIT à un miroir
change d'où viennent les octets, pas lesquels.

Aussi : pkill -f "[c]url.*autoconf-arc" a tué le shell qui l'exécutait, son motif
correspondant à la ligne de commande de ce shell. Quatrième fois dans ce portage.

Assisted-by: Claude Opus 5
2026-08-23 19:27:14 -04:00
.github/workflows making the house a home 2026-01-27 23:26:31 +01:00
arch-kernel making the house a home 2026-01-27 23:26:31 +01:00
boot making the house a home 2026-01-27 23:26:31 +01:00
patches [FIX] our flit_core is too new, and savannah would not serve a patch 2026-08-23 19:27:14 -04:00
scripts [FIX] our flit_core is too new, and savannah would not serve a patch 2026-08-23 19:27:14 -04:00
.env.example [ADD] upstream.lock, and keep the machine out of the repository 2026-08-22 22:52:04 -04:00
.gitignore making the house a home 2026-01-27 23:26:31 +01:00
CODEOWNERS making the house a home 2026-01-27 23:26:31 +01:00
Containerfile making the house a home 2026-01-27 23:26:31 +01:00
LICENSE use arch kernel patches 2025-06-02 21:53:33 +02:00
Makefile making the house a home 2026-01-27 23:26:31 +01:00
README.md making the house a home 2026-01-27 23:26:31 +01:00
RELAIS.md [ADD] upstream.lock, and keep the machine out of the repository 2026-08-22 22:52:04 -04:00
TODO.md [FIX] help2man was uninstallable, which stopped the whole pass 2026-08-21 00:33:07 -04:00

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.