Sleepstars 的记录室

Sleepstars 的记录室

Debian 13 更换 Xanmod 内核(采用新版 Deb822)

2
2025-09-04

零、XanMod Kernel 介绍

XanMod 是一个针对桌面与游戏等低延迟场景优化的通用 Linux 内核分支,提供主线、LTS 与实时(RT)等多种构建,并针对 x86-64-v2/v3 指令集做了额外优化。XanMod 官方仓库面向 64 位(amd64)Debian 系列发行版,当前明确支持 bookworm、trixie(Debian 13)等多种代号版本。

https://xanmod.org/

自 Debian 13 起,APT 官方推荐把传统的 sources.list 一行式源切换到 Deb822.sources 新格式,APT 还会提示你可以运行 apt modernize-sources 进行迁移。因此,下面所有示例都采用 Deb822 写法。关于 Deb822 的字段与语法,可参考 Debian 文档进行编写。

除了 XanMod 之外,其实均建议使用 Deb822 写法,这种写法可以很好的保证 sources 的可读性。

一、准备环节

  1. 确认系统代号(应为 trixie):

. /etc/os-release && echo "$VERSION_CODENAME"
  1. 建议先安装常用工具:

sudo apt update
sudo apt install --no-install-recommends curl ca-certificates gpg lsb-release
  1. 检测你的 CPU 支持的 x86-64 psABI 等级,以选择合适的内核包(例如 x64v2 / x64v3):

有时候新机器滚挂了就是因为采用了 v3/v4 ABI 等级的内核,在 v2 等级的 CPU 上启动了,所以务必检查这一步(尤其是在一些老旧机型上)

curl -fsSLO https://dl.xanmod.org/check_x86-64_psabi.sh

chmod +x check_x86-64_psabi.sh && ./check_x86-64_psabi.sh

XanMod 官方提供该检测脚本,并在页面内给出了各 psABI 等级与 CPU 代际的对应关系。

有的时候一些公有云厂商会被 Xanmod 拉黑 IP(例如 OVH 等),你可以使用为在 GitHub 上的备份

# 中国大陆以外机器使用原 GitHub 地址
curl -fsSLO https://github.com/Sleepstars/SZU_Utils/raw/refs/heads/main/Xanmod/check_x86-64_psabi.sh
# 中国大陆的机器使用加速地址
https://xget.xi-xu.me/gh/https://github.com/Sleepstars/SZU_Utils/raw/refs/heads/main/Xanmod/check_x86-64_psabi.sh

chmod +x check_x86-64_psabi.sh && ./check_x86-64_psabi.sh

图 ABI 检查结果为 V2 的实例

例如此图,为 ABI 检查结果为 V2 的实例。

# 更新,可以采用
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --help | grep -i 'supported'

输出中会列出“supported”的最高等级,比如看到有 x86-64-v3 就装 linux-xanmod-x64v3,看到有 x86-64-v4 就装 ...-x64v4

二、添加 XanMod 仓库(Deb822 新格式

XanMod 官方当前给出的快速指南仍以 .list 示例为主;我们在 Debian 13 上改写为 Deb822.sources 文件,同时沿用其 keyring 路径与支持的发行版代号。

  1. 导入并固定 XanMod 仓库公钥(存放到 APT 建议的 keyrings 目录):

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://dl.xanmod.org/archive.key | sudo gpg --dearmor -o /etc/apt/keyrings/xanmod-archive-keyring.gpg
sudo chmod 0644 /etc/apt/keyrings/xanmod-archive-keyring.gpg

# 如果下载失败了,可以直接用 GitLab 的镜像拿公钥并 dearmor
curl -fsSL https://gitlab.com/afrd.gpg \
  | gpg --dearmor -o /etc/apt/keyrings/xanmod-archive-keyring.gpg
chmod 0644 /etc/apt/keyrings/xanmod-archive-keyring.gpg
  1. Deb822 创建 /etc/apt/sources.list.d/xanmod.sources
    (会自动读取系统代号;仓库仅提供 amd64,因此顺带限定架构)

CODENAME="$(. /etc/os-release; echo "$VERSION_CODENAME")"
sudo tee /etc/apt/sources.list.d/xanmod.sources >/dev/null <<EOF
Types: deb
URIs: http://deb.xanmod.org
Suites: ${CODENAME}
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/xanmod-archive-keyring.gpg
EOF

三、安装合适的 XanMod 内核

  1. 选择并安装(示例:大多数 2015 年后 CPU 选 x64v3):

# 主线优化构建(建议多数现代桌面/游戏)
sudo apt update && sudo apt install linux-xanmod-x64v3

# 其他常见变体(按需二选一)
# sudo apt install linux-xanmod-x64v2     # 较老的 x86-64-v2 平台
# sudo apt install linux-xanmod-x64v4     # 很新的 x86-64-v4 平台
# sudo apt install linux-xanmod-lts-x64v3 # 长期支持分支
# sudo apt install linux-xanmod-rt-x64v3  # 实时(PREEMPT_RT)内核
# sudo apt install linux-xanmod-edge-x64v3# 更前沿的 EDGE 构建
  1. 重启并验证:

sudo reboot
# 重启后
uname -r
# 验证是否更换成功

四、Secure Boot 与 DKMS 模块的注意事项(重要)

  1. Secure Boot:如果启用了 UEFI Secure Boot,第三方或自编译内核/模块在未签名时可能被拒绝加载;必要时你需要关闭 Secure Boot,或按照 Debian 文档为镜像/模块进行本地签名(MOK)。

https://wiki.debian.org/SecureBoot
  1. DKMS / 专有驱动兼容:某些 dkms 模块(如 NVIDIA、VirtualBox、ZFS 等)可能暂时不支持最新内核;遇到问题可改装 LTS/RT 构建或等驱动更新)

五、回滚到 Debian 默认内核

  1. 在 GRUB 启动菜单选择“Advanced options for Debian”,进入旧的(非 XanMod)内核。

  2. 登录后卸载 XanMod(不会影响别的包):

sudo apt remove --purge 'linux-xanmod*'
sudo update-grub
sudo reboot

至此,你已经在 Debian 13(Trixie) 上,使用 Deb822 新源格式规范地添加了 XanMod 仓库,完成了内核安装与验证。遇到驱动或 Secure Boot 的边角问题,优先参考上文“注意事项”,必要时切回 LTS 或默认内核,稳定优先。