目录

Debian 12 编译定制版 CachyOS 内核指南(服务器优化版)

本指南使用标准 64 位 X86 架构配置打底,彻底移除多媒体驱动(显卡、声卡)以缩小内核体积,同时完整保留 CachyOS 的独家底层优化、核心网络栈、TUN/TAP 虚拟网卡以及 Netfilter 防火墙模块,确保 PPP 及网络路由能够完美获取 IP 运行。 我会按步骤分为 环境准备 → 第三方库编译 → 项目配置 → 编译生成


1️⃣ 🛠️ 第一步:安装 Debian 编译依赖链

在开始之前,确保您的 Debian 12 系统已经安装了所有必需的编译和打包工具:

sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev xz-utils git bc tcl-dev debhelper libdw-dev -y

2️⃣ 📦 第二步:获取并解压 CachyOS 源码

进入您的工作目录(例如 /nfs/12),下载官方发布的完整源码包并解压:

# 进入工作目录
cd /nfs/12

# 下载官方完整源码包(以 6.18.34-1 为例)
wget https://github.com

# 解压并进入源码目录
tar -zxvf cachyos-6.18.34-1.tar.gz
cd linux-6.18.34-1

3️⃣ ⚙️ 第三步:初始化高兼容性内核配置

使用标准的 64 位通用配置打底,并修复 Debian 特有的证书签名冲突问题:

# 1. 覆盖并应用标准的 64 位通用基础配置(确保网络组件完整)
cp arch/x86/configs/x86_64_defconfig .config

# 2. 彻底禁用 Debian 证书签名验证(防止编译因缺少本地证书而中断报错)
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS

4️⃣ 🎨 第四步:图形化菜单裁剪(关键步骤)

打开图形化菜单进行定制。注意:切勿运行 make localmodconfig,否则会导致网络驱动和 VPN 模块被错杀。

make menuconfig

🚨 核心配置核对清单(在蓝色菜单中通过键盘操作):

1. 确保开启虚拟网卡(必需)

依次进入:Device Drivers -> Network device support

找到:Universal TUN/TAP device driver support

操作:按空格键确保其前面显示为 [*](编译进内核)或 [M](编译为模块)。

2. 确保开启网络防火墙( 路由/NAT 必需)

依次进入:Networking support -> Networking options

找到:Network packet filtering framework (Netfilter)

操作:确保此大项为 [*],并进入该子菜单,确保 IP: Netfilter Configuration 内的各个基础子项(如 iptables 相关)大部分被勾选。

3. 彻底移除显卡驱动(精简体积)

依次进入:Device Drivers

找到:Graphics support

操作:按空格键将其前面变成 [ ](空白,彻底关闭)。

4. 彻底移除音频驱动(精简体积)

依次进入:Device Drivers

找到:Sound card support

操作:按空格键将其前面变成 [ ](空白,彻底关闭)。

保存退出

按方向键移动到最下方的 < Save >,按回车确认保存为 .config。

连续按 Esc 键彻底退出菜单。


5️⃣ 🏗️ 第五步:开始并行编译与打包

使用所有 CPU 核心进行高速多线程编译(这会自动生成符合 Debian 规范的 .deb 安装包):

# 触发编译。在弹出的 CachyOS 新优化选项 (NEW) 问询时,一律一路按回车(默认选 Y 开启优化)
make -j$(nproc) bindeb-pkg

6️⃣ 💾 第六步:安装新内核与引导切换

编译完成后,回到上一层目录。此时会生成标准的 Deb 安装包。我们只需在服务器上安装内核核心包即可:

# 1. 回到上级目录
cd ..

# 2. 安装内核核心包(体积会比单纯的 15M 略大,因为保留了完整网络栈,但更加普适)
sudo dpkg -i linux-image-6.18.34_6.18.34-2_amd64.deb

# 3. 手动刷新 GRUB 引导菜单
sudo update-grub

# 4. 重启服务器
sudo reboot

7️⃣ 🔍 第七步:验证运行状态

# 查看当前运行的内核版本
uname -r

如果输出显示为 6.18.34,并且您的 PPP 启动后可以顺利拿到虚拟 IP,说明针对服务器分发优化的 CachyOS 内核已经完美编译并部署成功!