Étant donné une liste de fonctionnalités du noyau, je veux créer une configuration Linux minimale prenant en charge toutes les fonctionnalités données (et les dépendances correspondantes) mais rien d'autre.
Existe-t-il un moyen de créer un allnoconfig et un outil pour activer les fonctionnalités une par une?
(Je pourrais éditer le .config
fichier mais cela n'obtiendrait pas les bonnes dépendances. Je pourrais utiliser make *config
, mais pour autant que je sache, celles-ci ne fonctionnent que de manière interactive ou créent une configuration par défaut.)
Réponses:
Si vous devez le faire de manière non interactive, vous pourrez peut-être utiliser make oldconfig ou make olddefconfig. make * config corrigera les dépendances et celles-ci ne sont pas aussi verbeuses que, disons menuconfig. (Sinon, menuconfig est parfaitement adapté pour activer les fonctionnalités une par une, il inclut même les textes d'aide!)
make oldconfig demandera toutes les «nouvelles» options de configuration, vous devrez donc insérer des commentaires comme celui-ci pour toutes les options désactivées si vous souhaitez travailler de manière non interactive:
make olddefconfig d'autre part ne semble pas demander, mais utilise une valeur par défaut. Il y a aussi silentoldconfig, mais il demande aussi dans certains cas, donc ce n'est pas si silencieux.
de faire de l'aide:
Avertissement: j'ai seulement essayé le test trivial de suppression des options pour certaines bibliothèques dont je sais qu'elles étaient nécessaires. Ils ont été rajoutés par olddefconfig et oldconfig. Je ne sais pas comment cela s'applique à faire une configuration plus grande.
Dans tous les cas, je suppose que vous avez déjà envisagé d'utiliser make localmodconfig ou quelque chose comme ça avant de commencer? Je n'ai pas essayé de faire une config minimale depuis des années, mais il me semble me souvenir qu'il y avait des façons plutôt évidentes de créer des noyaux totalement inutilisables. :)
la source
Depuis le noyau 2.6.29, il existe un script que vous pouvez trouver dans
/kernel_extracted_dir/scripts/config
Par exemple
(Pour rendre hommage où cela est dû, j'ai pris l'exemple de ce blog )
Vous avez les options suivantes (copiées depuis l'aide)
la source