• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

update von 2.4.x auf 2.6.x

jo1980

Newbie
hallo auch...

hab jetzt schon viele howtos durchgelesen und schon viel ausprobiert, aber irgendwie will das allen nicht so richtig funktionieren.

bei mir läuft momentan suse 9.0 prof. ich würde gern ein kernel-update auf 2.6.7 von kernel.org machen. hab die dateien gezogen, hab div prog. wie mkinitrd, module-init-tools usw aktualisiert und bin dann streng nach howto von thomas hertweck vorgegangen.
bis zum punkt an dem ich die initrd mit
mkinitrd -k vmlinuz-2.6.8-je1 -i initrd-2.6.8-je1
erstelle läuft ja alles nach plan, aber danach kommt folgende fehlermeldung:

cannot determine depencies of modules reiserfs
is module.dep up to date?

modules.dep ist aber vorhanden und es werden die dateien
vmlinuz-2.6.8-je1 und initrd-2.6.8-je1 auch erzeugt.
ich kann danach auch noch die modprobe.conf erstellen. wenn ich den neuen kernel aber booten will bleibt mein bildschirm schwarz und es passiert gar nichts. grub wurde natürlich vorher eingestelt. bei make modules-install hat es auch keine fehlermeldungen gegeben.

weiss jetzt leider nicht mehr was ich da anders machen soll....

wäre nett wenn mir jemand antworten würde, denn die alten threads hier im forum helfen mir leider nicht wirklich weiter

besten dank
gruss
jochen
 

moenk

Administrator
Teammitglied
Um es kurz zu machen: Es dürfte besser klappen eine SuSE 9.1 drüberzuinstallieren. Ich meine da ist jeder Menge an Libraries auch noch auf den neuesten Stand zu bringen, denn Du willst ja nicht nur den Kernel booten sondern auch den Rest des Systems benutzen.
 
A

Anonymous

Gast
Kann es sein, dass du reiserfs in den Kernel kompiliert hast? Dann gibt es einfach kein Modul namens reiserfs und du musst den Eintrag aus /etc/sysconfig/kernel noch löschen.

Ansonsten hat Thomas's HowTo bei mir gut hingehauen.

Die Fehlermeldung beim Booten des neuen Kernel sollte dann aber 'sichtbar' sein und sowas wie 'Unable to mount root fs' anzeigen. Wenn der Bildschirm komplett schwarz bleibt, dann stimmt möglicherweise was mit den Kerneleinstellungen nicht (siehe HowTo):
CONFIG_INPUT=y<
CONFIG_VT=y
CONFIG_VGA_CONSOLE=y
CONFIG_VT_CONSOLE=y

Um aber noch ein Wort zu Moenks Beitrag zu verlieren: Der Umstieg auf den 2.6er Kernel mit SuSE 9.0 liefert ein recht brauchbares System. Ich habe eigentlich nur wegen meiner Experimentierfreudigkeit auf 9.1 gewechselt. Und man kann sogar noch den alten 2.4er nebenher benutzen!
 

oc2pus

Ultimate Guru
prüfe ob du reiserfs als Modul konfiguriert hast oder fest in den Kernel eincompiliert hast ...

@moenk:
Ansonsten hat ein kernel-update nicht zwingend zur Folge, das du ein System auf 9.1 updaten musst :)
 
OP
J

jo1980

Newbie
ui, das geht ja schnell....


also, reiserfs hab ich wirklich direkt rein kompiliert..... ist das blödsinn??

werd den eintrag mal rauslöschen und sehen was passiert...

ansonsten sind die kerneleinstellungen laut deinem zitat richtig!


danke!

@moenk :

das hab ich schon ein paarmal gelesen dass das der update von 2.4.x auf 2.6.x div schierigkeiten macht, aber jetzt hab ich mal damit angefangen und jetzt möcht ich ihn zumindest mal booten können.. man lernt ja gern dazu :))
 

oc2pus

Ultimate Guru
kompiliere reiserfs als Modul, NICHT löschen ... du brauchst das um auf deine reiserfs-partitionen zuzugreifen ;)
 
A

Anonymous

Gast
Da muss ich (ausnahmsweise) oc2pus widersprechen. Wozu den Kernel nochmal kompilieren? Die Fehlermeldung beim Erstellen der Ramdisk kommt doch nur, weil durch den Eintrag in /etc/sysconfig/kernel versucht wird reiserfs in die initrd einzubauen. Da der Support aber im Kernel integriert ist, reicht es einfach den Eintrag zu löschen.

Dummerweise hat dies nix mit dem schwarzen Bildschirm zu tun :cry:

Aber ich würde mal an den Einstellungen für den vga-Modus in der menu.lst rumspielen. Wenn das nicht hilft, dann stimmt möglicherweise der Framebuffer Treiber nicht (also doch neu kompilieren). Hast du einen Bootsplash reingepatcht?
 

oc2pus

Ultimate Guru
abisko00 schrieb:
Da muss ich (ausnahmsweise) oc2pus widersprechen. Wozu den Kernel nochmal kompilieren? Die Fehlermeldung beim Erstellen der Ramdisk kommt doch nur, weil durch den Eintrag in /etc/sysconfig/kernel versucht wird reiserfs in die initrd einzubauen. Da der Support aber im Kernel integriert ist, reicht es einfach den Eintrag zu löschen.

