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,否则会导致网络驱动和 TUN/TAP 模块被错杀。
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