From 2f049a3255a014fb84e590bf0d488a323d2e466e Mon Sep 17 00:00:00 2001 From: remittor Date: Tue, 6 Jan 2026 16:40:08 +0300 Subject: [PATCH] kmod: Add kmods for 6.6 linux kernels (only for ARM64) src: https://github.com/openwrt-xiaomi/kmod-xmir-patcher/releases/tag/v20260106-1313 --- install_ssh.py | 2 +- kmod/xmir_patcher-6.6-arm64-preempt.ko | Bin 0 -> 18104 bytes kmod/xmir_patcher-6.6-arm64.ko | Bin 0 -> 18096 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 kmod/xmir_patcher-6.6-arm64-preempt.ko create mode 100644 kmod/xmir_patcher-6.6-arm64.ko diff --git a/install_ssh.py b/install_ssh.py index f3d4b6c..66b4f93 100644 --- a/install_ssh.py +++ b/install_ssh.py @@ -141,7 +141,7 @@ if bdata and bdata.var: krn_ver = krn_version.split('.') kver = krn_ver[0] + '.' + krn_ver[1] arch = dev.info.cpu_arch - if kver in [ '4.4', '5.4' ] and arch in [ 'armv7', 'arm64', 'mips' ]: + if kver in [ '4.4', '5.4', '6.6' ] and arch in [ 'armv7', 'arm64', 'mips' ]: print(f'Insert patch for bdata partition!') preempt = '-preempt' if 'PREEMPT' in dev.info.linux_stamp.upper() else '' FN_kmod = FN_kmod.format(kver = kver, arch = arch, preempt = preempt) diff --git a/kmod/xmir_patcher-6.6-arm64-preempt.ko b/kmod/xmir_patcher-6.6-arm64-preempt.ko new file mode 100644 index 0000000000000000000000000000000000000000..c3fc29d35250709d64066beb39085c1736a3b915 GIT binary patch literal 18104 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 KIhF~QuKIt3TAN@1 literal 0 HcmV?d00001 diff --git a/kmod/xmir_patcher-6.6-arm64.ko b/kmod/xmir_patcher-6.6-arm64.ko new file mode 100644 index 0000000000000000000000000000000000000000..fb67cfee314e35c8a7d8d957be2f68c41bfb5390 GIT binary patch literal 18096 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