[VMWare] Neuen Kernel 2.6.16.18 kompilieren

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
XCooperation
Beiträge: 78
Registriert: 01.06.2005 15:05:37
Wohnort: Schrobenhausen
Kontaktdaten:

[VMWare] Neuen Kernel 2.6.16.18 kompilieren

Beitrag von XCooperation » 27.05.2006 19:02:27

Hallo,
ich wollte meinem VMWare Debian den neuen Kernel 2.6.16.18 verpassen. Leider bekomme ihc das nicht so ganz hin.
Das Erstellen mit make menuconfig haut hin.
Nur wenn ich dann mit make-kpkg kernel_image das Kompilieren starte, frägt er mich immer noch ein paar Fragen (Prozessortyp etc.) die ich eigentlich beantwortet habe.
Ok, ich mache weiter, installiere das Deb-Paket und erstelle eine initrd mit mkinitrd (ich brauch das Modul sata_via im initrd)
makeinitrd -o /boot/initrd.img-2.6.16.18
Dann kommt die Warnung:

Code: Alles auswählen

/usr/sbin/mkinitrd: add_modules_dep_2_5: modprobe failed
FATAL: Module mptscsih not found
Warning: This error may indicate that your kernel will fail to boot.
Naja, und leider hat er da auch Recht...
Hat jemand eine Ahnung was dieses Modul ist und woher ich es bekommen könnte?

Mfg Xenesis
Never trust a running system!
http://www.xenesis.net

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 27.05.2006 20:25:31

Ehm, wieso erstellst du Kernel und initrd nacheinander? Den richtigen Parameter mitgeliefert, macht das make-kpkg auch:

Code: Alles auswählen

make-kpkg --revision=foo.0 --intrd kernel_image
und du bekommst ein fertiges Paket inkl. initrd. Aber --help hätte dir das auch schon verraten.
Das Modul, das mkinitrd vermisst, befindet sich in source-Form in /usr/src/linux/drivers/message/fusion/ und ist ein Treiber für diverse LSI-Controller:
* linux/drivers/message/fusion/mptscsih.h
* High performance SCSI / Fibre Channel SCSI Host device driver.
* For use with PCI chip/adapter(s):
* LSIFC9xx/LSI409xx Fibre Channel
* running LSI Logic Fusion MPT (Message Passing Technology) firmware.
*
* Copyright (c) 1999-2005 LSI Logic Corporation
* (mailto:mpt_linux_developer@lsil.com)
Ich glaub nicht, das du das brauchst? :)

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Benutzeravatar
XCooperation
Beiträge: 78
Registriert: 01.06.2005 15:05:37
Wohnort: Schrobenhausen
Kontaktdaten:

Beitrag von XCooperation » 27.05.2006 20:56:23

Das Modul hab ich inzwischen gefunden. Scheint er irgendwie zu brauchen, keine Ahnung warum...
Fertig bin ich allerdings immer noch nicht:

Code: Alles auswählen

mount: unknown filesystem type "devfs"
SCSI subsystem initialized
Fusion MPT base driver 3.03.07
Copyright 1999-2005 LSI Logic Company
umount: devfs: not mounted
mount: unknown filesystem type "devfs"
umount: devfs: not mounted
pivot_root: no such file or directory
/sbin/init: 432: cannot open dev/console: No such file
Kernel panic - not syncing: Attempted to kill init!
SChlau werd ich aber daraus auch nicht...
Komisch ist, das nicht mal der Kernel geht, der bei meinem realen Debian funktioniert...
Never trust a running system!
http://www.xenesis.net

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 28.05.2006 11:12:18

XCooperation hat geschrieben:Das Modul hab ich inzwischen gefunden. Scheint er irgendwie zu brauchen, keine Ahnung warum...
Fertig bin ich allerdings immer noch nicht:
Dann versuch doch mal rauszukriegen, warum er das haben möchte. :)
SChlau werd ich aber daraus auch nicht...
Komisch ist, das nicht mal der Kernel geht, der bei meinem realen Debian funktioniert...
Das ist die typische Fehlermeldung, wenn er die initrd nicht findet. Hast du die an der richtigen Stelle platziert (/ oder /boot)?
Das der Kernel deines realen Debian nicht geht, kann gut sein. Schliesslich hast der andere Hardware, verwendest du einen selbsterstellten oder einen Std-Kernel?

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Benutzeravatar
XCooperation
Beiträge: 78
Registriert: 01.06.2005 15:05:37
Wohnort: Schrobenhausen
Kontaktdaten:

