Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA:

make lokalmodconfig 8 Jahre 9 Monate her #1

  • guenbeck
  • guenbecks Avatar Autor
  • Besucher
  • Besucher
Hi, All,

wer weiß, was es mit der make-Option "lokalmodconfig" auf sich hat.
Was macht sie? Hat das mit externer Hardware zu tun?
In den manpages habe ich nichts gefunden, auch bei den Ubuntu Seiten nicht.

Wer kann helfen?

guenbeck

Bitte Anmelden um der Konversation beizutreten.

make lokalmodconfig 8 Jahre 9 Monate her #2

  • helmutturner
  • helmutturners Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 90
  • Dank erhalten: 17
Hallo guenbeck,

das klingt nach einem sehr mächtigen Befehl, mit dem ich also aufgrund seiner weitreichenden und umfangreichen Fähigkeiten vorsichtig sein würde. Wenn ich den zusammengesetzten Befehl richtig deute, würde der Linux-Kernel damit auf lokale Gegebenheiten, also z. B. die Treiber der Hardwarekomponenten und der angeschlossenen Geräte passend gemacht.

Upps, Unterbrechung, ich habe das hier bei Heise-online gefunden:

www.heise.de/open/artikel/Linux-Kernel-massgeschneidert-1402386.html

ausschnitt aus dem Text:

Das bei Linux 2.6.32 eingeführte und maßgeblich von Steven Rostedt entwickelte Make-Target localmodconfig weist einen Ausweg aus diesem Dilemma, denn es greift sich die Konfigurationsdatei des Distributionskernels als Basis und deaktiviert die Konfigurationseinträge für Module, die das jeweilige System nicht benötigt; den Rest der Konfigurationsdatei lässt es unverändert.

Ein "make localmodconfig" erzeugt eine gut zum eigenen System passende Kernel-Konfiguration, die deutlich schneller compiliert als die Konfiguration des Distributions-Kernels. Innerhalb von Sekunden entsteht so eine gut zur eigenen Hardware und der eingesetzten Linux-Distribution passende Konfiguration, bei der der Compiler nur das anfasst, was höchstwahrscheinlich benötigt wird. Ein System mit Intel Core i5-750 kompilierte solch eine Konfiguration in knapp fünfeinhalb Minuten und war damit ungefähr zehn Minuten früher fertig als beim Übersetzen mit der Konfigurationsdatei des Distributionskernels.

und weiter:

Bevor man das Makefile-Target zur Konfiguration aufruft, sollte man alle per USB, FireWire und Co. angebundenen Geräte anschließen und einschalten. Der aktuell laufende Kernel lädt dadurch die zugehörigen Treiber, sodass Localmodconfig die Konfigurationseinträge für diese Treiber eingeschaltet lässt; alle anderen werden deaktiviert. Daher wird möglicherweise selbst der für USB- Datenträger benötigte USB-Storage-Treiber lahm gelegt, wenn dieser Treiber beim Make-Aufruf nicht geladen ist, weil kein USB-Datenträger angeschlossen war.


Ich wäre mit diesem Befehl überaus vorsichtig! :oops: :evil: :ohmy: :unsure:

Du führst ihn aus, steckst irgendwann ein USB-Gerät an, das bis dato unberücksichtigt geblieben ist und schon ist der Ärger da!!!

Alles weitere am kommenden Mittwoch.

lg
helmutturner
„Sagen, was ist“, so steht es in metallenen Lettern in der Eingangshalle des Hamburger SPIEGEL -Gebäudes, ein Ausspruch Rudolf Augsteins, Vermächtnis und Ansporn.
Folgende Benutzer bedankten sich: guenbeck

Bitte Anmelden um der Konversation beizutreten.

Letzte Änderung: von helmutturner.

make lokalmodconfig 8 Jahre 9 Monate her #3

  • klaren
  • klarens Avatar
  • Offline
  • Administrator
  • Administrator
  • JID:klaren@im.kaalug.de
  • Beiträge: 645
  • Dank erhalten: 161
Hallo guenbeck,

es wäre hilfreich, wenn du noch dazu erwähnt hättest, das du einen Kernel kompilieren möchtest.
Es hilft allen sehr, wenn man sein Anliegen möglichst konkret beschreibt.. schließlich möchte man ja auch konkrete Hilfe.
Make ist ein universelles Werkzeug mit dem man quasi alles machen kann. Es wird für das Kompilieren von so ziemlich jeder Software, die in C oder C++ geschrieben ist verwendet - unter anderem auch dem Linux Kernel, der in C programmiert ist.

