Où puis-je obtenir le fichier .config du noyau 11.04?


15

J'utilise Maverick avec les derniers noyaux disponibles sur kernel.org et je les construis moi-même. Jusqu'à présent, je basais ma configuration sur le noyau Maverick d'origine et acceptais les make oldconfigvaleurs par défaut. Je fais cela depuis 3 versions majeures maintenant, donc je pense que je commence à glisser derrière la "norme" actuelle.

Je voudrais re-baser mes noyaux sur le nouveau .configfichier Natty . Est-ce disponible quelque part en ligne ou dois-je télécharger le package du noyau entier et l'extraire?

Edit: J'ai extrait manuellement la configuration du dernier package du noyau Natty et je peux confirmer que j'aurais probablement dû le faire plus tôt. Beaucoup de différences entre mon ancienne configuration "évoluée" et la configuration par défaut de Natty. Maintenant, si je pouvais le faire sans 20 minutes de chasse et de téléchargement du package afin de pouvoir me re-baser à l'avenir.

Réponses:



30

Chaque linux-imagepackage contient le fichier de configuration exact avec lequel il a été créé /boot/config-*. Pour voir le fichier de configuration du noyau Linux en cours d'exécution, procédez comme suit:

  • less /boot/config-$(uname -r)

J'ai vérifié auprès des gens du noyau Ubuntu (sur Freenode #ubuntu-kernel) et ils ont confirmé ma conviction qu'il n'y a pas vraiment " la configuration", mais elle est en fait construite au moment de la compilation / compilation en incluant un certain nombre de Kconfigfichiers; ceux-ci dépendent de l'architecture exacte et de la cible (bureau / serveur / cloud). Vous devriez pouvoir lire cette (courte) conversation sur:

Une liste de cette variété peut être trouvée en utilisant packages.ubuntu.com et la recherche suivante:

Chasse, autour, il semblerait que le .configsoit également inclus dans les linux-headers-*forfaits. Ce sont des .debfichiers (qui sont de simples .ararchives qui s'ouvriront avec file-roller) et seulement environ 800 Ko chacun. Si vous connaissez la cible, l'architecture et la version particulières que vous recherchez, vous pouvez les récupérer directement dans Launchpad ou dans l'archive elle-même:

  1. archive.ubuntu.com/ubuntu/pool/main/l/linux/ linux-header-2.6 * .deb
  2. puis regarde /usr/src/linux-headers-2.6*/.config

Si vous souhaitez automatiser l'ensemble du processus en une seule commande, vous pouvez essayer ce qui suit; assurez-vous de tout garder sur une seule ligne!

J'espère que cela pourra aider!


Merci d'avoir enquêté là-dessus. Après avoir lu l'irclog, il ne semble pas que je vais obtenir ce que je veux sans téléchargement important. En termes d'automatisation, il est toujours plus facile de saisir le package et de l'extraire /boot-config-*que d'essayer d'émuler la magie qu'ils utilisent pour les autogénérer au moment de la construction. Dommage qu'il n'y ait pas moyen de récupérer un fichier d'un package en ligne (ou est-ce qu'il y en a?)
Oli

Je pense que je vais poser cette question dans une question distincte.
Oli

4

Sur mon système Ubuntu 11.10, la configuration du noyau se trouve dans le fichier '/boot/config-3.0.0-12-generic'.


1
La question est pour 11.04, pas 11.10.
Christopher Kyle Horton

1

Dépôt de noyau Ubuntu Git

Les debian/métadonnées qui contiennent les configurations et l'arborescence du noyau sont suivies à la fois dans un seul référentiel git par version: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

Le repo a alors une balise pour chaque paquet de noyau, par exemple dans mon Ubuntu 18.04, je le paquet linux-image-4.15.0-36-generic, que je devine correspond à l'étiquette: Ubuntu-4.15.0-36.39.

https://help.ubuntu.com/community/Kernel/Compile explique comment compiler le noyau, et donc comment le configurer et comment les configurations sont fusionnées dans la configuration finale.

Les configs semblent toutes être sous debian.master/config/ARCHce qui contient:

config.common.ubuntu
config.common.ports
amd64/config.common.amd64
amd64/config.flavour.generic
amd64/config.flavour.lowlatency

donc je suppose que cela linux-image-4.15.0-36-genericva fusionner config.common.ubuntu, config.common.amd64et config.flavour.generic.

Le script qui effectue la fusion semble être debian / scripts / misc / kernelconfig et il contient le commentaire:

# Merge configs
# We merge config.common.ubuntu + config.common.<arch> +
# config.flavour.<flavour>

TODO: il existe également un debian.master/config/annotationsfichier qui semble contenir la valeur de chaque config pour chaque arch, comment est-ce utilisé?

Quelqu'un devrait confirmer tout cela en exécutant les scripts de construction en mode détaillé, mais je suis paresseux maintenant, vous pouvez construire avec:

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux
cd linux
git checkout Ubuntu-4.15.0-36.39
fakeroot debian/rules clean
debian/rules updateconfigs
fakeroot debian/rules build-generic

J'ai ensuite confirmé que cela produit exactement la même configuration que j'ai localement:

diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic

Notez que le dépôt git du noyau Ubuntu a également des milliers de correctifs au-dessus de Linux en amont, donc obtenir la bonne configuration ne sera pas suffisant pour reproduire le comportement.

Nous pouvons également vérifier que le noyau que nous avons construit correspond à celui empaqueté en regardant le début du dmesgdémarrage, qui contient:

[    0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-amd64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18)

Config dans le .deb

Comme mentionné par d'autres, la configuration complète finale est également présente sous:

/boot/config-4.15.0-36-generic

qui correspondent à chaque image du noyau Linux:

/boot/vmlinuz-4.15.0-36-generic

Ainsi, pour les autres versions, nous pouvons trouver de quel package celles-ci proviennent:

dpkg -S /boot/config-4.15.0-36-generic

qui donne:

linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic

puis vous pouvez simplement télécharger le .debdepuis https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic et l'extraire pour obtenir la configuration:

mkdir config
cd config
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
tar -xvf data.tar.xz
cat ./boot/config-4.15.0-36-generic

Testé dans Ubuntu 18.04.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.