Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von fischig » 06.12.2020 16:37:01

Nun das ist [D]eine Meinung
Das ist keine Meinung, sondern eine Tatsachenbehauptung. Die kann man akzeptieren oder mit einer anderen Tatsachenbehauptung widerlegen. Mit subjektiver „Meinung“ hat das nichts zu tun. Ich weiß nicht wie ich mit jemandem umgehen soll, der auf die bei wolkenlosem Himmel mittags um 12 Uhr auf dem Frankfurter Römer getätigte Aussage: „Die Sonne scheint.“ antwortet: „Nun ja, das ist deine Meinung.“
worker777 hat geschrieben:
fischic hat geschrieben:Ob das nun fest im Kern installiert ist oder unter /lib/modules/ liegt, interessiert die dabei nicht.
Ja, Dich vielleicht nicht, aber mich schon.
Du hast das „die“ überlesen. Es interessiert die initramfs-tools nicht. Und die - mal als gegeben akzeptiert - wiederum interessiert weder was mich noch was dich interessiert oder nicht interessiert.
Zuletzt geändert von fischig am 06.12.2020 16:53:35, insgesamt 1-mal geändert.

worker777
Beiträge: 103
Registriert: 14.04.2015 07:59:26

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von worker777 » 06.12.2020 16:50:31

fischic hat geschrieben: ↑ zum Beitrag ↑
06.12.2020 16:37:01
worker777 hat geschrieben:
fischic hat geschrieben:Ob das nun fest im Kern installiert ist oder unter /lib/modules/ liegt, interessiert die dabei nicht.
Ja, Dich vielleicht nicht, aber mich schon.
Du hast das „die“ überlesen. Es interessiert die initramfs-tools nicht. Und die - mal als gegeben akzeptiert - wiederum interessiert weder was mich noch was dich interessiert oder nicht interessiert.
Stimmt. Das "die" hab ich tatsächlich überlesen - sorry.

KP97
Beiträge: 3395
Registriert: 01.02.2013 15:07:36

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von KP97 » 06.12.2020 19:04:09

Vorsicht mit "make oldconfig". Wenn man die manpage liest, hört es sich erstmal einleuchtend an.
Aber dieser Parameter setzt voraus, daß Du alle Deine Hardware einschaltest bzw. ansteckst, damit die benötigten Module auch erkannt werden.
Ich habe z.B. Wlan und Kabel, lasse das Netzwerk über systemd verwalten. Ich lasse beides aber nicht parallel laufen, sondern benutze nur die Kabelverbindung.
Als ich diesen Parameter mal eingesetzt habe, hatte ich nicht mehr ans Wlan gedacht, und der fertige Kernel erkannte daher auch mein Wlan Modul nicht mehr.
Außerdem hat es die config nur minimal verkleinert, macht also nicht viel Sinn, im Gegenteil.

Du kannst die Größe der initrd.img nachträglich nur über die initramfs.conf beeinflussen. Wie das geht hatte ich oben schon beschrieben.
Sonst geht das nur über die menuconfig, hast Du ja jetzt herausgefunden.

Man kann z.B. auch nachträglich in der /lib/modules/kernel..../ noch Module entfernen, wenn man diese löscht und anschließend ein "depmod -a" ausführt.
Das ist der einzige, mir bekannte Grund, um das Verzeichnis aufzurufen. Natürlich wird dieses Verzeichnis benötigt, man sollte also schon genau wissen, was man macht.

Die config auf die eigene Hardware anzupassen, wenn man die config vom Standardkernel als Vorlage nimmt, benötigt viel, viel Zeit, Wissen und Probiererei.
Wenn man es dann aber mal hat, verwendet man diese ja immer wieder, solange man die Hardware einsetzt.
Der Kernel ist dann aber auch nur für dieses System einzusetzen. Wenn man universeller sein will, kann man halt nicht so rigoros vorgehen. Dann muß man auch Module berücksichtigen, die man momentan nicht hat, aber evtl. später mal. Dann wird der Kernel aber auch wieder umfangreicher.
So ist es halt im Leben, man kann nicht alles haben...;-)

Der obige Befehl muß make localmodconfig lauten.
Freud'scher Verschreiber
Zuletzt geändert von KP97 am 06.12.2020 19:12:49, insgesamt 1-mal geändert.

Benutzeravatar
towo
Beiträge: 4400
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von towo » 06.12.2020 19:07:18

Vorsicht mit "make oldconfig". Wenn man die manpage liest, hört es sich erstmal einleuchtend an.
Aber dieser Parameter setzt voraus, daß Du alle Deine Hardware einschaltest bzw. ansteckst, damit die benötigten Module auch erkannt werden.
Das gilt wohl eher für make localmodconfig oder make localyesconfig!

make oldconfig adaptiert einfach die config des laufenden Kernel in die benutzten Sourcen.

KP97
Beiträge: 3395
Registriert: 01.02.2013 15:07:36

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von KP97 » 06.12.2020 19:09:25

Ja, stimmt natürlich, ich habe an localmodconfig gedacht und oldconfig geschrieben.

fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von fischig » 06.12.2020 19:20:48

make oldconfig adaptiert einfach die config des laufenden Kernel in die benutzten Sourcen.
So wie ich das Procedere verstehe, passt make oldconfig die aktuell verwendete .config an die neuen Quellen an. Mit dem laufenden Kern muss das nichts zu tun haben.

Benutzeravatar
towo
Beiträge: 4400
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Kernelkonfiguration, initrd und /lib/modules - Verständnisfrage

Beitrag von towo » 06.12.2020 19:48:44

Wenn Du keine .config in die Sourcen kopierst, zieht make oldconfig die config des laufenden Kernels als Grundlage heran. Anderen Falls wird natürlich eine .config benutzt, wenn eine da ist.

Antworten