(gelöst) angepasster kernel

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
guennid

(gelöst) angepasster kernel

Beitrag von guennid » 02.10.2009 18:52:26

Ich will mir einen angepassten kernel (ohne initrd) für meinen neuen Schleppi (thinkpad x61) bauen. Ich denke, der hat 'ne sata-Platte. Wie verifiziere ich das und welches Modul benötige ich für diese Plattenart. Wenn ich defconfig benutzte, wäre das Modul automatisch integriert?

Grüße, Günther
Zuletzt geändert von guennid am 04.10.2009 10:29:53, insgesamt 1-mal geändert.

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Re: angepasster kernel

Beitrag von chabayo » 02.10.2009 19:48:09

Hallo,...

...erstmal n bisserl Werbung: http://www.thinkwiki.org/wiki/Category:X61 ;)

Natuerlich kannst du auch dort hingucken: http://www-307.ibm.com/pc/support/site. ... MIGR-67777

...aber ein schlichtes 'lspci' kann auch schon helfen; 'lsmod' taete was darueber aussagen ob z.B. ahci, wie bei mir, geladen wird. 'dmesg | less' koennte dir zeigen welchen Output von ladenten Modulen erzeugt wurde.

Es auch ne Site welche den zutreffenden Treiber entsprechen der Hardware-ID von 'lspci -n' ermittelt - wer das noch hat koennte das Posten; find das nicht.
Watt about the non-digital!?

guennid

Re: angepasster kernel

Beitrag von guennid » 03.10.2009 16:35:34

So, also booten kann ich den kernel schon mal. Danke für den Hinweis auf ahci!
'lsmod' taete was darueber aussagen ob z.B. ahci [...] geladen wird.
Bei mir wohl kaum, da ich keine initrd will und also fest in den kernel kompilieren muss - oder?

Welches Modul/welche Module brauche ich, um die 32bit-libs für amd64 nutzen zu können. Beim 26er lenny-standard-kernel funktionieren die entsprechenden Programme. In dem 31er, den ich mir da gerade zusammenstelle, nicht.

Grüße, Günther

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: angepasster kernel

Beitrag von Spasswolf » 03.10.2009 16:40:58

Bei mir wohl kaum, da ich keine initrd will und also fest in den kernel kompilieren muss - oder?
lsmod bei einem laufenden Debian Kernel ist gemeint.
Welches Modul/welche Module brauche ich, um die 32bit-libs für amd64 nutzen zu können.
Du brauchst

Code: Alles auswählen

CONFIG_IA32_EMULATION=y
Zu finden unter Executable file formats / Emulations --> IA32 Emulation.

guennid

Re: angepasster kernel

Beitrag von guennid » 03.10.2009 17:26:37

lsmod bei einem laufenden Debian Kernel ist gemeint.
Jepp! Denkfehler :oops:

Code: Alles auswählen

CONFIG_IA32_EMULATION=y
Danke! hab' ich gregelt, jetzt kommt der sound dran.

snd_hda_intel werd' ich brauchen. Ist da noch was, was nicht automatisch mitkonfiguriert würde?

Grüße, Günther

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Re: angepasster kernel

Beitrag von chabayo » 04.10.2009 09:58:27

...der Punkt ist ein Kernel ohne initrd KANN modular sein.

Die initrd existiert bloss weil es eine Datei ist welche der Kernel ohne Dateisystem/Block-IO-Funktion in seinem Speicher zur Verfuegung hat; ist so eine halbe Wahrheit, eine Form von Pseudo-FS.

Das heisst er kann von dort notwendige Module laden. Willst du einen Kernel ohne initrd musst du ihm die Moeglichkeit bieten, legst du Wert darauf das er Module nachlaedt, sie irgendwo herzunehmen - das Kann ein NFS sein, ein normales FS, oder meinetwegen auch der Hades...

Also, du brauchst, vermutlich, den Block-IO (wegen der Schnittstelle zu einem HD-Treiber), den Treiber fuer die HD-Schnittstelle (bei dir nun AHCI, und das haengt ab von deiner BIOS-Einstellung, denn AHCI ist ein Standard den z.B. mein Thinkpad als Kompatibilitaetsfunktion vorweist), und den Treiber fuer das verwendete Dateisystem auf deiner Root-Partition, zmnd. jene auf der /lib/modules/[kernel-version] zu finden ist.

Das ist alles.

Bevor du anfaengst 'Das brauch ich fest eingebunden' sieh zu das das soweit klappt. Sind also im Grunde 3-4 fest eingebundene Module.
Watt about the non-digital!?

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Re: angepasster kernel

Beitrag von chabayo » 04.10.2009 10:04:55

Noch kurz, weil mich es abnervt mich ewig durch die Konfiguration zu wursteln...

Mach erst mal ein 'make menuconfig', dazu brauchst du aber make und libncurses5-dev, vllt. noch gcc und so Zeug; geh dann gleich wieder raus aus dem Utility, speicher aber ab.

