%global debug_package %{nil} %global __brp_strip /bin/true %global __brp_strip_static_archive /bin/true %global __brp_strip_comment_note /bin/true %global _lto_cflags %{nil} # Match Alpine's patch context tolerance for the imported 7.2 patch series. # Patch failure still aborts preparation; never silently skip a hunk. %global _default_patch_fuzz 2 Name: kernel-azurefin Version: 7.2 Release: %{?azurefin_release}%{!?azurefin_release:2}%{?dist} Summary: Surface Laptop 7 13-inch kernel for Azurefin License: GPL-2.0-only URL: https://github.com/Xelef2000/azurefin-linux Source0: https://git.kernel.org/torvalds/t/linux-%{version}.tar.gz Source1: config-microsoft-romulus.aarch64 Patch1: 0001-dma-qcom-gpi-add-qspi.patch Patch2: 0002-spi-geni-qcom-add-qspi.patch Patch3: 0003-hid-doc-fix-output-report-description.patch Patch4: 0004-hid-add-bus-spi.patch Patch5: 0005-hid-spi-hid-transport-skeleton.patch Patch6: 0006-hid-spi-hid-layer.patch Patch7: 0007-hid-spi-hid-protocol.patch Patch8: 0008-hid-spi-hid-tracing.patch Patch9: 0009-hid-spi-hid-acpi.patch Patch10: 0010-hid-spi-hid-devicetree.patch Patch11: 0011-dt-bindings-hid-over-spi.patch Patch12: 0012-hid-spi-hid-power-management.patch Patch13: 0013-hid-spi-hid-panel-follower.patch Patch14: 0014-hid-spi-hid-full-duplex.patch Patch15: 0015-arm64-dts-qcom-romulus-add-qspi-touch.patch Patch16: 0016-wifi-ath12k-disable-rfkill.patch Patch17: 0017-usb-typec-ps883x-keep-retimer-powered.patch Patch18: 0018-power-supply-qcom-battmgr-x1e-capacity.patch Patch19: 0019-wifi-ath12k-handle-station-ps-in-vif-cfg.patch Patch20: 0020-arm64-dts-qcom-hamoa-add-rpmh-stats-qmp.patch Patch21: 0021-pci-qcom-lower-opp-when-link-is-down.patch Patch22: 0022-dma-qcom-gpi-match-completions.patch Patch23: 0023-spi-geni-qcom-preserve-qspi-event-state.patch Patch24: 0024-dma-qcom-gpi-order-ring-access.patch Patch25: 0025-arm64-dts-qcom-hamoa-camcc.patch Patch26: 0026-phy-qcom-mipi-csi2.patch Patch27: 0027-media-camss-legacy-phy-flag.patch Patch28: 0028-media-camss-phy-api.patch Patch29: 0029-media-camss-x1e-phy-api.patch Patch30: 0030-arm64-dts-qcom-hamoa-cci.patch Patch31: 0031-arm64-dts-qcom-hamoa-camss.patch Patch32: 0032-arm64-dts-qcom-romulus-camera.patch Patch33: 0033-media-camera-backport-cleanups.patch ExclusiveArch: aarch64 BuildRequires: clang >= 22 BuildRequires: llvm BuildRequires: lld BuildRequires: rust >= 1.97 BuildRequires: rust-src BuildRequires: rustfmt BuildRequires: bindgen-cli BuildRequires: make gcc binutils bc bison flex perl python3 BuildRequires: openssl openssl-devel elfutils-libelf-devel dwarves BuildRequires: kmod findutils diffutils zstd rsync cpio Provides: kernel = %{version}-%{release} Provides: kernel-core = %{version}-%{release} Requires: kmod %description Experimental Romulus kernel, ported from the pmOS 7.2-r14 patch set. Includes SPI-HID/GPI fixes, charging/USB, Wi-Fi and battery reporting work. For bootc image assembly only: initramfs and bootloader configuration belong to the image build. This package does not modify the running bootloader. %prep %autosetup -n linux-%{version} -p1 cp %{SOURCE1} .config # Preserve the hardware baseline; only change release identity and add the # filesystem integrity facility used by modern image-based installations. scripts/config --set-str LOCALVERSION "-azurefin.%{release}" scripts/config --disable LOCALVERSION_AUTO --enable FS_VERITY scripts/config --module VIDEO_OV02C10 --module PHY_QCOM_MIPI_CSI2 make ARCH=arm64 LLVM=1 olddefconfig %build unset LDFLAGS CFLAGS CXXFLAGS make ARCH=arm64 LLVM=1 %{?_smp_mflags} \ KBUILD_BUILD_USER=azurefin KBUILD_BUILD_HOST=copr \ KBUILD_BUILD_VERSION=1 Image modules dtbs %install kver=$(make -s ARCH=arm64 LLVM=1 kernelrelease) make ARCH=arm64 LLVM=1 INSTALL_MOD_PATH=%{buildroot}/usr \ INSTALL_MOD_STRIP=1 modules_install # bootc's canonical kernel/initramfs location, not mutable /boot. install -m0644 arch/arm64/boot/Image %{buildroot}/usr/lib/modules/"$kver"/vmlinuz install -m0644 .config %{buildroot}/usr/lib/modules/"$kver"/config install -m0644 System.map %{buildroot}/usr/lib/modules/"$kver"/System.map make ARCH=arm64 LLVM=1 \ INSTALL_DTBS_PATH=%{buildroot}/usr/lib/modules/"$kver"/dtb dtbs_install rm -f %{buildroot}/usr/lib/modules/"$kver"/build \ %{buildroot}/usr/lib/modules/"$kver"/source depmod -b %{buildroot}/usr "$kver" %check grep -qx CONFIG_SECURITY_SELINUX=y .config grep -qx CONFIG_EFI_STUB=y .config grep -qx CONFIG_HOTPLUG_PCI_PCIE=y .config grep -qx CONFIG_FS_VERITY=y .config grep -qx CONFIG_VIDEO_OV02C10=m .config grep -qx CONFIG_PHY_QCOM_MIPI_CSI2=m .config test -s arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb test -s arch/arm64/boot/Image # Retain the machine driver's upstream amplifier limits, independent of UCM. grep -Fq 'snd_soc_limit_volume(card, "WSA WSA_RX0 Digital Volume", 81);' sound/soc/qcom/x1e80100.c grep -Fq 'snd_soc_limit_volume(card, "WSA WSA_RX1 Digital Volume", 81);' sound/soc/qcom/x1e80100.c grep -Fq 'snd_soc_limit_volume(card, "SpkrLeft PA Volume", 6);' sound/soc/qcom/x1e80100.c grep -Fq 'snd_soc_limit_volume(card, "SpkrRight PA Volume", 6);' sound/soc/qcom/x1e80100.c %files %license COPYING LICENSES/preferred/GPL-2.0 /usr/lib/modules/* %changelog * Fri Sep 18 2026 Felix - 7.2-1 - Port pmOS Romulus 7.2-r14 baseline to a bootc kernel RPM