Warum möchtest du einen Kernel selbst kompilieren? Das ist heute eigentlich nur noch sehr, sehr selten wirklich notwendig. Und dann muss man höchstens ein Kernelmodul (von Propritärer Hardware, dessen Treiber es nicht in den offiziellen Linux Zweig geschafft haben) aber nicht den ganzen Kernel kompilieren.

Leider hat die heutige Systemarichtektur mit initramfs einiges beim Kernelbau verkompliziert. Wenn man die falschen Kerneloptionen auswählt (bzw. vergißt die richtigen auszuwählen) dann bootet zwar der Kernel - Der findet unter Umständen nicht sein Root Filesystem - Das endet dann in einer Kernel Panic.

Generell sind selbstgebaute Kernel eher ein Problem für das System - man muss dem Paketmanager erstmal beibringen, das man keinen fertigen Kernel möchte. Sonst hat man nach dem nächsten Upgrade einfach wieder einen standard Kernel im System.. bei Debian kann man das über Tools regeln, die ein eigenes Kernelpaket mit dem selbstkompilierten Kernel darin mit dpkg installieren. Früher musste ich mir das antun, damit ich Zaptel und ZapHFC Treiber für meine Telefonanlage (Asterisk) hatte. Ich bin nicht traurig, das ich das heute nicht mehr brauche.

Für Lernzwecke macht es allerdings schon Sinn.. Wer autodidaktisch den Aufbau des Systems (auch praktisch) besser verstehen möchte sollte auch mal Kernel (und andere Software) kompiliert haben. Dabei sollte es sich aber besser um ein Experimentalsystem haneln, nichts was man produktiv einsetzen möchte.

Die make Option hat helmutturner ja schon prima beschrieben/zitiert. Ich rate auch davon ab, diese Option zu nutzen. Speziell mit USB weiß man nie was man morgen noch anstecken wird. Das geht dann GARNATIERT nicht mehr "out of the box". Und jedesmal einen Kernel kompilieren, nur weil man ein neues USB Gerät anbinden möchte.. halte ich auch für wenig praktikabel. Ich denke da ärgert man sich nur mit.
Auch toll ist wenn man dann nachher feststellt, das bestimmte andere Dinge plötzlich mit dem eigenen Kernel nicht mehr laufen, weil man die Optionen vergessen hat oder die Standardwerte nicht passten - Soundkarte weg oder Netzwerk weg, oder WLAN weg, oder X11 geht nicht mehr... da gibt es einen HAUFEN Fallen in die man laufen kann.

Das ist genau der Vorteil der Distributionskernel: Da sind alle Prodktivtreiber als Module schon dabei. Man steckt etwas ein und wie ein Wunder läuft es...

Natürlich kann man das auch als ein Sicherheitsfeature verstehen - je weniger Treiber da sind, je weniger Angriffsfläche bietet sich. Aber das ist ein anderes Thema.

Liebe Grüße,
Klaus
Folgende Benutzer bedankten sich: guenbeck

Bitte Anmelden um der Konversation beizutreten.

Letzte Änderung: von klaren.

make lokalmodconfig 8 Jahre 9 Monate her #4

  • guenbeck
  • guenbecks Avatar Autor
  • Besucher
  • Besucher
Hi, Klaus, hi, Helmut,

im Rahmen meiner privaten "Fortbildung" ging es jetzt auch darum, einen Kernel zur Übung zu kompilieren.
Dabei bin ich eben auf "localmodconfig" gestoßen. Ich habe es außerdem nicht wirklich ausprobieren können, sondern habe erfahren, dass keine Regel existiert, um localmodconfig zu erstellen.
Ich habe mich an Euch gewandt, weil ich z. B. bei Uduntu-Wiki oder Kofler nichts gefunden habe.
Außerdem läuft das Ganze ja nur auf meinem Übungsrechner (Laptop), also ohne Risiko.

Vielleicht können wir ja morgen noch kurz darüber sprechen.

Nochmals danke für Eure Zeilen und Liebe Grüße

Günter guenbeck

Bitte Anmelden um der Konversation beizutreten.

  • Seite:
  • 1