Dann lass sowas ueber deine .config laufen:

Code: Alles auswählen

sed -e 's/=[my]/ is not set/' -e 's/^CON/# CON/' .config > empty
...und kopiere empty nach .config - damit hast du eine Nullconfig fuer deinen Kernel, und du kannst aktivieren was du brauchst, gut - sonst bist du 20 Minuten dabei nur zu deaktivieren was du nicht brauchst.
Watt about the non-digital!?

guennid

Re: angepasster kernel

Beitrag von guennid » 04.10.2009 10:29:01

Der kernel läuft doch schon. Ich habe einen recht spartanisch konfigurierten aus einem alten Toshiba-Schlepptop als Vorlage genommen, den ich wiederum ursprünglich mit

Code: Alles auswählen

make defconfig
erstellt hatte. :wink:

Aber das mit der leeren config interessiert mich sehr. Mach ich mal, wenn ich sehr viel Zeit habe. :mrgreen:

Im Augenblick hakelt es mit truecrypt, siehe neuen thread

Grüße, Günther

Benutzeravatar
GRed
Beiträge: 363
Registriert: 10.09.2009 14:28:37

Re: angepasster kernel

Beitrag von GRed » 04.10.2009 13:40:58

chabayo hat geschrieben:Noch kurz, weil mich es abnervt mich ewig durch die Konfiguration zu wursteln...

Mach erst mal ein 'make menuconfig', dazu brauchst du aber make und libncurses5-dev, vllt. noch gcc und so Zeug; geh dann gleich wieder raus aus dem Utility, speicher aber ab.

Dann lass sowas ueber deine .config laufen:

Code: Alles auswählen

sed -e 's/=[my]/ is not set/' -e 's/^CON/# CON/' .config > empty
...und kopiere empty nach .config - damit hast du eine Nullconfig fuer deinen Kernel, und du kannst aktivieren was du brauchst, gut - sonst bist du 20 Minuten dabei nur zu deaktivieren was du nicht brauchst.
Kannst du vielleicht ma sagen, was man nach so einer Aktion, als UNBEDINGT im Kernel drin haben muss, damit man USB, SATA, Netzwerkunterstützung, LAN, Wlan einschalten muss?

Weil mit defconfig, ist es schon recht leer in der .config Datei.

Dann noch zu der initrd. Was bringt das, wenn man die abschaltet?
PC
Debian Squeeze
Maiboard: Asus P5E Deluxe
CPU: Core2Quad Q6600
GPU: gForce 6600 GT

guennid

Re: (gelöst) angepasster kernel

Beitrag von guennid » 04.10.2009 14:07:30

GRed hat geschrieben: USB, SATA, Netzwerkunterstützung, LAN, Wlan
Das wird so nicht gehen, das hängt dann von der jeweiligen hardware ab und du musst dich Stück für Stück vorarbeiten, deswegen ist es ja auch ein "angepasster" kernel.
GRed hat geschrieben:Dann noch zu der initrd. Was bringt das, wenn man die abschaltet?
Jede Menge Platz. :mrgreen:

Im Ernst: So bedeutsam ist das nicht bei modernen Platten, aber ich hab' nicht gern was im System, was ich nicht brauche.

Grüße, Günther

Benutzeravatar
GRed
Beiträge: 363
Registriert: 10.09.2009 14:28:37

Re: (gelöst) angepasster kernel

Beitrag von GRed » 04.10.2009 20:09:48

guennid hat geschrieben:
GRed hat geschrieben: USB, SATA, Netzwerkunterstützung, LAN, Wlan
Das wird so nicht gehen, das hängt dann von der jeweiligen hardware ab und du musst dich Stück für Stück vorarbeiten, deswegen ist es ja auch ein "angepasster" kernel.
GRed hat geschrieben:Dann noch zu der initrd. Was bringt das, wenn man die abschaltet?
Jede Menge Platz. :mrgreen:

Im Ernst: So bedeutsam ist das nicht bei modernen Platten, aber ich hab' nicht gern was im System, was ich nicht brauche.

Grüße, Günther

Ok, also die sachen kriege ich schon hin, aber ich kenn mich überhaupt nicht mit dem Netzwerk aus, welche bestandteile braucht man um daheim über LAN und Wlan online gehen zu können. Dabei mein ich nicht die treiber für die jeweilige Hardware.

Bringt die abschaltung von initrd nur die platzersparnis, oder auch an performance etwas?
PC
Debian Squeeze
Maiboard: Asus P5E Deluxe
CPU: Core2Quad Q6600
GPU: gForce 6600 GT

guennid

Re: (gelöst) angepasster kernel

Beitrag von guennid » 04.10.2009 22:20:24