abisko00 hat recht ;)
auf diese einfache Idee kam ich gar nicht... ich compiliere es immer als Modul, macht der Gewohnheit ;)
 
OP
J

jo1980

Newbie
so, hab jetzt trotzdem den kernel neu kombiliert und reiserfs als modul mit eingespielt, und siehe da, danach hat mkinitrd auch wunderbar funktioniert! danke soweit!

nun allerdings wenn ich mit : generate-modprobe.conf > /etc/modprobe.conf die modprobe.conf erstelle, werden viele fehlermeldungen wie warning: not translating ...irgendwelche module... angezeigt.

wenn ich danach boote, bleibt jetzt aber immerhin mein bildschirm nicht mehr schwarz sondern er zeigt ganz kurz irgendwas an, was kann ich leider nicht sagen, denn es geht etwas zu schnell, nur dass am schluss der curser unten links im eck blinkt. (wird euch aber wohl nicht viel helfen, oder?)
 

oc2pus

Ultimate Guru
du musst die modprobe.conf evtl manuell anpassen ...

Thomas Hertweck: Kapitel - Probleme beim Booten des neuen Kernels
 
OP
J

jo1980

Newbie
woher weiss ich welche ich anpassen muss??? müssen es die gleichen wie in modules.conf sein nur nen anderen namen haben???
 

oc2pus

Ultimate Guru
jo1980 schrieb:
woher weiss ich welche ich anpassen muss??? müssen es die gleichen wie in modules.conf sein nur nen anderen namen haben???

hm, woher soll ich das jetzt wissen?
ich kenne dein System nicht, welche Hardware etc ...

ich habe damals mit yast einfach meine Hardware durchgeklickt und geschaut welche Treiber verwendet wurden für Netzwerkkarte und Sound, dann habe ich die in der modprobe angepasst.
 
OP
J

jo1980

Newbie
das wird ausgegeben wenn ich generate-modprobe.conf ausführe.

warum übersetz der nicht /lib/modules/boot ?? und was will er mit dem alten athlon kernel...??

kann die ausgabe nicht ganz verstehen und weiß somit auch nicht ob es wirklich nur an bestimmten modulen liegt, die ich anpassen muss oder ob da irgendwelche grundlegenden einstellungen falsch sind???

wäre nett wenn das mal jemand ansieht.....

muchas gracias...

Warning: not translating path[boot]=/lib/modules/boot
Warning: not translating path[toplevel]=/lib/modules/2.4.21-override-athlon
Warning: not translating path[toplevel]=/lib/modules/2.4.21-99-athlon
Warning: not translating path[toplevel]=/lib/modules/2.4
Warning: not translating path[kernel]=/lib/modules/kernel
Warning: not translating path[fs]=/lib/modules/fs
Warning: not translating path[net]=/lib/modules/net
Warning: not translating path[scsi]=/lib/modules/scsi
Warning: not translating path[block]=/lib/modules/block
Warning: not translating path[cdrom]=/lib/modules/cdrom
Warning: not translating path[ipv4]=/lib/modules/ipv4
Warning: not translating path[ipv6]=/lib/modules/ipv6
Warning: not translating path[sound]=/lib/modules/sound
Warning: not translating path[fc4]=/lib/modules/fc4
Warning: not translating path[video]=/lib/modules/video
Warning: not translating path[misc]=/lib/modules/misc
Warning: not translating path[pcmcia]=/lib/modules/pcmcia
Warning: not translating path[atm]=/lib/modules/atm
Warning: not translating path[usb]=/lib/modules/usb
Warning: not translating path[ide]=/lib/modules/ide
Warning: not translating path[ieee1394]=/lib/modules/ieee1394
Warning: not translating path[mtd]=/lib/modules/mtd
Warning: not translating prune modules.dep
Warning: not translating prune modules.description
Warning: not translating prune modules.generic_string
Warning: not translating prune modules.pcimap
Warning: not translating prune modules.isapnpmap
Warning: not translating prune modules.usbmap
Warning: not translating prune modules.parportmap
Warning: not translating prune modules.ieee1394map
Warning: not translating prune modules.pnpbiosmap
Warning: not translating prune System.map
Warning: not translating prune .config
Warning: not translating prune Kerntypes
Warning: not translating prune build
Warning: not translating prune vmlinux
Warning: not translating prune vmlinuz
Warning: not translating prune bzImage
Warning: not translating prune zImage
Warning: not translating prune .rhkmvtag
Warning: not translating generic_stringfile=/lib/modules/2.4.21-99-athlon/modules.generic_string
Warning: not translating pcimapfile=/lib/modules/2.4.21-99-athlon/modules.pcimap
Warning: not translating isapnpmapfile=/lib/modules/2.4.21-99-athlon/modules.isapnpmap
Warning: not translating usbmapfile=/lib/modules/2.4.21-99-athlon/modules.usbmap
Warning: not translating parportmapfile=/lib/modules/2.4.21-99-athlon/modules.parportmap
Warning: not translating ieee1394mapfile=/lib/modules/2.4.21-99-athlon/modules.ieee1394map
Warning: not translating pnpbiosmapfile=/lib/modules/2.4.21-99-athlon/modules.pnpbiosmap
Warning: not translating depfile=/lib/modules/2.4.21-99-athlon/modules.dep
Warning: not translating persistdir=/var/lib/modules/persist
linux:/boot #
 
