%define _disable_source_fetch 0 %define debug_package %{nil} %define _build_id_links none Name: kernel-zen Version: 7.1.9 Release: 1.zen1%{?dist} Summary: The Linux Kernel with Zen Patches (for Miri Linux) License: GPL-2.0-only URL: https://github.com/zen-kernel/zen-kernel Source0: https://github.com/zen-kernel/zen-kernel/archive/refs/tags/v7.1.9-zen1.tar.gz BuildRequires: gcc make bc bison flex openssl-devel elfutils-libelf-devel dwarves perl python3 tar xz findutils diffutils kmod hostname patch Requires: coreutils kmod bash %description The Linux kernel with Zen patches, optimized for desktop responsiveness and multimedia workloads, built for Miri Linux without systemd dependencies. %package devel Summary: Development files for building modules for the Zen kernel Requires: gcc make bc bison flex openssl-devel elfutils-libelf-devel perl python3 findutils %description devel This package provides kernel headers and makefiles sufficient to build modules against the Zen kernel package. %package headers Summary: Header files for the Linux kernel for use by C libraries %description headers Kernel-headers includes the C header files that specify the interface between the Linux kernel and userspace libraries and programs. %prep %setup -q -n zen-kernel-%{version}-zen1 # Prepare kernel config make x86_64_defconfig # Enable key options for Miri Linux (immutable root, containers, Wayland, sound, s6-rc devtmpfs) scripts/config --enable CONFIG_OVERLAY_FS scripts/config --enable CONFIG_BTRFS_FS scripts/config --enable CONFIG_SQUASHFS scripts/config --enable CONFIG_EROFS_FS scripts/config --enable CONFIG_NAMESPACES scripts/config --enable CONFIG_USER_NS scripts/config --enable CONFIG_CGROUPS scripts/config --enable CONFIG_MEMCG scripts/config --enable CONFIG_BLK_CGROUP scripts/config --enable CONFIG_SECCOMP scripts/config --enable CONFIG_SECCOMP_FILTER scripts/config --enable CONFIG_DEVTMPFS scripts/config --enable CONFIG_DEVTMPFS_MOUNT scripts/config --enable CONFIG_DRM scripts/config --enable CONFIG_AGP scripts/config --enable CONFIG_TMPFS_POSIX_ACL scripts/config --enable CONFIG_TMPFS_XATTR scripts/config --enable CONFIG_EFI_STUB scripts/config --enable CONFIG_EFIVAR_FS make olddefconfig %build make %{?_smp_mflags} bzImage modules %install rm -rf %{buildroot} KVER=%{version}-zen1 # Create directories mkdir -p %{buildroot}/boot mkdir -p %{buildroot}/lib/modules/${KVER} # Install kernel image cp arch/x86/boot/bzImage %{buildroot}/boot/vmlinuz-${KVER} chmod 755 %{buildroot}/boot/vmlinuz-${KVER} cp System.map %{buildroot}/boot/System.map-${KVER} cp .config %{buildroot}/boot/config-${KVER} # Install modules make %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install # Remove build and source symlinks for now or re-create for devel rm -f %{buildroot}/lib/modules/${KVER}/build rm -f %{buildroot}/lib/modules/${KVER}/source # Install headers make %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install # Prepare devel package mkdir -p %{buildroot}/usr/src/kernels/${KVER} cp -a .config %{buildroot}/usr/src/kernels/${KVER}/.config cp -a Module.symvers %{buildroot}/usr/src/kernels/${KVER}/Module.symvers 2>/dev/null || touch %{buildroot}/usr/src/kernels/${KVER}/Module.symvers cp -a System.map %{buildroot}/usr/src/kernels/${KVER}/System.map cp -a Makefile %{buildroot}/usr/src/kernels/${KVER}/Makefile cp -a include %{buildroot}/usr/src/kernels/${KVER}/include cp -a scripts %{buildroot}/usr/src/kernels/${KVER}/scripts cp -a arch/x86/include %{buildroot}/usr/src/kernels/${KVER}/arch/x86/include 2>/dev/null || : cp -a arch/x86/Makefile %{buildroot}/usr/src/kernels/${KVER}/arch/x86/Makefile 2>/dev/null || : # Link /lib/modules/${KVER}/build to /usr/src/kernels/${KVER} ln -s /usr/src/kernels/${KVER} %{buildroot}/lib/modules/${KVER}/build # Clean unnecessary files in headers/devel find %{buildroot}/usr/include -name '.install' -delete find %{buildroot}/usr/include -name '..install.cmd' -delete %post /sbin/depmod -a %{version}-zen1 || : %postun /sbin/depmod -a %{version}-zen1 || : %files /boot/vmlinuz-%{version}-zen1 /boot/System.map-%{version}-zen1 /boot/config-%{version}-zen1 /lib/modules/%{version}-zen1/ %exclude /lib/modules/%{version}-zen1/build %files devel /usr/src/kernels/%{version}-zen1 /lib/modules/%{version}-zen1/build %files headers /usr/include/* %changelog * Sat Aug 23 2025 Miri Linux Team - 7.1.9-1.zen1 - Initial build of Linux 7.1.9-zen1 for Miri Linux without systemd