%global debug_package %{nil} %global nabu_build_stamp 2608311422 %global uname_r 7.2.0-nabu-senemos-mainline-alpha Name: senemos-nabu-kernel-mainline-alpha Version: 7.2.0 Release: %{nabu_build_stamp}.alpha%{?dist} Summary: Alpha Linux 7.2 mainline SENEMOS kernel for Xiaomi Pad 5 License: GPL-2.0-only AND MIT URL: https://github.com/MCC45TR/nabu-linux-kernel/tree/7.2.0-test ExclusiveArch: aarch64 Source0: linux-nabu-7.2.0-senemos.tar.zst Source1: 91-nabu-mainline-omit-early-xhci.conf Source2: 91-nabu-mainline-late-xhci.conf Source3: nabu-build-stamp BuildRequires: bc BuildRequires: bison BuildRequires: clang BuildRequires: dwarves BuildRequires: elfutils-libelf-devel BuildRequires: flex BuildRequires: kmod BuildRequires: lld BuildRequires: llvm BuildRequires: make BuildRequires: openssl BuildRequires: openssl-devel BuildRequires: perl BuildRequires: python3 BuildRequires: rsync BuildRequires: zstd Requires: nabu-kernel-maintenance-api >= 3 Requires(posttrans): coreutils Requires(postun): kmod Provides: senemos-nabu-kernel-mainline-alpha-build = %{nabu_build_stamp} %description Linux 7.2 Nabu mainline alpha kernel. The PM8150B Type-C VBUS regulator is built in with the TCPM and DWC3 role path so host power is available before the ESP32-S3 CDC device is enumerated. The working stable kernel remains an independent package and physical Nabu validation is still required. %prep [[ '%{nabu_build_stamp}' =~ ^[0-9]{10}$ ]] grep -Fxq '%{nabu_build_stamp}' %{SOURCE3} %setup -q %build export ARCH=arm64 export LLVM=1 export LLVM_IAS=1 export KBUILD_BUILD_USER=senemos export KBUILD_BUILD_HOST=copr mkdir -p build cp senemos/configs/fedora-rawhide-aarch64.config build/.config KCONFIG_CONFIG=build/.config scripts/kconfig/merge_config.sh -m -r -O build \ build/.config senemos/configs/nabu-minimal.config make O=build olddefconfig make O=build -j1 prepare make O=build %{?_smp_mflags} Image qcom/sm8150-xiaomi-nabu.dtb modules %install export ARCH=arm64 export LLVM=1 export LLVM_IAS=1 install -Dm0755 build/arch/arm64/boot/Image %{buildroot}/boot/vmlinuz-%{uname_r} install -Dm0644 build/System.map %{buildroot}/boot/System.map-%{uname_r} install -Dm0644 build/.config %{buildroot}/boot/config-%{uname_r} install -Dm0644 build/arch/arm64/boot/dts/qcom/sm8150-xiaomi-nabu.dtb \ %{buildroot}%{_prefix}/lib/modules/%{uname_r}/dtb/qcom/sm8150-xiaomi-nabu.dtb make O=build modules_install INSTALL_MOD_PATH=%{buildroot}%{_prefix} \ INSTALL_MOD_STRIP=1 DEPMOD=/bin/true rm -f %{buildroot}%{_prefix}/lib/modules/%{uname_r}/build rm -f %{buildroot}%{_prefix}/lib/modules/%{uname_r}/source /usr/sbin/depmod -b %{buildroot}%{_prefix} %{uname_r} install -Dm0644 /dev/null \ %{buildroot}%{_prefix}/lib/senemos-nabu/verbose-uki.d/%{uname_r} install -d -m0755 %{buildroot}%{_prefix}/lib/senemos-nabu/uki-version.d printf '%%s\n' '%{nabu_build_stamp}' > \ %{buildroot}%{_prefix}/lib/senemos-nabu/uki-version.d/%{uname_r} install -Dm0644 %{SOURCE1} \ %{buildroot}%{_prefix}/lib/dracut/dracut.conf.d/91-nabu-mainline-omit-early-xhci.conf install -Dm0644 %{SOURCE2} \ %{buildroot}%{_prefix}/lib/modules-load.d/91-nabu-mainline-late-xhci.conf %check test -s %{buildroot}/boot/vmlinuz-%{uname_r} test -s %{buildroot}%{_prefix}/lib/modules/%{uname_r}/dtb/qcom/sm8150-xiaomi-nabu.dtb test -s %{buildroot}%{_prefix}/lib/modules/%{uname_r}/kernel/drivers/misc/fastrpc.ko grep -Fxq 'CONFIG_LOCALVERSION="-nabu-senemos-mainline-alpha"' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'CONFIG_USB_ACM=y' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'CONFIG_USB_DWC3=y' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'CONFIG_USB_DWC3_QCOM=y' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'CONFIG_TYPEC_QCOM_PMIC=y' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'CONFIG_REGULATOR_QCOM_USB_VBUS=y' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'CONFIG_USB_ROLE_SWITCH=y' %{buildroot}/boot/config-%{uname_r} grep -Fxq 'cdc_acm' %{buildroot}%{_prefix}/lib/modules-load.d/91-nabu-mainline-late-xhci.conf test "$(make O=build -s kernelrelease)" = '%{uname_r}' %posttrans install -d -m0755 /var/lib/nabu-kernel-maintenance/pending.d temporary=$(mktemp /var/lib/nabu-kernel-maintenance/pending.d/.mainline.XXXXXX) printf '%%s\n' '%{uname_r}' >"$temporary" chmod 0644 "$temporary" mv -f "$temporary" /var/lib/nabu-kernel-maintenance/pending.d/mainline %postun if [ "$1" -eq 0 ]; then /usr/sbin/depmod -a || : fi %files /boot/vmlinuz-%{uname_r} /boot/System.map-%{uname_r} /boot/config-%{uname_r} %{_prefix}/lib/modules/%{uname_r}/dtb/qcom/sm8150-xiaomi-nabu.dtb %{_prefix}/lib/modules/%{uname_r}/modules.* %{_prefix}/lib/modules/%{uname_r}/kernel/ %{_prefix}/lib/senemos-nabu/verbose-uki.d/%{uname_r} %{_prefix}/lib/senemos-nabu/uki-version.d/%{uname_r} %{_prefix}/lib/dracut/dracut.conf.d/91-nabu-mainline-omit-early-xhci.conf %{_prefix}/lib/modules-load.d/91-nabu-mainline-late-xhci.conf %changelog * Mon Aug 31 2026 mcc45tr - 7.2.0-%{nabu_build_stamp}.alpha - Build the PM8150B Type-C VBUS regulator into the boot-critical USB path. - Verify built-in DWC3, TCPM, CDC ACM, role-switch and VBUS provider settings.