A

Anonymous

Gast
Warum der Befehl die Einträge vom 2.4er Kernel nicht übersetzt ist klar, oder?!

Mich wundert allerdings, warum so viele Modulverzeichnisse direkt unter /lib/modules liegen. Da gehört immer noch eine Ebene mit der Kernelversion dazwischen. Also /lib/modules/2.6.8/kernel anstatt /lib/modules/kernel. Gibt es diese Verzeichnisse wirklich? Dann hast du wohl ein wenig rumgespielt, bevor das Kompilieren/Installieren wirklich funktioniert hat. :wink:

Ansonst würde ich mir darüber erstmal keine Gedanken machen, sondern das Bootprotokoll genau studieren, bei welchen Moulen es vielleicht Probleme gegeben hat und diese dann gezielt anpassen (z.B. wenn irgendwo steht "module zxy_1 not found", aber ein Modul namens zxy-1 existiert, dann kannst du das in der modprobe.conf gefahrlos ändern).
 

oc2pus

Ultimate Guru
Mich wundert allerdings, warum so viele Modulverzeichnisse direkt unter /lib/modules liegen.

das liegt an der "Dummheit" des converter-scripts, dieses hat festverdrahtete Konvertierungen eingebaut und probiert alle aus... und ist sehr gesprächig ....

Dieses script verwendet uname -r ==> und klappert deshalb die aktuellen /lib/modules vom 2.4er (dem aktuell laufenden Kernel) ab.
 
OP
J

jo1980

Newbie
ok, warum er die alten einträge nicht übersetzt ist schon klar!

/lib/modules/2.8.8-je1/kernel gibt es auch und so viel dran rumgespielt hab ich eigentlich gar nicht, zumindest nicht dass ich wüsste... was natürlich nix heißt :)....

naja, werd mir dann eben mal das bootprotokoll ansehen, vielleicht werd ich dann daraus schlauer.

@oc2pus:
klappert der nur uname -r ab nur die alten module vom 2.4er ab?? die neuen übersetzt der aber schon auch mit, oder??
 

oc2pus

Ultimate Guru
klappert der nur uname -r ab nur die alten module vom 2.4er ab?? die neuen übersetzt der aber schon auch mit, oder??

das gilt nur für das konverter-script. hat nichts mit dem compile zu tun ;)
und dieses converter-script versucht nach bestem Wissen und Gewissen, alte Modul-Namen in der /etc/modules.conf in die neue /etc/modprobe.conf zu "retten".
 
OP
J

jo1980

Newbie
komm leider immer noch nicht weiter....

der kernel bootet immer noch nur ganz kurz, ohne dass ich die meldungen lesen kann (zu schnell) und bleibt dann irgendwo hängen ohne dass ich etwas anderes machen kann al neustarten. wie komm ich denn an die ausgaben ran? wenn ich danach den alten kernel boote und die /var/log/boot.msg anschau ist ja immer nur das letzte booten drin ?!?

bootet der 2.4 er kernel eigentlich nicht auch dann aus der modpobe.conf oder noch aus der module.conf, nachdem ich die modprobe generiert habe?

den bootsplash hab ich noch nicht upgedatet, aber das dürfte doch eigentlich für das booten selber keinen unterschied machen, oder???
 
A

Anonymous

Gast
Wäre interessant zu wissen, wo er denn hängenbleibt. Was sind die letzten Meldungen (oder wird der Bildschirm wieder schwarz)? Die Tatsache, dass die /var/log/boot.msg (ist nicht boot.omsg das Protokoll vom vorletzten Boot?) noch nicht geschrieben wurde deutet auf einen frühzeitigen Hänger hin.

Jetzt, wo du reiserfs als Modul kompiliert hast, musst du natürlich darauf achten, dass das Modul auch in der Ramdisk enthalten ist.

Der 2.4er Kernel verwendet weiterhin modules.conf.

Ich kann nur berichten, welche Umstiegsprobleme ich gehabt habe, aber die waren sehr hardwarespezifisch: mein ICH5 S-ATA controller ist vom 2.4er noch als /dev/hda erkannt worden, mit dem 2.6er wurde die Platte dann zu /dev/sda. Daher stimmte die fstab nicht mehr und konnte nicht booten.
 

oc2pus

Ultimate Guru
nachdem kernel compile mit reiserfs als Modul. Hast du da auch mkinitrd aufgerufen für deinen neuen Kernel ?

in /var/log/boot.msg stehen die boot-Meldungen des aktuellen boot.
in /var/log/boot.omsg stehen die boot-Meldungen des vorherigen boot.
also dort schauen was es für Probleme gibt ....
 
Oben