Angesichts einer Liste von Kernel-Funktionen möchte ich eine minimale Linux-Konfiguration erstellen, die alle angegebenen Funktionen (und die entsprechenden Abhängigkeiten) unterstützt, aber sonst nichts.
Gibt es eine Möglichkeit, eine Allnoconfig und ein Tool zu erstellen, um Funktionen einzeln zu aktivieren?
(Ich könnte die .config
Datei bearbeiten , aber dies würde die Abhängigkeiten nicht richtig machen. Ich könnte sie verwenden make *config
, aber soweit ich weiß, funktionieren diese nur interaktiv oder erstellen eine Standardkonfiguration.)
Antworten:
Wenn Sie dies nicht interaktiv tun müssen, können Sie möglicherweise make oldconfig oder make olddefconfig verwenden. make * config behebt die Abhängigkeiten und diese sind nicht so ausführlich wie beispielsweise menuconfig. (Andernfalls ist menuconfig vollkommen in Ordnung, um Funktionen einzeln zu aktivieren, es enthält sogar die Hilfetexte!)
make oldconfig fragt nach 'neuen' Konfigurationsoptionen. Wenn Sie nicht interaktiv arbeiten möchten, müssen Sie Kommentare wie diese für deaktivierte Optionen einfügen:
make olddefconfig hingegen scheint nicht zu fragen, sondern verwendet einen Standardwert. Es gibt auch quietoldconfig, aber es fragt in einigen Fällen auch, also ist es nicht so still.
von make help:
Haftungsausschluss: Ich habe nur den trivialen Test versucht, die Optionen für einige Bibliotheken zu entfernen, von denen ich weiß, dass sie benötigt werden. Sie wurden von olddefconfig und oldconfig wieder hinzugefügt. Ich weiß nicht, wie dies für eine größere Konfiguration gilt.
Ich nehme an, Sie haben bereits darüber nachgedacht, make localmodconfig oder ähnliches zu verwenden, bevor Sie damit beginnen? Ich habe seit Jahren nicht mehr versucht, eine minimale Konfiguration zu erstellen, aber ich erinnere mich an einige nicht offensichtliche Möglichkeiten, völlig unbrauchbare Kernel zu erstellen. :) :)
quelle
Seit Kernel 2.6.29 gibt es ein Skript, das Sie finden können
/kernel_extracted_dir/scripts/config
Zum Beispiel
(Um Kredit zu geben, wo es fällig ist, habe ich das Beispiel aus diesem Blog genommen )
Sie haben die folgenden Optionen (aus der Hilfe kopiert)
quelle