跳到正文
发现
命令行工具开发者工具

linux-tkg:Linux 内核定制编译脚本

一组脚本,自动下载、打补丁并编译 Linux 内核,附带面向桌面和游戏体验的可选补丁与调度器。

admin
发布于 2026-10-31
浏览
3
访问
0
下载
0
版本
v7.3.1
平台
Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

linux-tkg 提供一组脚本,可自动下载、打补丁并编译任意 ≥ 5.4 版本的 Linux 内核。仓库还附带一批可改善桌面与游戏体验的补丁,其中大多数可以通过编辑 customization.cfg 或跟随交互式安装脚本进行开关。

主要功能

内核定制开关(位于 customization.cfg):

  • _timer_freq:定时器频率,取决于调度器
  • _cpusched:选择不同的 CPU 调度器
  • _processor_opt:针对指定 CPU 优化编译代码,例如 znver4
  • _compileroptlevel:使用 GCC 或 Clang,并可附加 O2/O3
  • _lto_mode:仅 Clang,启用 LTO 编译优化

精简模块,缩短编译时间:

  • _kernel_on_diet:使用现成的精简模块列表
  • 高级用户可通过 _modprobeddb 和 _modprobeddb_db_path 使用自定义模块列表(不推荐;列表过短可能导致内核无法启动或运行时缺少模块)

NTsync 与 Fsync 支持,包括本身不带这些特性的旧内核版本;可能需要配合打过补丁的 wine(见 wine-tkg)。

CPU 调度器:

  • 运行时切换:内核 ≥ 6.12 可通过 sched-ext 在运行时切换调度器,并保留内核内置默认调度器作为回退。sched-ext 提供多种调度器,其中 LAVD 面向游戏负载。
  • 构建时切换:可选 BORE(Burst-Oriented Response Enhancer)、Project C / PDS & BMQ、MuQSS、Undead PDS。具体可用项取决所选内核版本,脚本会按版本显示。

自带补丁:在克隆根目录创建 linuxXY-tkg-userpatches 文件夹(如 linux65-tkg-userpatches),设置 _user_patches=true,把补丁以 .mypatch 扩展名放入,安装脚本会找到并逐个询问是否应用。

内核配置:默认基于 Arch 的完整 defconfig 并调整部分 CONFIG 项;可用 _configfile 覆盖基线配置,也可在编译开始前用 make xconfig/menuconfig 修改,并把改动保存为 .myfrag 片段文件放在克隆根目录。

安装与使用

所有支持的发行版都需要用 git 克隆仓库;建议只克隆一次,之后用 git pull 更新(仓库内会保留较大的内核源码副本,位于 linux-src-git)。

Arch 及衍生版:

git clone https://github.com/Frogging-Family/linux-tkg.git
cd linux-tkg
makepkg -si

需要已安装 base-devel 包组。构建时选择的选项会安装到 /usr/share/doc/$pkgbase/customization.cfg。

DEB / RPM 系发行版(Debian、Ubuntu、Fedora、RHEL、SUSE 等):

git clone https://github.com/Frogging-Family/linux-tkg.git
cd linux-tkg
./install.sh install

交互式脚本会生成 .deb 或 .rpm 包,放入 DEBS 或 RPMS 子目录,再询问是否用发行版包管理器安装。

Generic 通用安装:在提示中选择 Generic,或设置 _distro 选项,然后执行 ./install.sh install。脚本编译完成后会询问是否执行:

sudo cp -R . /usr/src/linux-tkg-${kernel_flavor}
cd /usr/src/linux-tkg-${kernel_flavor}
sudo make modules_install
sudo make install

若只想让脚本对 linux-src-git 中的源码打补丁,可用 ./install.sh config。

Gentoo:交互式 install.sh 按与 Generic 相同的流程支持,并有少量额外处理。

注意事项

  • 非 pacman 发行版的支持属于实验性,欢迎反馈问题。
  • 若发行版不使用 systemd,请设置 _configfile="running-kernel",否则可能得到无法启动的内核。
  • 用 GCC 编译较新内核约需 20–25GB 磁盘空间;使用 llvm/clang、LTO、ccache 或在 defconfig 中启用更多驱动会更高。
  • Nvidia 驱动可能需要打补丁才能在新内核上正常编译或工作,可参考 Frogging-Family nvidia-all。
  • Generic 方式安装的文件不被包管理器追踪,卸载需手动处理,可用 ./install.sh uninstall-help 获取提示信息。
  • 使用 make install 会调用 /sbin/installkernel 放置内核并触发生成 initramfs(及 UKI),需按发行版文档配置。
  • 自定义配置的优先级从低到高为:customization.cfg、外部配置文件(_EXT_CONFIG_PATH,默认 ~/.config/frogminer/linux-tkg.cfg)、shell 环境变量。

本作品整理自 GitHub 开源项目 Frogging-Family/linux-tkg,原作者 @Frogging-Family,许可证 GPL-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v7.3.1当前版本

    v7.3.1 是启用 `_kernel_on_diet` 选项构建的内核版本;若使用中遇到问题,建议在本地关闭该选项重新构建内核。

评论