I accidentally deleted my .config for my kernel configuration on Linux, and seem to remember there was a way to retrieve the kernel configuration via the proc filesystem somehow.
Is this still possible, and if so how would I do it?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityDepending on your system, you'll find it in any one of these:
/proc/config.gz/boot/config/boot/config-$(uname -r)and possibly more places.
/boot/config. I'll go ahead and add these to the list - thanks for reminding me.
– new123456
May 23 '11 at 20:15
For an actual running kernel, one way to get the config file this is to
cat /proc/config.gz | gunzip > running.config
or,
zcat /proc/config.gz > running.config
Then running.config will contain the configuration of the running linux kernel.
However this is only possible if your running linux kernel was configured to have /proc/config.gz. The configuration for this is found in
General setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gzMost distributions do not have this configuration set. They provide kernel config files in their kernel packages and is usually found in /boot/ directory.
CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC, if you're grepping for them.
– chronospoon
Mar 26 '15 at 18:34
zless worked
– Gavin S. Yancey
Jan 22 at 21:24
A Little bit late but maybe it helps someone. I didn't have /proc/config.gz nor /boot/config nor /boot/config-$(uname -r) on my Computer. I had to run modprobe configs as root. Then, /proc/config.gz was present
FATAL: Module configs not found. on OMV 2.2 (Debian Wheezy) so glad they provided it in /boot/config-$(uname -r)
– tuk0z
Apr 12 '16 at 11:42
Regardless of the distribution, you can run: cat /lib/modules/$(uname -r)/build/.config
Source: proc(5) man page (search for /proc/config.gz).
If you couldn't find kernel configuration in /boot/ nor in /proc/config.gz, you can try extracting this information from the kernel itself.
Inside any kernel source code there is a script for extracting config located in scripts/extract-ikconfig, pass the kernel you want its configuration as parameter to this script.
This solution will only work if Kernel .config support was enabled in the compiled kernel.
For RedHat-based distributions, the .config file of the off-the-shelf kernel can be found with the command cat /lib/modules/$(uname -r)/build/.config that's available after the package kernel-devel is installed using the command:
yum -y install kernel-devel
Note that with the real Red Hat Enterprise Linux distribution, you will need to enable the source-repository to get this package. On RHEL8, use the following command to do that:
subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms
If you can't find any of the suggested files and you are able to modprobe you should almost always be able to get a copy of the current config this way.
modprobe configs # might need `sudo modprobe configs`
# This will create /proc/config.gz
zcat /proc/config.gz
# Or if you are looking for whether a specific option was set
zgrep USBIP /proc/config.gz
Jun 27 '11 at 16:19. Don't think he's going to be accepting anything. – DanteTheEgregore Oct 2 '13 at 14:49