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 操作系统
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