Debian bootet nicht mit neuem Kernel: Kernel-panic
Debian bootet nicht mit neuem Kernel: Kernel-panic
Entsprechend der Anweisung im Wiki habe ich mir den Kernel 2.6.13 von Kernel.org runtergezogen und mit make menuconfig bearbeitet. Ziel ist, dass ich meine c´t Serverdistribution mit einem neuen Kernel ausstaffieren wollte, der Raid-1 fähig ist. Soweit ich es beurteilen kann hat das kompilieren auch geklappt, jedenfalls liess sich der Kernel mit dpkg problemlos installieren. Das System fing an zu booten als der Bootvorgang mit folgender Meldung pötzlich stoppte:
VFS: Cannot open root device "hde2" or unknown-block (0,0). Please append a correct "root-" boot option. Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0).
Bei der Festplatte handelt es sich um eine IDE-Platte, die nicht am Onboard-Controller sondern an einem PCI Promise-Controller hängt.
Die c´t Distribution startet problemlos, entsprechend deren Grub-Menü EInträge habe ich den neuen Kernel auch entsprechend den alten Laufwerksangaben eingetragen:
title: Neuer Testkernel
root (hd0,1)
kernel /boot/vmlinuz-2.6.13.3test1 root=/dev/hde2 ro
savedefault
boot
Was habe ich falsch gemacht bzw. muss ich ändern damit der Kernel läuft?
Im Voraus vielen Dank für alle Tips!
VFS: Cannot open root device "hde2" or unknown-block (0,0). Please append a correct "root-" boot option. Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0).
Bei der Festplatte handelt es sich um eine IDE-Platte, die nicht am Onboard-Controller sondern an einem PCI Promise-Controller hängt.
Die c´t Distribution startet problemlos, entsprechend deren Grub-Menü EInträge habe ich den neuen Kernel auch entsprechend den alten Laufwerksangaben eingetragen:
title: Neuer Testkernel
root (hd0,1)
kernel /boot/vmlinuz-2.6.13.3test1 root=/dev/hde2 ro
savedefault
boot
Was habe ich falsch gemacht bzw. muss ich ändern damit der Kernel läuft?
Im Voraus vielen Dank für alle Tips!
- herrchen
- Beiträge: 3257
- Registriert: 15.08.2005 20:45:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: Debian bootet nicht mit neuem Kernel: Kernel-panic
ist der treiber für den controller im kernel?mikel65 hat geschrieben: Bei der Festplatte handelt es sich um eine IDE-Platte, die nicht am Onboard-Controller sondern an einem PCI Promise-Controller hängt.
herrchen
Re: Debian bootet nicht mit neuem Kernel: Kernel-panic
eine möglichkeit. bei der gelegenheit auch gleich schauen ob das dateisystem einkompiliert ist. soltest du nicht mit initrd arbeiten, muss beides fest, nicht als modul im kernel sein.herrchen hat geschrieben:ist der treiber für den controller im kernel?mikel65 hat geschrieben: Bei der Festplatte handelt es sich um eine IDE-Platte, die nicht am Onboard-Controller sondern an einem PCI Promise-Controller hängt.
[..] 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
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Nimm doch erst mal als Vorlage eine Konfig eines Originalkernels. Und baue ein Deb mit Initrd Unterstützung.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Zuerst vielen Dank für die Antworten.
Bezüglich dem Gedanken an einer weiteren Überarbeitung der ursprünglichen Config bin ich daran gescheitert, dass ich
1. nicht genau weiss wie ich das anstellen soll da alle Anweisungen bzgl. Kernelkonfig die ich gefunden habe sich auf die Neuerstellung bzw. Überarbeitung eines selbst erstellten Kernels beziehen und
2. ich nicht weiss, wo ich die Konfiguration des originalen c´t Kernels beziehen kann.
Weiter bin ich mir nicht siche,r ob die Konfig-Datei, falls ich sie bekomme, kompatibel ist. Der c´t Kernel ist 2.6.12, der aktuelle an dem ich mich versuche ist 2.6.13.
Dann hatte ich bereits versucht, den Treiber für meinen Promise Controller fest einzukompilieren, leider finde ich den Controller micht in "make menuconfig". Es handelt sich um einen "Promise Fasttrack Ultra133 Tx2". In einer Deviceliste für Linux habe ich die Bezeichner "105a" und "4d68" unter dieser Modellbezeichnung gefunden, grundsätzlich wird er offensichtlich unterstützt.
Aber wie kann ich ihn einkompilieren? Und wie löse ich das ggf. mit einer Ramdisk fals erforderlich?
Abgesehen von diesen (grundsätzlichen) Problemen habe ich es dank der tollen Unterstützung hier im Forum mit make-kpkg nun geschaff,t einen Kernel (wenn auch nicht mit meiner Hardware lauffähig) zu kompilieren und zu installieren
.
Für alle weiteren Tips im Voraus schon mal vielen Dank.
Bezüglich dem Gedanken an einer weiteren Überarbeitung der ursprünglichen Config bin ich daran gescheitert, dass ich
1. nicht genau weiss wie ich das anstellen soll da alle Anweisungen bzgl. Kernelkonfig die ich gefunden habe sich auf die Neuerstellung bzw. Überarbeitung eines selbst erstellten Kernels beziehen und
2. ich nicht weiss, wo ich die Konfiguration des originalen c´t Kernels beziehen kann.
Weiter bin ich mir nicht siche,r ob die Konfig-Datei, falls ich sie bekomme, kompatibel ist. Der c´t Kernel ist 2.6.12, der aktuelle an dem ich mich versuche ist 2.6.13.
Dann hatte ich bereits versucht, den Treiber für meinen Promise Controller fest einzukompilieren, leider finde ich den Controller micht in "make menuconfig". Es handelt sich um einen "Promise Fasttrack Ultra133 Tx2". In einer Deviceliste für Linux habe ich die Bezeichner "105a" und "4d68" unter dieser Modellbezeichnung gefunden, grundsätzlich wird er offensichtlich unterstützt.
Aber wie kann ich ihn einkompilieren? Und wie löse ich das ggf. mit einer Ramdisk fals erforderlich?
Abgesehen von diesen (grundsätzlichen) Problemen habe ich es dank der tollen Unterstützung hier im Forum mit make-kpkg nun geschaff,t einen Kernel (wenn auch nicht mit meiner Hardware lauffähig) zu kompilieren und zu installieren
![Wink ;-)](./images/smilies/icon_wink.gif)
Für alle weiteren Tips im Voraus schon mal vielen Dank.
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Jetzt hab ich das die CT Version nicht installiert. Die Konfiguration
1) Um rauszufinden welche Config denn zu dem Laufenden Kernel gehört.
Die kopierst du dann ins Verzeichnis der neuen Kernelsourcen. .
2)
Dann krieg erstmal raus welches Modul für den Hostadapter benutz wird.
Da das eine Recht lange Liste werden kann die Ausgabe hierhin http://nopaste.debianforum.de/
1)
Code: Alles auswählen
view /boot/config-$(uname -r)
Die kopierst du dann ins Verzeichnis der neuen Kernelsourcen. .
2)
Dann krieg erstmal raus welches Modul für den Hostadapter benutz wird.
Code: Alles auswählen
lsmod
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
-
- Beiträge: 184
- Registriert: 21.09.2005 10:43:37
- Wohnort: Dresden
Hi,
also die Konfiguration deines jetzigen Kernelst müsstest Du eigentlich im /boot Verzeichniss vorfinden. Es heisst config-<Versionsnummer deines Kernels><+ möglicher Zusatz>, dann kannst Du mit dieser die des 2.6.13 überschreiben lassen und dann einfach ausführen. Hierbei wirst Du in einem Dialog bei jedem neuen "feature" gefragt ob Du es haben willst, die vorhandene Konfiguration wird beibehalten. Axso, die Konfiguration des Kernels liegt in dessen Verzeichnis unter .config.
Für deinen Controller und all die anderen Geräte tust Du am besten immer ein Damit wird eine Ausgabe erscheinen die Dir sagt was so in deinem Rechner schon mal entdeckt wurde. Speziell bei deinem Controller versuchst Du es einfach mit damit bekommst Du nur die Info zu deinem Raid-Controller. Dort sollte die genaue Bezeichnung enthalten sein, sowas wie "Promise Fasttrack Ultra133 Tx2" kannst Du lange im Kernel suchen, da wirst nicht fündig. Es sollte jedenfalls irgendetwas mit z.B. stehen. Die hintere Nummer ist ein eindutiger Hinweis auf den verwendeten Chip (im Beispiel 20276) und im Kernel kannst Du anschließend den richtigen Treiber ankreuzen
Device Drivers -> ATA/ATAPI/MFM/RLL support -> PCI IDE chipset support -> dein Chipset...
Gruß BermudaHonk
also die Konfiguration deines jetzigen Kernelst müsstest Du eigentlich im /boot Verzeichniss vorfinden. Es heisst config-<Versionsnummer deines Kernels><+ möglicher Zusatz>, dann kannst Du mit dieser die des 2.6.13 überschreiben lassen und dann einfach
Code: Alles auswählen
make oldconfig
Für deinen Controller und all die anderen Geräte tust Du am besten immer ein
Code: Alles auswählen
lspci
Code: Alles auswählen
lspci |grep RAID
Code: Alles auswählen
00:10.0 RAID bus controller: Promise Technology, Inc. PDC20276 IDE (rev 01)
Device Drivers -> ATA/ATAPI/MFM/RLL support -> PCI IDE chipset support -> dein Chipset...
Gruß BermudaHonk
The only Microsoft product ever to ship that doesn't suck will probably be a vacuum cleaner!
Habe alle Tips umgesetzt: Promise Controller identifiziert, make make-kpkg menuconfig fest in den Kernel eingkompiliert, die Kompilierung und Installation per dpkg hat auch funktioniert. Nur leider der Bootprozess nicht. Die Fehlermeldung ist nach wie vor der gleiche.
Entsprechend den Tips hier habe ich die c´t-Configuration lokalisiert und baue auch darauf auf. Die c´t Distribution arbeitet mit einer initrd, bei meiner neuen konfiguration wird soweit ich dies sehen kann keine initrd erzeugt und auch nicht in Grub eingebunden.
Sollte ich eine initrd erzeugen damit die kiste endlich ordentlich bootet? Falls ja, wie mache ich das am geschicktesten, welche Optionen muss ich zum erstellen wählen? Im Menuconfig habe ich nichts entsprechendes gefunden.
Im Voraus schon mal vielen Dank für die weiteren Tips
.
Gruß, Michael
Entsprechend den Tips hier habe ich die c´t-Configuration lokalisiert und baue auch darauf auf. Die c´t Distribution arbeitet mit einer initrd, bei meiner neuen konfiguration wird soweit ich dies sehen kann keine initrd erzeugt und auch nicht in Grub eingebunden.
Sollte ich eine initrd erzeugen damit die kiste endlich ordentlich bootet? Falls ja, wie mache ich das am geschicktesten, welche Optionen muss ich zum erstellen wählen? Im Menuconfig habe ich nichts entsprechendes gefunden.
Im Voraus schon mal vielen Dank für die weiteren Tips
![Wink ;-)](./images/smilies/icon_wink.gif)
Gruß, Michael
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Falls die Sourcen und das kompilierte noch unverändert vorhanden sind , kannst due make-kpkg nochmal aufrufen . Du fügs dann noch --initrd ein. Und installierst das neu erstelle Paket. Oder du kannst auch mittels mkinitrd eine Initrd bauen.
Den Namen für die Ausgabedatei und Verzeichnis natürlich angeben.
Code: Alles auswählen
mkinitrd -o /boot/initrd.img-2.6.13-1-k7 2.6.13-1-k7 .
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Many thanks, einen Schritt bin ich weiter:
Ich habe mit "mkinitrd -o /boot/initrd.img-2.6.13.3-3" ein Image analog zum zuvor erstellten Kernel erzeugt und in Grub mit der Zeile "initrd boot/initrd.img-2.6.13.3-3" eingebunden. An der Stelle an der der Startvorgang zuvor mit dem Kernel panic stoppte, bootet das System weiter. Zwischendurch kann ich kurz die Nachricht während des durchscrollens sichten, dass der PDC 2096 (mein Promise-Controller) eingebunden wird, wie beim Ursprungs-c´t System auch als hde2. Meine Freude fand allerdings kurz danach ein jähes Ende. Es wurden viele Fehlermeldungen angezeigt, von denen ich leider nur die letzte notieren konnte:
--------------------------------------------------------------
modprobe: Fatal: Could not load /lib/modules/2.6.13.3/modules.dep No such file or directory
mount: unknown filesystem type 'devfs'
mount: devfs: not mounted
pivot_root: No such file or directory
/sbin/init: 432: cannot open dev/console: No such file
Kernel panic - not syncing: Attemted to kill init!
--------------------------------------------------------------
Bezüglich der Meldung Nr.1 Modprobe kann ich den Fehler nicht nachvollziehen, das Verzeichnis /lib/modules/2.6.13.3/ existiert. Allerdings existiert ein Verzeichnis /lib/modules/2.6.13.3. Unter /lib/modules sind wie ich gesehen habe auch Unterverzeichnisse für die ursprüngliche c´t Distribution angelegt. Da die Datei modules.dep existiert, warum hat er Probleme damit und behauptet er findet sie nicht?
Bzgl. /sbib/init habe ich im Verzeichnis /sbin eine Datei *init gefunden. Ist das korrekt? Was bedeutet das führende "*"?
Im Voraus schon mal vielen Dank für die weiteren Tips.
Anmerkung am Rande: Für jemanden, der weg von Microsoft möchte, ist der Umstieg auf Linux ein langer, steiniger Weg. Ohne den festen Willen zum Umstieg und vor allem anderen die Unterstützung hier in der Community wäre dieses Unterfangen absolut aussichtslos.
Ich habe mit "mkinitrd -o /boot/initrd.img-2.6.13.3-3" ein Image analog zum zuvor erstellten Kernel erzeugt und in Grub mit der Zeile "initrd boot/initrd.img-2.6.13.3-3" eingebunden. An der Stelle an der der Startvorgang zuvor mit dem Kernel panic stoppte, bootet das System weiter. Zwischendurch kann ich kurz die Nachricht während des durchscrollens sichten, dass der PDC 2096 (mein Promise-Controller) eingebunden wird, wie beim Ursprungs-c´t System auch als hde2. Meine Freude fand allerdings kurz danach ein jähes Ende. Es wurden viele Fehlermeldungen angezeigt, von denen ich leider nur die letzte notieren konnte:
--------------------------------------------------------------
modprobe: Fatal: Could not load /lib/modules/2.6.13.3/modules.dep No such file or directory
mount: unknown filesystem type 'devfs'
mount: devfs: not mounted
pivot_root: No such file or directory
/sbin/init: 432: cannot open dev/console: No such file
Kernel panic - not syncing: Attemted to kill init!
--------------------------------------------------------------
Bezüglich der Meldung Nr.1 Modprobe kann ich den Fehler nicht nachvollziehen, das Verzeichnis /lib/modules/2.6.13.3/ existiert. Allerdings existiert ein Verzeichnis /lib/modules/2.6.13.3. Unter /lib/modules sind wie ich gesehen habe auch Unterverzeichnisse für die ursprüngliche c´t Distribution angelegt. Da die Datei modules.dep existiert, warum hat er Probleme damit und behauptet er findet sie nicht?
Bzgl. /sbib/init habe ich im Verzeichnis /sbin eine Datei *init gefunden. Ist das korrekt? Was bedeutet das führende "*"?
Im Voraus schon mal vielen Dank für die weiteren Tips.
Anmerkung am Rande: Für jemanden, der weg von Microsoft möchte, ist der Umstieg auf Linux ein langer, steiniger Weg. Ohne den festen Willen zum Umstieg und vor allem anderen die Unterstützung hier in der Community wäre dieses Unterfangen absolut aussichtslos.
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Poste auf http://nopaste.debianforum.de/ beide Configs.
PS. Hast du vieleicht das Dateisystem vergessen ? Oder versehentlich abegwählt? Welches hast du denn ?
PS. Hast du vieleicht das Dateisystem vergessen ? Oder versehentlich abegwählt? Welches hast du denn ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Die Antwort kam ja schneller als ich die Frage formulieren konnte
.
Die Configs habe ich eingestellt unter:
Original c´t: http://nopaste.debianforum.de/1342
Mein Kompilierungsversuch: http://nopaste.debianforum.de/1345
Als Dateisystem habe ich fs3, meine Absicht war dies ebenfalls fest in den Kernel einzubinden. Mit Hilfe des neuen Kernels wollte ich dann ein Raid-1 installieren.
Für Deine Hilfe vorab schon mal vielen Dank.
![Wink ;-)](./images/smilies/icon_wink.gif)
Die Configs habe ich eingestellt unter:
Original c´t: http://nopaste.debianforum.de/1342
Mein Kompilierungsversuch: http://nopaste.debianforum.de/1345
Als Dateisystem habe ich fs3, meine Absicht war dies ebenfalls fest in den Kernel einzubinden. Mit Hilfe des neuen Kernels wollte ich dann ein Raid-1 installieren.
Für Deine Hilfe vorab schon mal vielen Dank.
Hhmm,
soweit ich sehen kann, liegts zumindest nicht an den nicht eingebundenen Filesystemen. Meine Vermutung: Du schreibst
Florian
soweit ich sehen kann, liegts zumindest nicht an den nicht eingebundenen Filesystemen. Meine Vermutung: Du schreibst
Da der Kernel ja noch nicht läuft, musst Du die Kernelversion, für den die initrd erzeugt werden soll, mit angeben:Ich habe mit "mkinitrd -o /boot/initrd.img-2.6.13.3-3" ein Image analog zum zuvor erstellten Kernel erzeugt
Code: Alles auswählen
mkinitrd -o /boot/initrd.img-2.6.13.3-3 2.6.13.3-3
FD - debian Sarge auf Thinkpad R51
Es hat geklappt
. Der Rechner hat soeben durchgebootet
. Unglaublich! Ich habe make-kpmg zusätzlich mit dem Parameter --initrd gestartet. Beim installieren mit dpkg hat er dann eine initrd mit angelegt und auch im Grub mit eingebunden. Das lief dann. Einerseits erfreulich, andererseits frage ich mich warum es nicht ohne die Erzeugung der Ramdisk funktioniert hat. Was habe ich im Menuconfig falsch angekreuzt, so dass der Kernel nur mit einer initrd lauffähig ist?
Nochmals vielen Dank an die vielen Tips und die kurze Reaktionszeit. Ich werde mich nun in´s nächste Abenteuer stürzen: Raid-1 unter Linux einrichten.
In diesem Sinne: Comming up soon again![Wink ;-)](./images/smilies/icon_wink.gif)
![Wink ;-)](./images/smilies/icon_wink.gif)
![Wink ;-)](./images/smilies/icon_wink.gif)
Nochmals vielen Dank an die vielen Tips und die kurze Reaktionszeit. Ich werde mich nun in´s nächste Abenteuer stürzen: Raid-1 unter Linux einrichten.
In diesem Sinne: Comming up soon again
![Wink ;-)](./images/smilies/icon_wink.gif)