ikconfig 0.1.7

A CLI utility to extract the .config file from a kernel image.
ikconfig-0.1.7 is not a library.

ikconfig

This is a Rust re-implementation of extract-ikconfig from Linux kernel, to extract the .config file from a kernel image.

This will only work when the kernel was compiled with CONFIG_IKCONFIG.

Pre-installation

This crate requires liblzma being present in the system before installation and pkg-config is used to find liblzma and other libraries during the build.

Arch Linux

sudo pacman -S pkgconf xz

Ubuntu

sudo apt install pkg-config liblzma-dev

Please refer to system manuals for other distributions. You can check if liblzma is installed by running:

$ pkg-config --libs liblzma

And it should output -llzma if liblzma is correctly installed.

Install

This crate has been published onto crates.io, so you can use the following command to install ikconfig executable in ~/.cargo/bin directory:

cargo install ikconfig

Usage

ikconfig /boot/vmlinuz-linux

The extracted config file will be printed on standard output as the original shell script does. Please use output redirection to save as a file if needed:

ikconfig /boot/vmlinuz-linux > .config

Limitations

  • LZO decompression is unimplemented

I haven't managed to make LZO decompression working yet, so if the kernel is compiled with CONFIG_KERNEL_LZO, ikconfig won't work. Please use the shell script extract-ikconfig from Linux kernel for now.

License

This project is licensed under GPL-3.0 or MIT license.