GRed hat geschrieben: Dabei mein ich nicht die treiber für die jeweilige Hardware.
Also, du fragst schon recht lustig. :wink:
Viele Kernelmodule sind nichts anderes als Treiber für die hardware. Wenn du zu Hause Rechner vernetzen willst, müssen diese über Netzwerkkarten (nics) verfügen und für diese unterschiedlichen nics gibt es unterschiedliche Kernelmodule. Ergo musst du - wenn du den kernel "angepasst" selbst bauen willst - erst mal wissen, welche nic verbaut ist. Wenn du's nicht weißt, könnte lspci weiterhelfen.
Wir sollten hier Schluss machen, mach 'nen eigenen thread auf mit konkreter Frage.

Grüße, Günther

[edit:] An performance im Sinne von Schnelligkeit wird der Verzicht auf die initrd wohl nichts bringen. Sie wird übrigens nicht abgeschaltet, sie wird schlicht nicht erstellt. Schau dir mal den Inhalt des Verzeichnisses
/boot an. Dort findest du die initrd eines standard-kernels als image-Datei.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: (gelöst) angepasster kernel

Beitrag von Spasswolf » 04.10.2009 22:35:41

Sie wird übrigens nicht abgeschaltet, sie wird schlicht nicht erstellt.
Man kann sie auch abschalten:
General setup --> Initial RAM filesystem and RAM disk (initramfs/initrd) support

Benutzeravatar
GRed
Beiträge: 363
Registriert: 10.09.2009 14:28:37

Re: (gelöst) angepasster kernel

Beitrag von GRed » 04.10.2009 23:00:34

guennid hat geschrieben:
GRed hat geschrieben: Dabei mein ich nicht die treiber für die jeweilige Hardware.
Also, du fragst schon recht lustig. :wink:
Viele Kernelmodule sind nichts anderes als Treiber für die hardware. Wenn du zu Hause Rechner vernetzen willst, müssen diese über Netzwerkkarten (nics) verfügen und für diese unterschiedlichen nics gibt es unterschiedliche Kernelmodule. Ergo musst du - wenn du den kernel "angepasst" selbst bauen willst - erst mal wissen, welche nic verbaut ist. Wenn du's nicht weißt, könnte lspci weiterhelfen.
Wir sollten hier Schluss machen, mach 'nen eigenen thread auf mit konkreter Frage.

Grüße, Günther

[edit:] An performance im Sinne von Schnelligkeit wird der Verzicht auf die initrd wohl nichts bringen. Sie wird übrigens nicht abgeschaltet, sie wird schlicht nicht erstellt. Schau dir mal den Inhalt des Verzeichnisses
/boot an. Dort findest du die initrd eines standard-kernels als image-Datei.
Mag sein das ich mich nicht richtig ausgedückt habe. Mir ist durchaus klar dass es module/treiber gibt, die die jeweilige hardware ansteuern. Ich meinte jedoch den Kernelbereich der in der config unter "Networking options" zu findet ist. Dort sind die routinen, die für das funktionieren des Netzwerks benötigt werden. Wenn ich eine komplett leere .config habe, die du oben beschrieben hast, weiss ich nicht was ich da brauch um meinem rechner es zu ermöglichen zugriff auf das internet oder meinetwegen mein heimnetzwerk.

Derzeit hab ich einen selbstgemachten kernel, den ich mit defconfig erstellt habe.

Wenn ich dich richtig verstanden habe, müsste man nach der erstellung einer leeren .config, einer art reverse enginiering betreiben ;)?
PC
Debian Squeeze
Maiboard: Asus P5E Deluxe
CPU: Core2Quad Q6600
GPU: gForce 6600 GT

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: (gelöst) angepasster kernel

Beitrag von Spasswolf » 04.10.2009 23:08:12

Eigentlich sind die Optionen sehr gut beschrieben, am besten "make xconfig" zur Konfiguration nutzen, da muss man die Beschreibung nicht extra aufrufen.

Benutzeravatar
GRed
Beiträge: 363
Registriert: 10.09.2009 14:28:37

Re: (gelöst) angepasster kernel

Beitrag von GRed » 04.10.2009 23:18:51

Spasswolf hat geschrieben:Eigentlich sind die Optionen sehr gut beschrieben, am besten "make xconfig" zur Konfiguration nutzen, da muss man die Beschreibung nicht extra aufrufen.
Ich nutze die ja schon so.. aber ich weiss trotzdem nicht wofür die jeweiligen routiten in dem bereich sind. Kann sein das ich was abstelle was benötigt wird. Deswegen dachte ich, das einer von hier weiss, was man unbedingt braucht um die heimischen voraussetzungen zu erfüllen :). Also sprich internet und ma vielleicht die rechner verbinden, mehr brauch ich auch nicht.
PC
Debian Squeeze
Maiboard: Asus P5E Deluxe
CPU: Core2Quad Q6600
GPU: gForce 6600 GT

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: (gelöst) angepasster kernel

Beitrag von Spasswolf » 04.10.2009 23:32:59

Unter "Networking Options" sollten im Grunde "Unix domain sockets" und "TCP/IP networking" (ohne Unteroptionen) ausreichen. Eventuell noch "Packet socket" für tcpdump.

Antworten