allgemeines KErnelverständnis

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

allgemeines KErnelverständnis

Beitrag von HELLinG3R » 29.07.2004 12:44:53

Hallo Leute, ich habe es heute geschafft, mir einen 2.6.7er kernel zu backen! :) (der erste kernel der auch läuft)

allerdings habe ich noch nicht 100%ig verstanden wie der kernel funktioniert, bzw welche dateien dranhängen.

was hat es mit /boot auf sich?
was mit /lib/modules?

welche dateien/files gibts sonst noch, die wichtig sind??
wozu dient der link /usr/src/linux? (übrigends fehlt der bei mir seit neuestem)

Vielen Dank für die Antworten auf meine Fragen!
über einen Link zu ner guten Dokumentation würde ich mich selbstverständlich auch freuen! :)

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 29.07.2004 12:51:12

in /boot liegen die kernel-images und, wenn verwendet, die initial-ramdisk sowie die grub konfiguration. beim booten muss zugriff auf dieses verzeichnis bzw. partition gewährleistet sein, sprich, das dateisystem muss fest im kernel eingebunden sein.

in /lib/modules ligen die kernel-module (treiber) die automatisch beim start bzw. dynamisch während des betriebs geladen werden.

in /usr/src/linux werden von anderen treibern bzw. programmen die kernel-quellen erwartet (z.b. nvidia, vmware, andere apps welche kernel-headers benötigen..). da sich die eigentlichen quellen ja in einem dir ala linux-2.6.7 befinden, wird ein symlink auf dieses verzeichnis gelegt.
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 29.07.2004 13:41:52

okay, also angenommen /boot ist ext3, der rest xfs.
dann würde es reichen, wenn ext3 im kernel fest einkompiliert ist?
weil / (und damit /lib/modules/ wäre ja dann auf xfs.... ?!)

ich denke, dass auch das fs von / im kernel sein muss, oder?

sind eigentlich in den debiansourcen noch die kernel-header enthalten?
(ich habe in der .debian/changelog was gelesen, dass diese herausgenommen worden wären???)

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 29.07.2004 13:48:06

das liesse sich dann via initial-ramdisk realisieren. der treiber für die entsprechenden dateisysteme befinden sich in dieser initrd, und diese wird ja von /boot geladen.. et voila ;)
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 01.08.2004 18:09:19

HELLinG3R hat geschrieben:okay, also angenommen /boot ist ext3, der rest xfs.
dann würde es reichen, wenn ext3 im kernel fest einkompiliert ist?
weil / (und damit /lib/modules/ wäre ja dann auf xfs.... ?!)

ich denke, dass auch das fs von / im kernel sein muss, oder?
Allgemein brauchst du alles statisch, was zum mounten der Partition wo die restlichen Treiber liegen benoetigt wird, also auch XFS. Es besteht allerdings, die gesagt, die Moeglichkeit um Module vor dem Mounten des / zu laden, diese muessen dann von einer initrd geladen werden. Debian benutzt diesen Mechanismus fuer die Distribution Kernels. Ich persoenlich druecke mich meist davor, und backe den IDE und FS kraM statisch.
sind eigentlich in den debiansourcen noch die kernel-header enthalten?
(ich habe in der .debian/changelog was gelesen, dass diese herausgenommen worden wären???)
Die Debian Sources enthalten auch die Header, sonst koennte man damit keinen Kernel kompilieren.
Magic is always the best solution -- especially reliable magic.

Antworten