La make localmodconfig
commande est toujours le bon outil pour le travail. En fait make localmodconfig
courtscripts/kconfig/streamline_config.pl
.
Entrée de fichier
Lors de la lecture du streamline_config.pl
code source (perl), il existe une fonctionnalité non documentée my $lsmod_file = $ENV{'LSMOD'};
qui permet l'entrée de fichier pour la détection du module chargé au lieu de la sortie de la lsmod
commande.
CD en direct
Parce que localmodconfig utilise la sortie lsmod
pour détecter les modules chargés. Nous exécutons un Ubuntu Live CD sur chacune des différentes configurations matérielles, ouvrons un terminal ( Ctrl+ Alt+ T), exécutons lsmod
et sauvegardons sa sortie.
Sortie concaténée
En concaténant les lsmod
fichiers de sortie tout en supprimant les lignes d'en-tête consécutives, vous pouvez rapidement créer un fichier d'entrée qui couvre tous vos modules de noyau requis. Nous aimons revoir la liste des modules à la main et utiliser une recette plus manuelle:
$ cd linux-3.11.0/
ou allez dans le répertoire où vous exécuterez votre commande make
$ lsmod > lsmod.txt
crée un fichier texte avec vos modules chargés
$ nano lsmod.txt
ouvrira l'éditeur de texte nano, bien sûr, vous pouvez utiliser votre application d'édition préférée
Ajoutez vos modules souhaités qui ne sont pas déjà là, au bas de ce fichier (voir pour un exemple le bas de cette réponse), et enregistrez-le lorsque vous êtes prêt.
Remarque: utilisez des espaces et non des tabulations pour faire correspondre les positions de tabulation des colonnes.
$ make LSMOD="lsmod.txt" localmodconfig
cela indiquera à localmodconfig d'utiliser votre fichier lsmod.txt comme entrée pour la détection des modules chargés
En ce qui concerne Steven Rostedt - l'auteur de steamline_config.pl - pour avoir suggéré une notation plus courte à l'étape 5.
Exemple pour ce qu'il faut ajouter et ne pas ajouter à lsmod.txt (étape 4):
Parce que la carte principale Intel D33217CK a des capteurs thermiques Intel que nous aimerions lire, nous ajoutons ces lignes:
x86_pkg_temp_thermal 13810 0
intel_powerclamp 14239 0
Mais nous ne voulons pas exécuter de machines virtuelles sur ce matériel, c'est pourquoi nous sautons ces lignes:
kvm_intel 128218 0
kvm 364766 1 kvm_intel
Il a un adaptateur Ethernet Gibabit Apple (Broadcom) connecté à son port Thunderbolt, nous ajoutons donc:
tg3 152066 0
ptp 18156 1 tg3
pps_core 18546 1 ptp
Nous pensons que nous n'avons pas besoin de la mise en miroir du volume, et n'ajoutons donc pas:
dm_mirror 21715 0
dm_region_hash 15984 1 dm_mirror
dm_log 18072 2 dm_region_hash,dm_mirror
Et nous n'avons pas non plus besoin de sortie graphique (le texte fera l'affaire sur un serveur sans tête), donc nous n'incluons pas:
i915 589697 3
i2c_algo_bit 13197 1 i915
drm_kms_helper 46867 1 i915
drm 242354 4 i915,drm_kms_helper
Pour une autre machine, nous avons également besoin de ce pilote Ethernet Realtek:
r8169 61434 0
mii 13654 1 r8169