Hallo,
heute hatte ich mehr aus Langeweile heraus den Debiankernel nachbauen wollen. Verwendet habe ich dabei den Code aus linux-source-2.6.26, kernel-package und die /boot/config-2.6.26-1-686 als .config. Ergebnis: Ein Kernel-Panic beim Starten, was mich sehr verwundert hatte. Die Ursache des Panics ist übrigens, dass sämtliche Dateisysteme nur als Modul kompiliert werden, obwohl der Dateisystemtreiber von / (und /boot vermutlich auch) fest eingebunden werden müsste.
Mit dem vorkompilierten Kernel ist das Starten ja kein Problem, mit dem Selbstgebauten klappt es nunmal nicht. Ich war stets der Ansicht, dass der Inhalt von /boot/config-2.6.26-1-686 gleich dem Inhalt der .config wäre, mit welcher der 2.6.26-1-686-Kernel kompiliert wurde. Entweder habe ich nun ein Verständnisproblem, und die Inhalte stimmen tatsächlich überein, oder sie tun es nunmal nicht. Wenn ersteres der Fall sein sollte: Was habe ich übersehen? Wenn zweiteres der Fall sein sollte: Was steht in /boot/config-2.6.26-1-686 dann eigentlich drin und wo ist die richtige .config zu finden?
Mit freundlichen Grüßen,
mikrokosmos
/boot/config-2.6.26-1-686 erzeugt keinen benutzbaren Kernel
- mikrokosmos
- Beiträge: 225
- Registriert: 26.07.2006 19:38:24
Re: /boot/config-2.6.26-1-686 erzeugt keinen benutzbaren Kernel
Also ich verwende hier gerade auf dem Rechner EXT3 und das ist hier ein Modul und nicht fest im Kernel.mikrokosmos hat geschrieben:Die Ursache des Panics ist übrigens, dass sämtliche Dateisysteme nur als Modul kompiliert werden, obwohl der Dateisystemtreiber von / (und /boot vermutlich auch) fest eingebunden werden müsste.
Ja, genau so sollte es sein.mikrokosmos hat geschrieben:Ich war stets der Ansicht, dass der Inhalt von /boot/config-2.6.26-1-686 gleich dem Inhalt der .config wäre, mit welcher der 2.6.26-1-686-Kernel kompiliert wurde.
Gruß,
Daniel
- CREEQ
- Beiträge: 64
- Registriert: 30.07.2002 19:04:58
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Berlin
-
Kontaktdaten:
Re: /boot/config-2.6.26-1-686 erzeugt keinen benutzbaren Kernel
Hallo mikrokosmos,
Mit welchem Fehler erscheint Dein Kernel Panic? Cannot find root fs?
Hast Du nach der Compilierung die Datei /usr/src/linux/arch/i386/boot/bzImage nach /boot/vmlinuz-2.6.26-1-686 kopiert und Deinen Bootloader angepasst?
Gruß.
Du kannst die config Deines Kernels in /boot/ ablegen (ich habs nie gemacht und ich denke es soll nur dafür dienen, später zu wissen, wie compiliert wurde).mikrokosmos hat geschrieben:Ich war stets der Ansicht, dass der Inhalt von /boot/config-2.6.26-1-686 gleich dem Inhalt der .config wäre, mit welcher der 2.6.26-1-686-Kernel kompiliert wurde. Entweder habe ich nun ein Verständnisproblem, und die Inhalte stimmen tatsächlich überein, oder sie tun es nunmal nicht. Wenn ersteres der Fall sein sollte: Was habe ich übersehen? Wenn zweiteres der Fall sein sollte: Was steht in /boot/config-2.6.26-1-686 dann eigentlich drin und wo ist die richtige .config zu finden?
Mit welchem Fehler erscheint Dein Kernel Panic? Cannot find root fs?
Hast Du nach der Compilierung die Datei /usr/src/linux/arch/i386/boot/bzImage nach /boot/vmlinuz-2.6.26-1-686 kopiert und Deinen Bootloader angepasst?
Gruß.
http://f00l.de
Visit us: #linux-support @ EFNet
Visit us: #linux-support @ EFNet
- mikrokosmos
- Beiträge: 225
- Registriert: 26.07.2006 19:38:24
Re: /boot/config-2.6.26-1-686 erzeugt keinen benutzbaren Kernel
Also, die Kernelpanic lautete wie folgt: Und ich meine mich zu erinnern, dass ich damals, als ich kurzzeitig mal mit Gentoo gespielt hatte, diese Meldung erhielt, weil ich den Dateisystemtreiber halt nur als Modul eingebunden hatte. Aber das ist schon einige Zeit her und irren kann ich mich außerdem.
Um nochmal die Sache mit dem Kompiliervorgang zu klären: Ich hatte den Quellcode aus dem Debianpaket ausgepackt, bin in das entsprechende Verzeichnis gewechselt, habe die /boot/config-2.6.26-1-686 als .config dort hineinkopiert, dann mit make menuconfig den Versionsnamen noch etwas drangehängt, damit ich den Kernel wiederfinde und dann per und den Kernel installiert. Dpkg hat mir dabei das Anpassen der menu.lst von Grub und das umherkopieren vom bzImage erspart.
Was mir grade auffällt ist, dass in /boot gar keine entsprechende initrd-Datei liegt, was natürlich Ursache des Problems sein könnte. Fragt sich nur, wieso die nicht mit im Debianpaket landet.
Code: Alles auswählen
Kernel Panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0)
Um nochmal die Sache mit dem Kompiliervorgang zu klären: Ich hatte den Quellcode aus dem Debianpaket ausgepackt, bin in das entsprechende Verzeichnis gewechselt, habe die /boot/config-2.6.26-1-686 als .config dort hineinkopiert, dann mit make menuconfig den Versionsnamen noch etwas drangehängt, damit ich den Kernel wiederfinde und dann per
Code: Alles auswählen
fakeroot make-kpkg --initrd --revision=eigener1 kernel_image
Code: Alles auswählen
dpkg -i linux-image-2.6.26eigener1_eigener1_i386.deb
Was mir grade auffällt ist, dass in /boot gar keine entsprechende initrd-Datei liegt, was natürlich Ursache des Problems sein könnte. Fragt sich nur, wieso die nicht mit im Debianpaket landet.
Re: /boot/config-2.6.26-1-686 erzeugt keinen benutzbaren Kernel
Und genau das ist die Ursach!mikrokosmos hat geschrieben:Was mir grade auffällt ist, dass in /boot gar keine entsprechende initrd-Datei liegt, was natürlich Ursache des Problems sein könnte. Fragt sich nur, wieso die nicht mit im Debianpaket landet.
Die FS-Treiber des Debiankernels sind auch alle als Modul gebaut, deshalb braucht dieser zwingend eine initrd.
Warum keine gebaut wurde ist seltsam.
Schau mal in der /etc/kernel-img.conf nach, ob dort do_initrd = yes steht.
@CREEQ Das macht doch alles make-kpkg bzw. dpkg beim installieren.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
- mikrokosmos
- Beiträge: 225
- Registriert: 26.07.2006 19:38:24
Re: /boot/config-2.6.26-1-686 erzeugt keinen benutzbaren Kernel
Jepp, ich habs auch grade nochmal überprüft: Eincirrussc hat geschrieben:Und genau das ist die Ursach!
Code: Alles auswählen
update-initramfs 2.6.26eigener1
update-grub
Dort tatsächlich do_initrd = yes und ich musste trotzdem den Bau der initrd per Hand anwerfen. Aber das wundert mich nicht weiter, da der Eintrag laut der entsprechenden Manpage nur verhindert, dass bei der Kernelinstallation eine Warnung angezeigt wird, dass der Bootloader entsprechend konfiguriert werden sollte. Mit dem Erstellen der initrd hat das soweit ich das sehe nichts zu tun.cirrussc hat geschrieben:Warum keine gebaut wurde ist seltsam.
Schau mal in der /etc/kernel-img.conf nach, ob dort do_initrd = yes steht.