J'ai accidentellement supprimé mon fichier .config pour la configuration de mon noyau sous Linux et je me souviens bien qu'il existait un moyen de récupérer la configuration du noyau via le système de fichiers proc d'une manière ou d'une autre.
Est-ce toujours possible, et si oui comment le ferais-je?
Selon votre système, vous le trouverez dans l'un de ces éléments:
/proc/config.gz
/boot/config
/boot/config-$(uname -r)
et peut-être plus d'endroits.
Pour un noyau en cours d’exécution, l’un des moyens d’obtenir le fichier de configuration consiste à:
cat /proc/config.gz | gunzip > running.config
ou,
zcat /proc/config.gz > running.config
Alors running.config
contiendra la configuration du noyau Linux en cours d’exécution.
Cependant, cela n’est possible que si votre noyau Linux en cours d’exécution a été configuré avec /proc/config.gz
. La configuration pour cela se trouve dans
General setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gz
La plupart des distributions ne possèdent pas ce jeu de configuration. Ils fournissent des fichiers de configuration du noyau dans leurs packages et se trouvent généralement dans le répertoire /boot/
.
Un peu en retard mais peut-être que ça aide quelqu'un. Je n'avais ni /proc/config.gz
ni /boot/config
ni /boot/config-$(uname -r)
sur mon ordinateur. Je devais exécuter modprobe configs
en tant que root. Alors, /proc/config.gz
était présent
Si vous ne trouvez pas la configuration du noyau dans/boot/ni dans /proc/config.gz, vous pouvez essayer d'extraire ces informations à partir du noyau lui-même.
Dans tout code source du noyau, il existe un script d’extraction de la configuration situé dans scripts/extract-ikconfig
, transmettez au noyau dont vous voulez la configuration en tant que paramètre.
Cette solution ne fonctionnera que si Kernel .config support
a été activé dans le noyau compilé.
Indépendamment de la distribution, vous pouvez exécuter: cat /lib/modules/$(uname -r)/build/.config
Source: https://linux.die.net/man/5/proc (recherche de /proc/config
).