Module NICHT beim Booten laden

  • Hallo,


    irgendwie finde ich den richtigen Ansatzpunkt nicht:


    Ich habe ein Debian Sarge mit selbstkompiliertem 2.6.14-2 Kernel (DVB-Treiber aus CVS, sollte hier aber egal sein)


    Nun ist der Vorteil von Modulen doch, daß sie bei Bedarf geladen werden können. So brauche ich z.B. auf dem vdr-Server, der ohne Monitor, Tastatur oder Maus auf dem Schrank steht, keine AGP-, parport-, Sound- oder USB-Module. Ich habe sie aber mitkompiliert, FALLS ich sie mal zum Testen oder Konfigurieren brauche. Die Module werden aber automatisch beim Starten geladen.


    Hm, solche Einstellungen gingen mal über /etc/modules.conf - da steht allerdings im Header, ich solle /etc/modutils verwenden. In /etc/modutils finde ich zumindest mal die Einträge für sensors (auskommentiert und gut ist). Aber WO werden die restlichen Module geladen und wie verhindere ich das? Oder sollte ich da besser die Finger davon lassen, weil das zu riskant ist?


    Ich vermute mal, daß mir ein Hinweis auf die richtige manpage oder das richtige HowTo schon reicht, aber ich steh grade auf dem Schlauch...
    ...bin also für jeden Hinweis dankbar!

  • Viele Treiber werden über Hotplug geladen.


    Über /etc/hotplug/blacklist läst sich das explizit unterbinden.
    Hotplug ganz lahmlegen würde ich nicht, da damit zB. die Firmware der DVB-Karten geladen wird.



    Lars

  • Danke!


    hotplug scheint hier am Meisten ungefragt zu machen.


    Jetzt muß ich mich noch entscheiden...
    ... hotplug komplett abschalten: Hm, wird da Nix Wichtiges abgeschaltet? OK, meine Budget-Karten brauchen keine Firmware, aber da scheint ja noch mehr zu passieren
    ... blacklist: Hm, scheint die ordentlichere Variante, nur (wie immer mit ordentlichen Varianten) auch mehr Arbeit.


    Aber schockierend fand ich das: 8o

    Code
    Streamer:/etc/hotplug# more net.agent
    #!/bin/sh
    #
    # Network hotplug policy agent for Linux 2.4 kernels
    #


    Hätte ich dieses Verzeichnis bei jedem Update
    2.4.27 -> 2.6.8 -> 2.6.13 -> 2.6.14
    selber anpassen müssen? Ich habe jeden kernel mit make-kpkg compiliert - scheint, als reicht das nicht.

  • Hallo,


    die Datei /etc/modules.conf und das Verzeichniss /etc/modutils, aus dem update-modules die Datei erstellt, sind bei einen Kernel 2.6 uninteressant geworden. Die Einstellungen verbergen sich neuerdings in dem Verzeichnis /etc/modprobe.d.


    Das ein paar Module geladen werden, wirst Du eventuell nicht verhindern können, auch wenn Du sie zur Zeit nicht benötigst. Ich denke da an AGP, das warscheinlich geladen wird, sobald Du eine Console mit Framebuffer öffnest. Man könnte dieses eventuell in der Datei /etc/inittab verhindern, allerdings bekommst Du spätestens dann Probleme, wenn Du mal Probleme hast. :D Vielleicht hilft es aber, wenn Du den Framebuffer abschaltest und nur Textkonsolen zulässt. Dazu musst Du den Bootmanager umkonfigurieren.


    Einige Sachen werden auch über Startskripte geladen, z.B. lässt ALSA die Treiber dort laden. Um das zu verhindern. must Du die entsprechenden Links aus dem Verzeichniss /etc/rcN.d entfernen, wobei Du N mit einem Aufruf von runlevel herausfindest.


    Die Frage sei aber erlaubt: Was erwartest Du Dir von dem ganzen Aufwand? So riesig sind die Module in der Regel nicht, die beiden Treiber für den Parallelen Port bringes es zum Beispiel bei mir gerade mal auf 74124 Bytes und die Ladezeit sollte zu vernachlässigen sein.


    Grüsse,
    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

  • Danke für die gute Erklärung!


    Ähm ja, mit Framebuffer hast Du Recht: Da könnte man sparen (weil eh kein Monitor dran ist) - würde sich evtl sogar rentieren um Strom zu sparen (der CLE266 wird richtig gut heiß). Ist mir aber dann doch zu gefährlich ?( und wer weiß, ob das was bringt.


    Wozu das Ganze:
    Naja, Aufhänger war, daß ich die DVB-Module gerne nicht automatisch beim Booten geladen hätte, sondern sie beim Start von vdr (der auch in Runlevel 2 passiert) selber laden möchte: So habe ich die Kontrolle, welche Karte Device1 und welche Device2 wird - da eines davon eine Skystar2 ist. Und wenn ich schon dabei bin, stört mich einfach, daß die Kiste fast eine Minute bootet und dabei Module läd, die ich unter der Rubrik "vielleicht brauch ichs ja doch irgendwann mal" mit eingebaut habe. Und gerade der USB-Kram dauert auch richtig lange, zumindest wenn er nicht was im Hintergrund tut, was er nicht anzeigt. Normalerweise braucht man den ja auch - ich will z.B. die Möglichkeit haben, notfalls die USB-Platte dranzuhängen, aber daß bei jedem Boot USB+SCSI geladen wird, finde ich unnötig.


    Und wenn ich so eine Stelle gefunden habe, von der ich dachte, daß ich weiß wies funktioniert, sich dann aber alles geändert hat, dann kann ich sowieso nicht locker lassen 8)


    Vielen Dank! Werd auch mal durchschauen, was da alles in rc0-2 geladen wird und was ich ohne allzu viel Arbeit rauswerfen kann.

  • So,


    Vielen Dank!


    Ich mußte:
    - den Link /etc/rc2.d/S12alsa -> ../init.d/alsa löschen,
    - in /etc/discover.conf einiges per skip übergehen (bzw. SCSI-/USB-Scan ausschalten)
    - in /etc/hotplug/blacklist praktisch alle Module, die ich nicht wollte als "gefährlich" eintragen, das ist jetzt eine ziemlich lange Liste :D


    Falls noch jemand sowas vorhat, rate ich von Anfang an dazu, ein paar lsmod-Befehle in rc... einzubauen, damit man die Übersicht hat, welche Module wann geladen werden!


    Aber igrendwie Schade finde ich das schon: Eigentlich war das automatische Laden der Module eine praktische und elegante Sache. Das wird jetzt durch das Laden aller irgendwie passenden Module beim Start ausgehebelt - seltsam...


    Naja, für mich läuft jetzt alles wie gewünscht, ich kann die DVB-Module in der Reihenfolge und mit den Parametern, die ich will laden. Außerdem habe ich etwas über 10 Sekunden beim Booten gespart.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!