Beitrag von XCooperation » 28.05.2006 13:32:05

Ich glaub ich weiß jetzt an was es liegt:
Die neuen Kernel unterstützen mkinitrd nicht. Da ich meine initrd aber immer damit erstellt habe, kommt es immer zu dieser Fehlermeldung. Und da ich noch stable benützte, kann ich die neuen Tools nicht benützen. Also muss ich wohl mit einem älteren Kernel vorlieb nehmen.
Danke für die Hilfe ;-)
Zuletzt geändert von XCooperation am 28.05.2006 21:28:28, insgesamt 1-mal geändert.
Never trust a running system!
http://www.xenesis.net

Benutzeravatar
XCooperation
Beiträge: 78
Registriert: 01.06.2005 15:05:37
Wohnort: Schrobenhausen
Kontaktdaten:

Beitrag von XCooperation » 28.05.2006 14:18:07

Zu früh gefreut, der gleiche Fehler :-(
Seltsam, die initrd ist aber da und korrekt in grub eingetragen.
Never trust a running system!
http://www.xenesis.net

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 28.05.2006 17:11:51

Vorrausgesetzt, du hast von allen relevanten Paketen die erforderlichen Versionen (auf dem neusten Stand?) sollte das eigentlich ohne Probleme funktionieren.
Unter welcher Kernelversion versuchst du die initrd zu erstellen? Wenn das nicht die gleiche ist, wie die des Kernels, den du gerade bearbeitest, musst du initrd sagen für welche Version das sein soll:

Code: Alles auswählen

mkinitrd -o initrd-version kernel_version
Wenn das ohne Fehlermeldung abläuft, kannst du sie installieren.
Falls das immernoch dysfunktional ist, hast du beim Kernelbauen irgendwas flasch gemacht. Deine Aussage von oben, das dich make beim Starten des Übersetzen nochmal nach den Eckdaten fragt, irritiert mich da etwas.

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 28.05.2006 17:22:26

@XCooperation ala storm:
XCooperation hat geschrieben:makeinitrd -o /boot/initrd.img-2.6.16.18
??

initrd ist ein cramfs (sarge-standard) oder komprimiertes ext2fs.img (oder wunschweise),
bei suse (ab 9.? ) wird ein initramfs gemacht (*.cpio.gz-Archiv)
sid oder etch macht das mit dem initramfs-Paket (mkinitramfs), die Kernel brauchen dafür eigentlich nur deflate-Unterstützung.
Erkennt der Kernel ein initramfs, sucht er nach /init statt nach /linuxrc.

Benutzeravatar
XCooperation
Beiträge: 78
Registriert: 01.06.2005 15:05:37
Wohnort: Schrobenhausen
Kontaktdaten:

Beitrag von XCooperation » 28.05.2006 21:25:19

Ok, ich habs aufgegeben ;-)
Was der Fehler war: Wie rendegast gesagt hat, erstellt mkinitrd ein cramfs. Das wird bei den neueren Kernel nicht unterstützt. Ich benutze Sarge, also bräuchte ich die ramfs-tools, die das richtige Dateisystem für die initrd erstellen. Dummerweise habe ich noch den Kernel 2.4. Unter dem funktionieren die neuen Tools nicht...
Naja was solls, dann nehm ich halt Kernel 2.6.8, da gibts auch ein offizielles Paket dazu :D

Achja, wieso diese Meldungen beim make-kpkg kommen.
In der Anleitung der ich gefolgt bin, stand man sollte ein

Code: Alles auswählen

make-kpkg kernel_image
machen.
Scheint aber nicht zu stimmen, wenn man

Code: Alles auswählen

make-kpkg kernel-image
macht, klappts einwandfrei.
Never trust a running system!
http://www.xenesis.net

Benutzeravatar
DoubleU
Beiträge: 37
Registriert: 28.12.2005 00:17:56
Wohnort: /media/bw
Kontaktdaten:

Beitrag von DoubleU » 21.06.2006 15:27:14

also bei mir hat das mkinitrd gefunzt ^^ Bin mal gespannt ob ich dadurch weiter komme

Antworten