Kernel panic bei 2.4.26

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
aexl
Beiträge: 78
Registriert: 08.05.2004 20:07:03

Kernel panic bei 2.4.26

Beitrag von aexl » 28.06.2004 20:38:16

Ich habe soeben versucht mit

Code: Alles auswählen

apt-get install kernel-image-2.4.26-1-686
den neuen Kernel zu installieren. Dafür habe ich zuerst einmal in der lilo.conf folgendes angefügt:

Code: Alles auswählen

image=/vmlinuz
initrd=/initrd.img
label=linux_2.4.26
read-only
Dann habe ich den Kernel installiert und /sbin/lilo ausgeführt.
Beim Booten mit diesem neuen Kernel kam dann der Kernel panic. Kann es etwas damit zu tun haben, dass ich das ext3-Filesystem benutze, oder habe ich einen anderen Fehler gemacht? Soll ich versuchen meinen eigenen Kernel zu kompilieren?

Pengo
Beiträge: 54
Registriert: 16.03.2003 22:00:02
Wohnort: Kiel
Kontaktdaten:

Beitrag von Pengo » 29.06.2004 10:31:15

Hast du den Kernel selbst kompiliert?
Wenn ja, hast du ext3 Kernelseitig aktiviert?

vogella
Beiträge: 243
Registriert: 22.06.2004 12:01:00
Wohnort: Heidelberg
Kontaktdaten:

Beitrag von vogella » 29.06.2004 10:31:55

Hallo,

ich glaube für den Debianstandardkernel mußt Du dir noch eine eigene Initrd machen.

Kommando: mkinitrd, schau mal hier im Forum oder in die man page wie man das benutzt.
Soll ich versuchen meinen eigenen Kernel zu kompilieren?
Klar. :D

Viele Grüße, Lars

aexl
Beiträge: 78
Registriert: 08.05.2004 20:07:03

Beitrag von aexl » 29.06.2004 12:39:02

Was genau ist eigentlich initrd?
Und wie gebe ich das meiner meiner lilo.conf bekannt?

Benutzeravatar
Flowyerg
Beiträge: 239
Registriert: 23.02.2004 18:42:41
Kontaktdaten:

Beitrag von Flowyerg » 29.06.2004 12:50:17

ich glaube für den Debianstandardkernel mußt Du dir noch eine eigene Initrd machen.
Meines Wissens nach kommen die Debian-Standard-Kernel inzwischen immer mit Initrd. Es dürfte keinen Standard ohne geben :-) Das hat auch ganz einfach Gründe:
Was genau ist eigentlich initrd?
Initrd ist die Initial Ram-Disk. An sich eine Datei auf der Festplatte die ein Dateisystem enthält (bei debian z.B. cramfs). Beim booten wird zuerst nur diese Datei geladen und von da aus das System gestartet. Der Sinn dabei ist zum Beispiel folgender:
Dein Linux ist z.B. auf einer Festplatte installiert, die an einem zusätzlichen IDE/SCSI oder was auch immer Controller hängt. Angenommen für diesen gibt es keine funktionierenden Kernel-Module (Siehe Raid-Controller mit Highpoint Chipsatz und Kernel der 2.4er Serie (HPT366 und HPT34x), ds Problem hatte ich nämlich. Das bedeutet man brauchte nicht nur einen neuen Kernel, sondern musste sich die Module selbst dazu kompilieren.
Damit man aber auch von den Festplatten an diesem Controller starten kann müssen die entsprechenden Module geladen werden und dies geschieht über eine Initial Ram Disk, die Initrd.
Ein weiteres Anwendungsgebiet:
Man kann es so machen wie ich. Man kompiliert an sich nichts fest in den Kernel hinein, was nicht unbedingt benötigt wird (Treiber für irgendwelche Peripherie z.B.), sondern kompiliert so viel wie möglich als Modul. Dann hat man einen sehr schlanken Kernel und viele Module. Mit Hilfe von discover und der initrd werden alle Module geladen, die man braucht und auch bei einem Hardware-Wechsel ist nicht unbedingt ein neuer Kernel notwendig, da einfach nur entsprechend andere Module geladen werden. (Macht sich auch gut, wenn man viele Rechner mit identischer Hardware hat).
Deswegen nutzen die Standard-Kernel auch initrd, weil damit die meisten Konfigurationen keinen neuen Kernel erfordern.

Hoffe meine Ausführungen waren halbwegs verständlich :-)
I am root. If you see me laughing, you better have a backup...

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d++ s-:- a-- C++ UL P L+++ E W+ N o K- w--
O- M-- V- PS+ PE Y PGP t+ 5 X+ R+ !tv b+ DI+ D+
G+ e h- r-- y+
------END GEEK CODE BLOCK------

ernohl
Beiträge: 1249
Registriert: 04.07.2002 08:11:56
Wohnort: HL

Beitrag von ernohl » 29.06.2004 13:00:26

Flowyerg hat geschrieben:Ein weiteres Anwendungsgebiet:
Man kann es so machen wie ich. Man kompiliert an sich nichts fest in den Kernel hinein, was nicht unbedingt benötigt wird (Treiber für irgendwelche Peripherie z.B.), sondern kompiliert so viel wie möglich als Modul. Dann hat man einen sehr schlanken Kernel und viele Module.
Dies ist normales Modulkonzept, aber kein Beispiel für die Notwendigkeit einer initrd.
Gruß
ernohl

Benutzeravatar
Flowyerg
Beiträge: 239
Registriert: 23.02.2004 18:42:41
Kontaktdaten:

Beitrag von Flowyerg » 29.06.2004 13:45:29

ernohl hat geschrieben:Dies ist normales Modulkonzept, aber kein Beispiel für die Notwendigkeit einer initrd.
Ja, da hast du recht, an dieser Stelle hab ich nicht sonderlich großartig nachgedacht. Notwendig wird eine initrd generell nur, wenn man Kernel kompilieren will, die entweder auf einer vielzahl von System laufen sollen (z.B. Standard-Kernel) oder wenn Module schon im Voraus geladen werden müssen, damit überhaupt aufs Dateisystem zugegriffen werden kann.
I am root. If you see me laughing, you better have a backup...

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d++ s-:- a-- C++ UL P L+++ E W+ N o K- w--
O- M-- V- PS+ PE Y PGP t+ 5 X+ R+ !tv b+ DI+ D+
G+ e h- r-- y+
------END GEEK CODE BLOCK------

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

Beitrag von HELLinG3R » 30.06.2004 08:16:55

Flowyerg hat geschrieben:[...]oder wenn Module schon im Voraus geladen werden müssen, damit überhaupt aufs Dateisystem zugegriffen werden kann.
ich dachte, dazu kompiliert man sie fest in den kernel? ('Y' anstatt 'M')

ernohl
Beiträge: 1249
Registriert: 04.07.2002 08:11:56
Wohnort: HL

Beitrag von ernohl » 30.06.2004 09:28:29

HELLinG3R hat geschrieben:
Flowyerg hat geschrieben:[...]oder wenn Module schon im Voraus geladen werden müssen, damit überhaupt aufs Dateisystem zugegriffen werden kann.
ich dachte, dazu kompiliert man sie fest in den kernel? ('Y' anstatt 'M')
Jein. Wenn du (z.B) nur den FS-Typ meinst, hast du recht. Wenn dein /-FS aber z.B. in einem Logical Volume liegt, benötigst du eine initrd, um erst einmal die Volume Group zu aktivieren.

ACHTUNG: Ich benutze woody. :wink:
Gruß
ernohl

Antworten