#kernel #build #install #version #source #system #builder

bin+lib kernel-builder

从可用源中选择内核版本,构建和安装

12 个版本

0.3.0 2024年7月21日
0.2.3 2023年11月18日
0.2.2 2023年10月19日
0.1.9 2023年7月30日
0.1.3 2023年3月25日

#164 in 操作系统

Download history 4/week @ 2024-07-04 103/week @ 2024-07-18 14/week @ 2024-07-25

117 每月下载量

自定义许可证

19KB
381

内核构建器

内核构建器是一个用 Rust 编写的应用程序,它扫描配置目录中可用的内核源代码,允许您选择要构建的内核,以及安装模块,将编译好的内核复制到引导分区,以及生成必要的 initramfs。

先决条件

  • 基本的内核配置和编译知识
  • 要使用 initramfs 生成,您必须启用 dracut 功能,并且 dracut 必须已安装到您的系统上

安装

git clone https://github.com/koopa1338/kernel-builder
cd kernel-builder
cargo install --path .

或者使用 cargo install 从 crates.io 安装它

cargo install kernel-builder

您还需要一个配置了所需路径的 config.toml,存储在 $HOME/.config/kernel-builder/config.toml

kernel = "/boot/vmlinuz-linux"
initramfs = "/boot/initramfs-linux" # Optional, only needed if `dracut` feature is enabled
kernel-config = "/usr/src/.config"
kernel-src = "/usr/src"

用法

如果正确设置,您只需运行 kernel-builder 即可,如果尚未以 root 用户运行,它应请求 root 权限。您可以通过设置以 KB_ 为前缀的环境变量来覆盖选项。例如,要覆盖内核路径

KB_KERNEL=/boot/efi/vmlinuz-linux-lts kernel-builder

待办事项

  • 支持命令行选项以跳过提示
  • 支持引导加载程序更新(例如 update-grub
  • 支持 genkernel 作为 dracut 的替代方案用于 initramfs
  • 在复制到引导文件夹之前,备份旧的内核和 ramfs 为回滚版本
  • 添加当前已安装内核版本的指示器
  • CLI 标志用于打开 make menuconfig

贡献

仍有改进的空间,因此如果您想为此项目做出贡献,请随时提交拉取请求或打开一个问题。

许可证

此脚本根据 EUPL 许可证发布。有关更多信息,请参阅 LICENSE 文件。

依赖关系

~4–12MB
~126K SLoC