archlinux-s390x/arch-kernel
2025-06-02 21:53:33 +02:00
..
config-s390x use arch kernel patches 2025-06-02 21:53:33 +02:00
PKGBUILD-s390x use arch kernel patches 2025-06-02 21:53:33 +02:00
README.md use arch kernel patches 2025-06-02 21:53:33 +02:00

Arch Linux Kernel Build for s390x

This directory contains the infrastructure for building the Arch Linux kernel for IBM s390x mainframe architecture.

Overview

The Arch Linux kernel build process has been adapted for cross-compilation to s390x. This maintains compatibility with Arch Linux's kernel patches and configuration while targeting mainframe hardware.

Files

  • PKGBUILD-s390x - Modified PKGBUILD for s390x cross-compilation
  • config-s390x - Kernel configuration optimized for s390x with Arch Linux defaults
  • linux/ - Clone of Arch Linux kernel packaging repository (reference only)

Key Differences from Standard Arch Kernel

  1. Cross-compilation: Uses s390x-linux-gnu-gcc toolchain
  2. Architecture-specific config: Includes s390x drivers (DASD, QETH, channel I/O)
  3. No documentation build: Skipped for cross-compilation efficiency
  4. s390x boot image: Uses arch/s390/boot/bzImage instead of x86 boot image

Building

From the project root:

# Build Arch Linux kernel with patches
make arch-kernel

# Or build vanilla kernel (without Arch patches)
make kernel

Configuration

The config-s390x file includes:

  • Standard Arch Linux kernel features (systemd requirements, cgroups, namespaces)
  • s390x hardware support (DASD storage, QETH networking, z/VM integration)
  • IBM mainframe specific drivers and console support
  • Security features (SELinux, AppArmor, BPF)

Kernel Versions

The build process tracks the official Arch Linux kernel version and applies the same patches used in the x86_64 build.

Integration with Project

The built kernel integrates with the existing mkinitcpio-based initramfs generation to create a complete bootable s390x system.

Future Improvements

  • Automated patch retrieval for new kernel versions
  • Integration with Arch Linux package repository
  • Native s390x package building (when hardware available)