9 个版本
0.2.0 | 2023 年 2 月 12 日 |
---|---|
0.1.7 | 2023 年 1 月 30 日 |
0.1.3 | 2022 年 12 月 21 日 |
#108 在 #linux-kernel
每月 32 次下载
30KB
585 行
ikconfig
这是 Linux 内核中的 extract-ikconfig 的 Rust 重新实现,用于从内核映像中提取 .config
文件。
这仅在内核使用 CONFIG_IKCONFIG
编译时才有效,在 Arch Linux 上默认启用,但在 Ubuntu 上未启用。
它支持 Linux 内核中的所有 7 种压缩算法
CONFIG_KERNEL_GZIP
CONFIG_KERNEL_BZIP2
CONFIG_KERNEL_LZMA
CONFIG_KERNEL_XZ
CONFIG_KERNEL_LZO
CONFIG_KERNEL_LZ4
CONFIG_KERNEL_ZSTD
先决条件
此软件包要求在安装前系统中有 liblzma
,并且使用 pkg-config
在构建过程中查找 liblzma
和其他库。
Arch Linux
sudo pacman -S pkgconf xz
Ubuntu
sudo apt install pkg-config liblzma-dev
请参阅系统手册了解其他发行版的说明。您可以通过运行以下命令来检查是否已安装 liblzma
$ pkg-config --libs liblzma
并且如果 liblzma
正确安装,它应该输出 -llzma
。
安装
此软件包已发布到 crates.io,因此您可以使用以下命令将 ikconfig
可执行文件安装到 ~/.cargo/bin
目录
cargo install ikconfig
用法
ikconfig <path_of_kernel_image>
提取的配置文件将像原始 shell 脚本一样打印到标准输出。如果需要,请使用输出重定向将其保存为文件,例如。
ikconfig /boot/vmlinuz-linux > .config
测试
此存储库中的集成测试将比较 ikconfig
和 extract-ikconfig shell 脚本的执行时间。后者使用系统命令来完成相应的解压缩,其中大多数都是预安装的,除了 lzop(1),因此您可能需要在运行 cargo test
之前安装它。
Arch Linux
sudo pacman -S lzop
Ubuntu
sudo apt install lzop
许可协议
依赖项
约8–19MB
约261K SLoC