Hallo zusammen
Seit einigen Tagen versuche ich meinen frisch kompilierten Kernel ans laufen zu bekommen. Grund, weshalb dieser nicht funktioniert ist, das fehlende Initrd.
Folgendes habe ich durchgeführt:
- Kernel Sourcen von http://www.kernel.org heruntergeladen (2.6.15.6)
- Kernel konfiguriert. Als Vorlage nutzte ich die Konfig von 2.6.8 --> make oldconfig. Der 2.6.15.6er Vanilla-Kernel ist damit nahezu identisch konfiguriert wie der 2.6.8er von Debian.
- make-kpkg --initrd kernel_image --revision=sam.02
Bis hierhin funktionierte auch alles bestens. Beim installieren des Kernels erhielt ich den folgenden Output bzw. die folgende Fehlermeldung:
---------------------------------------------------------------------------
sam:/usr/src# dpkg -i kernel-image-2.6.15.6_sam.02_i386.deb
Selecting previously deselected package kernel-image-2.6.15.6.
(Reading database ... 36648 files and directories currently installed.)
Unpacking kernel-image-2.6.15.6 (from kernel-image-2.6.15.6_sam.02_i386.deb) ...
You are attempting to install an initrd kernel image (version
2.6.15.6) while running a kernel of version 2.6.8-2-686, but
you have no suitable ramdisk generation tool installed among
/usr/sbin/mkinitrd /usr/sbin/mkinitrd.yaird /usr/sbin/mkinitramfs. This will break the installation, unless a suitable ramdisk generation tool is also being installed right
now.
Could not find . at /var/lib/dpkg/tmp.ci/preinst line 228.
Setting up kernel-image-2.6.15.6 (sam.02) ...
Failed to find suitable ramdisk generation tool for kernel version 2.6.15.6 on running kernel 2.6.8-2-686 in /usr/sbin/mkinitrd /usr/sbin/mkinitrd.yaird /usr/sbin/mkinitramfs
dpkg: error processing kernel-image-2.6.15.6 (--install):
subprocess post-installation script returned error exit status 2
Errors were encountered while processing:
kernel-image-2.6.15.6
---------------------------------------------------------------------------
Debian installiert einwandfrei den Kernel, die Module, das Systemmap und die Config. Beim Initrd hat er allerdings seine Probleme (Tools wie mkinitrd, ... sollten alle installiert sein!). Das ist auch der Grund, weshalb der Kernel nicht hoch kommt, beim booten.
Folgendes aus meiner Konfig:
------------------------------------
/etc/mkinitrd/mkinitrd.conf
MKIMAGE='mkcramfs %s %s > /dev/null'
------------------------------------
------------------------------------
/usr/src/linux/.config
CONFIG_CRAMFS=y
------------------------------------
Hatte auch bereits versucht, mittels der Konfig MKIMAGE='genromfs -d %s -f %s' in mkinitrd.conf das initrd ans laufen zu bekommen. Leider ohne Glück.
Mittels dem Befehl mkinitrd -k -o /boot/initrd.img-2.6.15.6 2.6.15.6 wurde erfolgreich ein initrd erstellt, welches jedoch leider nicht mit dem Kernel funktionierte.
Google verriet mir schliesslich, dass Debian seine Sourcen patcht, damit das initrd erstellt werden kann. Leider gab niemand den URL bekannt, wo ich diesen Patch her bekomme.
Anmerken sollte ich, dass ich auf jeden Fall ein initrd haben möchte und für mich das hineinkompilieren der Module keine Lösung ist. Ebenso möchte ich die aktuellste Version der Vanilla-Sourcen verwenden.
Wäre froh, wenn mir jemand einen Tip geben kann, was ich vielleicht falsch bzw. nicht beachtet habe.
Vielen Dank für eure Unterstützung.
Gruss
Stopanes
Unter Debian Initrd erstellen mit Vanilla Sourcen (2.6.15.6)
welche Debian-Version hast Du laufen? Kann sein, daß Du das gleiche Problem hast, wie es im folgenden Artikel auftaucht: http://www.debian-administration.org/articles/291
Gruß Martin
Running Debian Testing/Unstable
Running Debian Testing/Unstable
Yaird ist ziemlich sicher die Lösung
Hallo Martin
Nein, denke nicht, dass ich das selbe Problem habe. Entdeckte jedoch auf debianforum.de noch einen interessanten Beitrag, welcher mit weiterhalf (http://www.debianforum.de/forum/viewtopic.php?t=57115) Allem Anschein nach benötigt man ab Kernel Version 2.6.14 Yaird, um das initrd zu erstellen. Nachdem ich dieses Paket installiert hatte, ging die Installation meines Kernel-Pakets auch ganz flott durch. Einen anderen Artikel zu diesem Thema kann unter http://www.dominik-epple.de/Sarge-Linux_2.6.14-yaird/ eingesehen werden.
Leider bootet meine Maschine immer noch nicht. Sie blieb irgendwann einfach hängen. Meine Vermutung ist, dass ich /etc/mkinitrd/mkinitrd.conf und /etc/mkinitrd/modules noch nicht einwandfrei konfiguriert habe. Weisst du, woher ich eine Vorlage dieser beiden Dateien her bekomme, mit welcher z.B. das initrd des Debian-Kernels erstellt wurde. Folgendes sind meine offenen Fragen:
- Was brauche ich in /etc/mkinitrd/mkinitrd.conf unter MKIMAGE zu konfigurieren?
- Welche Module brauche ich in /etc/mkinitrd/modules einzufügen? Ziel ist es, dass dieser Kernel auf jedem System funktioniert.
Kannst du mir hierbei weiterhelfen?
Danke & Gruss
Stefan
Nein, denke nicht, dass ich das selbe Problem habe. Entdeckte jedoch auf debianforum.de noch einen interessanten Beitrag, welcher mit weiterhalf (http://www.debianforum.de/forum/viewtopic.php?t=57115) Allem Anschein nach benötigt man ab Kernel Version 2.6.14 Yaird, um das initrd zu erstellen. Nachdem ich dieses Paket installiert hatte, ging die Installation meines Kernel-Pakets auch ganz flott durch. Einen anderen Artikel zu diesem Thema kann unter http://www.dominik-epple.de/Sarge-Linux_2.6.14-yaird/ eingesehen werden.
Leider bootet meine Maschine immer noch nicht. Sie blieb irgendwann einfach hängen. Meine Vermutung ist, dass ich /etc/mkinitrd/mkinitrd.conf und /etc/mkinitrd/modules noch nicht einwandfrei konfiguriert habe. Weisst du, woher ich eine Vorlage dieser beiden Dateien her bekomme, mit welcher z.B. das initrd des Debian-Kernels erstellt wurde. Folgendes sind meine offenen Fragen:
- Was brauche ich in /etc/mkinitrd/mkinitrd.conf unter MKIMAGE zu konfigurieren?
- Welche Module brauche ich in /etc/mkinitrd/modules einzufügen? Ziel ist es, dass dieser Kernel auf jedem System funktioniert.
Kannst du mir hierbei weiterhelfen?
Danke & Gruss
Stefan
"/etc/mkinitrd/*" hab' ich nie angerührt. Ich hab' einfach linux-image-2.6.15-k7, kernel-package und linux-source-2.6.15 installiert. Selbstkompilieren hab' ich eigentlich auch nur gemacht, weil ich nen anderen Scheduler ausprobieren wollte. Das allermeiste an der restlichen Kernelkonfigurationsmodifikation hatte nur den Zweck, offensichtlich überflüssige Treiber zu entfernen, damit das kompilieren nicht allzulange dauert. Deswegen habe ich auch am Rest vom System nicht groß was gemacht. Wie gesagt, "/etc/mkinitrd/mkinitrd.conf" ist noch genau die Version aus dem Paket initrd-tools. Das einzige was mir einfällt, wäre MODULES=dep auf MODULES=most setzen. An Deiner Stelle würde ich vielleicht mal versuchen, ob der neueste Debiankernel bootet, das sollte klären, ob alle Abhängigkeiten für einen neueren Kernel erfüllt sind. Den zu installieren und neu zu booten sollte einigermaßen schnell gehen. Dann versuchen, ob ein aus den Debiankernelsourcen selbst kompilierter bootet. Da der Kernel auf jedem System (ich nehme mal an, das schließt Nicht-Debian-Systeme ein) booten soll, wäre es vielleicht auch einen Versuch wert, einen Vanilla-Kernel mit dem Vanilla-Verfahren zu kompilieren und zu installieren und zu versuchen, ob der bootet.
Gruß Martin
Running Debian Testing/Unstable
Running Debian Testing/Unstable
Mit yaird kommt jetzt mein Kernel hoch. Die Konfigurationen in /etc/mkinitrd sind damit hinfällig, da nun nur noch yaird mit seinen Konfigs (/etc/yaird) benötigt wird.
Eine Frage habe ich noch.
Wo hast du die Pakete linux-image-2.6.15-k7 und linux-source-2.6.15 her? So wie es sich anhört, sprichst du hiervon von Debian-Paketen, oder liege ich hiermit falsch? Mit apt-cache search kriege ich nicht eine so aktuelle Version.
Gruss
Stefan
Eine Frage habe ich noch.
Wo hast du die Pakete linux-image-2.6.15-k7 und linux-source-2.6.15 her? So wie es sich anhört, sprichst du hiervon von Debian-Paketen, oder liege ich hiermit falsch? Mit apt-cache search kriege ich nicht eine so aktuelle Version.
Gruss
Stefan
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Das ist nichts ungewöhnliches und geheimnisvolles, das liegt daran das mkinitrd nicht mit sysfs umgehen kann. Und es ab Kernel 2.6.13 das devfs ad acta gelegt worden ist. Deshalb konnte man noch bis Kernel 2.6.12 mkinitrd verwenden.
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.