Hallo, ich hatte versucht, für mein SuSE-Linux V8.1 den Kernel 2.6.2 zu compilieren (was auch klappte, allerdings sich dann nicht booten lies <g> - aber das ist eine andere Geschichte) Da der 2.6er-Kernel ja eine neue 'insmod' braucht, habe ich wie vorgeschrieben den alten 'insmod' mittels module-init-tools genaue 1x! zu 'insmod.old' konvertiert. Danach ließ sich das 'alte' Linux 2.4 auch anstandslos booten und ich konnte noch einmal den 2.6er-Kernel compilieren. Leider ließ er sich immer noch nicht booten und ich wollte daher wiederum mit dem alten Kernel booten: jetzt klappte es nicht mehr :-( Ich bekomme folgende Meldung angezeigt: ------------ schnipp ---------------- Kernel requires old insmod, but couldn't run insmode.old: no such file or directory Kernel panic: VFS: Unable to mount root fs on 16:01 ------------ schnapp ----------------- Mittels einer Knoppix-CD habe ich dann mal nachgeschaut - insmod.old ist im Verzeichnis /sbin vorhanden. Vorsichtshalber habe ich es dann noch in das Verzeichnis /lib/modules(version) kopiert, aber das hat nichts geholfen :-( Über Google gesucht, konnte ich nur was zum 'Kernel panic' finden, aber nichts über die angeblich fehlende insmod.old - und das ist ja wohl der auslösende Fehler. Was könnte ich sonst noch versuchen - mal abgesehen einer Neuinstallation von SuSE 8.1? MfG R. Montag
R.Montag wrote:
ich hatte versucht, für mein SuSE-Linux V8.1 den Kernel 2.6.2 zu compilieren (was auch klappte, allerdings sich dann nicht booten lies <g> - aber das ist eine andere Geschichte)
Da der 2.6er-Kernel ja eine neue 'insmod' braucht, habe ich wie vorgeschrieben den alten 'insmod' mittels module-init-tools genaue 1x! zu 'insmod.old' konvertiert.
*grosses Fragezeichen* Was verstehst Du bitte unter "konvertiert"? Du brauchst definitiv ein neues Paket fuer die modutils, wie das Paket fuer insmod und Konsorten bei SuSE heisst. $> rpm -ql modutils /bin/lsmod /bin/lsmod.old /bin/lsmod.static /sbin/depmod /sbin/depmod.old /sbin/generate-modprobe.conf /sbin/genksyms /sbin/insmod /sbin/insmod.old /sbin/insmod.static /sbin/insmod.static.old [...]
[...] Ich bekomme folgende Meldung angezeigt:
------------ schnipp ---------------- Kernel requires old insmod, but couldn't run insmode.old: no such file or directory Kernel panic: VFS: Unable to mount root fs on 16:01 ------------ schnapp -----------------
Vermutlich fehlerhafte Installation des modutils Paketes. Das haengt eben mit dem zusammen, was ich oben schrieb: keine Ahnung, was Du unter "konvertiert" verstehst. Da ging wohl 'was schief.
Mittels einer Knoppix-CD habe ich dann mal nachgeschaut - insmod.old ist im Verzeichnis /sbin vorhanden. Vorsichtshalber habe ich es dann noch in das Verzeichnis /lib/modules(version) kopiert, aber das hat nichts geholfen :-(
Das Kopieren kannst Du Dir sparen, insmod wird an einem ganz bestimmten Ort gesucht - oft ist es hardcoded auf /sbin/insmod. Wurde eine neue initial ramdisk erstellt in Deiner Kernel Update-Aktion? Evtl. kommt das Problem naemlich daher.
Über Google gesucht, konnte ich nur was zum 'Kernel panic' finden, aber nichts über die angeblich fehlende insmod.old - und das ist ja wohl der auslösende Fehler.
Dein Fehler liegt wohl in einem falschen Upgrade des modutils Paketes.
Was könnte ich sonst noch versuchen - mal abgesehen einer Neuinstallation von SuSE 8.1?
Rettungssystem starten, das zur SuSE 8.1 gehoerende modutils Paket wieder einspielen (wie das vom Rettungssystem aus geht, findest Du im Archiv der Liste), die Kernel-Installation ueberpruefen und evtl. eine geeignete initrd kreieren, dann neu booten und es sollte hoffentlich wieder gehen. Beim naechsten Upgrade der modutils solltest Du sorgfaeltiger Vorgehen - beim Rumwerkeln am Kernel und an den Kernel-Tools sollte man schon einigermassen wissen, was man da tut. Gruesse, Thomson
In article <402E1A39.30905@gpi.uni-karlsruhe.de>, Thomas Hertweck wrote:
grosses Fragezeichen* Was verstehst Du bitte unter "konvertiert"? Du brauchst definitiv ein neues Paket fuer die modutils, wie das Paket fuer insmod und Konsorten bei SuSE heisst.
Ist klar, daß ich ein neues Paket verwenden muß :-) Aber, wenn man den alten 2.4er-Kernel benutzen möchte, wird ja der alte insmod benötigt - und um die alte Version zu retten, dient die 'Konvertierung' (mir fiel kein besseres Wort dafür ein): von http://www.kernel.org/pub/linux/kernel/people/rusty/modules/ habe ich mir die aktuelle Version der Modutils geholt, entpackt und dann mittels make moveold # nur beim ersten mal!!! make make install erst die alte insmod nach insmod.old 'gerettet' und die neue Version installiert. Falls jetzt der 2.4er-Kernel gestartet werden soll, ruft das neue /sbin/insmod die alte Version auf - so können beide Versionen nebeneinander auf dem Rechner leben. Mein Problem ist nun eben, daß zwar 'insmod.old' aufgerufen, aber aus unerfindlichen Gründen nicht gefunden wird :-( Es ist aber definitv vorhanden! MfG R. Montag
R.Montag wrote:
[...] Aber, wenn man den alten 2.4er-Kernel benutzen möchte, wird ja der alte insmod benötigt - und um die alte Version zu retten, dient die 'Konvertierung' (mir fiel kein besseres Wort dafür ein):
Das "alte" insmod wird benoetigt, weil eben mit Kernel 2.6 einiges geaendert wurde im Bereich der Module, u.a. auch das Suffix fuer die Module. Das hat IMHO aber nichts mit Konvertierung zu tun. Du brauchst schlicht zwei Versionen des Programms auf Deinem System, wobei die neue Version, die standardmaessig aufgerufen wird, im Falle eines 2.4er Kernels die Anfrage zum Laden eines Modules weiterreicht an die "alte" Version von insmod.
von http://www.kernel.org/pub/linux/kernel/people/rusty/modules/ habe ich mir die aktuelle Version der Modutils geholt, entpackt und dann mittels
make moveold # nur beim ersten mal!!! make make install
erst die alte insmod nach insmod.old 'gerettet' und die neue Version installiert.
Ich wette, Du hast da einen Fehler gemacht beim Installieren. Die Aufrufe von insmod sind, wie ich bereits schrieb, teilweise hardcoded inkl. Pfad, d.h. insmod muss an die passende Stelle installiert werden, sonst geht das schief.
Falls jetzt der 2.4er-Kernel gestartet werden soll, ruft das neue /sbin/insmod die alte Version auf - so können beide Versionen nebeneinander auf dem Rechner leben.
Mein Problem ist nun eben, daß zwar 'insmod.old' aufgerufen, aber aus unerfindlichen Gründen nicht gefunden wird :-(
Siehe oben. Vermutlich wird es eben woanders gesucht bzw. ist auf einen anderen Pfad hart ins Binary gecoded. Ich wuerde Dir dringend empfehlen, aus dem SuSE-FTP-Verzeichnis von "kraxel" das entsprechende SuSE Source-RPM (modutils und Konsorten) zu holen, auf Deiner Maschine zu uebersetzen und das dann zu installieren, dann gibt es auch keine Probleme. CU, Th.
Hallo Thomas! In article <402F496A.7000202@gpi.uni-karlsruhe.de>, Thomas Hertweck wrote:
Ich wette, Du hast da einen Fehler gemacht beim Installieren. Die Aufrufe von insmod sind, wie ich bereits schrieb, teilweise hardcoded inkl. Pfad, d.h. insmod muss an die passende Stelle installiert werden, sonst geht das schief.
Mich irritiert nur, warum es zumindest *einmal* geklappt hat ;-) Aber ansonsten dürfte es stimmen, daß ich irgendwo einen Fehler gemacht habe ....
Ich wuerde Dir dringend empfehlen, aus dem SuSE-FTP-Verzeichnis von "kraxel" das entsprechende SuSE Source-RPM (modutils und Konsorten) zu holen, auf Deiner Maschine zu uebersetzen und das dann zu installieren, dann gibt es auch keine Probleme.
Habe mir mal die 3 dort zu diesem Thema angebotenen RPM-Pakete runtergeladen (Danke für den Tip :-) ) So wie es aussieht, wird es allerdings deutlich komplexer als gedacht: die modutils-2.4.25-78.i586.rpm benötigen die libc.so.6(GLIBC_2.3), das für die libc.so.6 angeblich zugehörige Paket glibc-2.3.2-6.i586.rpm wiederum bemeckert beim Installierungsversuch ein Abhängigkeitsproblem der Form glibc wird von glibc-devel-2.2.5-177 benötigt glibc wird von glibc-locale-2.2.5-177 benötigt und läßt sich daher nicht istallieren. Und damit beißt die Katze sich in den Schwanz :-( Mal sehen, wo ich den passenden glibc-devel herbekomme ... In jedem Fall scheine ich noch einiges vor mir zu haben <g> MfG R. Montag
Am Montag, 16. Februar 2004 17:55 schrieb R.Montag:
In article <402F496A.7000202@gpi.uni-karlsruhe.de>, Thomas Hertweck wrote:
Ich wuerde Dir dringend empfehlen, aus dem SuSE-FTP-Verzeichnis von "kraxel" das entsprechende SuSE Source-RPM (modutils und Konsorten) zu holen, auf Deiner Maschine zu uebersetzen und das dann zu installieren, dann gibt es auch keine Probleme.
Habe mir mal die 3 dort zu diesem Thema angebotenen RPM-Pakete runtergeladen (Danke für den Tip :-) )
So wie es aussieht, wird es allerdings deutlich komplexer als gedacht: die modutils-2.4.25-78.i586.rpm benötigen die libc.so.6(GLIBC_2.3), das für die libc.so.6 angeblich zugehörige Paket glibc-2.3.2-6.i586.rpm wiederum bemeckert beim Installierungsversuch ein Abhängigkeitsproblem der Form
Ich habe den Thread jetzt nicht verfolgt aber das Installieren einer neuen glibc würde ich erst mal bleibenlassen sonst wir es wirklich deutlich komplexer... Gruß Harald
Un jetzt noch mal richtig... Am Montag, 16. Februar 2004 17:55 schrieb R.Montag:
In article <402F496A.7000202@gpi.uni-karlsruhe.de>, Thomas Hertweck wrote:
Ich wuerde Dir dringend empfehlen, aus dem SuSE-FTP-Verzeichnis von "kraxel" das entsprechende SuSE Source-RPM (modutils und Konsorten) zu holen, auf Deiner Maschine zu uebersetzen und das dann zu installieren, dann gibt es auch keine Probleme.
Habe mir mal die 3 dort zu diesem Thema angebotenen RPM-Pakete runtergeladen (Danke für den Tip :-) )
Du solltest nach den Source-RPMs sehen und diese dann mit "rpm --rebuild xxx.src.rpm" üeberstetzen. Runtergeladen hast Du aber die Binär-RPMs. Die passen halt nicht zu Deiner 8.1...
So wie es aussieht, wird es allerdings deutlich komplexer als gedacht: die modutils-2.4.25-78.i586.rpm benötigen die libc.so.6(GLIBC_2.3), das für
...und daher erhälst Du diese Meldung. Gruß Harald
Hallo Harald! In article <200402161833.33796.harald_mail@t-online.de>, Harald Huthmann wrote:
Du solltest nach den Source-RPMs sehen und diese dann mit "rpm --rebuild xxx.src.rpm" üeberstetzen. Runtergeladen hast Du aber die Binär-RPMs. Die passen halt nicht zu Deiner 8.1...
So wie es aussieht, wird es allerdings deutlich komplexer als gedacht: die modutils-2.4.25-78.i586.rpm benötigen die libc.so.6(GLIBC_2.3), das für
...und daher erhälst Du diese Meldung.
Aaaaahhhhh Danke für diesen Hinweis - ich hätte mich mit Sicherheit vollkommen verzettelt, um das auf die Reihe zu bekommen :-) Anscheinend ist zwischen der 8.1 und der 8.2 doch ein deutlicherer Unterschied, als ich blauäugig angenommen habe ... MfG R. Montag
Am Montag, 16. Februar 2004 17:55 schrieb R.Montag:
So wie es aussieht, wird es allerdings deutlich komplexer als gedacht: die modutils-2.4.25-78.i586.rpm benötigen die libc.so.6(GLIBC_2.3), das für die libc.so.6 angeblich zugehörige Paket glibc-2.3.2-6.i586.rpm wiederum bemeckert beim Installierungsversuch ein Abhängigkeitsproblem der Form
glibc wird von glibc-devel-2.2.5-177 benötigt glibc wird von glibc-locale-2.2.5-177 benötigt
Du willst nicht an die glibc gehen, Du willst das nicht, nein, Nein, NEIN! -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Hallo manfred! In article <200402162238.48185.Manfred.Tremmel@iiv.de>, Manfred Tremmel wrote:
Du willst nicht an die glibc gehen, Du willst das nicht, nein, Nein, NEIN!
Stimmt - das will ich wirklich nicht :-) Deswegen will ich mich ja mal am prm rebuild und den Sourcen versuchen ;-) MfG R. Montag
* Sonntag, 15. Februar 2004 um 11:10 (+0100) schrieb R.Montag:
Falls jetzt der 2.4er-Kernel gestartet werden soll, ruft das neue /sbin/insmod die alte Version auf - so können beide Versionen nebeneinander auf dem Rechner leben.
Mein Problem ist nun eben, daß zwar 'insmod.old' aufgerufen, aber aus unerfindlichen Gründen nicht gefunden wird :-(
Es ist aber definitv vorhanden!
Aber nicht in der initrd...
Ich glaube nicht, dass das Problem in RPM vs. TGZ liegt, sondern in
der initrd. (IMHO, weil ich die initrd nie nutze und daher kaum etwas
davon verstehe...)
Ich vermute folgendes:
Du hast irgendwann 'mk_initrd' aufgerufen und damit neben den
Kernelmodulen auch 'insmod' in die initrd kopiert. Das 'insmod'
funktioniert aber nach der Installation der "module-init-tools"
nur noch mit Kernel 2.6 und somit enthält die initrd ein für Kernel
2.4 ungeeignetes 'insmod'.
Eventuell reicht es, das Rettungsystem zu starten, 'insmod.old' in
'insmod' (vorübergehend) umzubenenen und erneut 'mk_initrd'
auszuführen.
Vielleicht liege ich aber auch völlig daneben...
Gruß
Andreas
--
Andreas Könecke "Andreas Koenecke
Am Montag, 16. Februar 2004 21:42 schrieb Andreas Koenecke:
* Sonntag, 15. Februar 2004 um 11:10 (+0100) schrieb R.Montag:
Falls jetzt der 2.4er-Kernel gestartet werden soll, ruft das neue /sbin/insmod die alte Version auf - so können beide Versionen nebeneinander auf dem Rechner leben.
Mein Problem ist nun eben, daß zwar 'insmod.old' aufgerufen, aber aus unerfindlichen Gründen nicht gefunden wird :-(
Es ist aber definitv vorhanden!
Aber nicht in der initrd...
[...] Ich vermute folgendes: Du hast irgendwann 'mk_initrd' aufgerufen und damit neben den Kernelmodulen auch 'insmod' in die initrd kopiert. Das 'insmod' funktioniert aber nach der Installation der "module-init-tools" nur noch mit Kernel 2.6 und somit enthält die initrd ein für Kernel 2.4 ungeeignetes 'insmod'.
Weshalb man für Kernel 2.6 auch ein neues mkinitrd braucht. Damit wird dann insmod.old mit in die intrd geschrieben...
Eventuell reicht es, das Rettungsystem zu starten, 'insmod.old' in 'insmod' (vorübergehend) umzubenenen und erneut 'mk_initrd' auszuführen.
Vielleicht liege ich aber auch völlig daneben...
Nö, klingt gut! Gruß Harald
Am Montag, 16. Februar 2004 23:32 schrieb Harald Huthmann:
Eventuell reicht es, das Rettungsystem zu starten, 'insmod.old' in 'insmod' (vorübergehend) umzubenenen und erneut 'mk_initrd' auszuführen.
Vielleicht liege ich aber auch völlig daneben...
Nö, klingt gut!
Gruß Harald
Also ich hatte genau die gleichen Probleme nach Installation der neuen module-init-tools. Über das Rettungssystem rein, alle *mod*.old umbenannt, das System wieder gebootet, module-init-tools und modutils deinstalliert, modutils neu installiert, läuft wieder alles super. Aber meinen 2.6er Kernel bring ich dadurch natürlich nicht zum laufen :-); deshalb geht aber die Welt nicht unter, 2.4.21 kann das, was ich will. Viele Grüße Dirk Weitzel
* Dienstag, 17. Februar 2004 um 19:27 (+0100) schrieb Dirk Weitzel:
Also ich hatte genau die gleichen Probleme nach Installation der neuen module-init-tools.
Über das Rettungssystem rein, alle *mod*.old umbenannt, das System wieder gebootet, module-init-tools und modutils deinstalliert, modutils neu installiert, läuft wieder alles super.
Aber meinen 2.6er Kernel bring ich dadurch natürlich nicht zum laufen :-); deshalb geht aber die Welt nicht unter, 2.4.21 kann das, was ich will.
Was ist mit dem, von Harald erwähnten, neuen 'mkinitrd'? (BTW: Wo
findet man das?)
Oder Kernel ohne Notwendigkeit einer initrd bauen...
Gruß
Andreas
--
Andreas Könecke "Andreas Koenecke
lAm Dienstag, 17. Februar 2004 20:56 schrieb Andreas Koenecke:
* Dienstag, 17. Februar 2004 um 19:27 (+0100) schrieb Dirk Weitzel:
Also ich hatte genau die gleichen Probleme nach Installation der neuen module-init-tools.
Über das Rettungssystem rein, alle *mod*.old umbenannt, das System wieder gebootet, module-init-tools und modutils deinstalliert, modutils neu installiert, läuft wieder alles super.
Aber meinen 2.6er Kernel bring ich dadurch natürlich nicht zum laufen :-); deshalb geht aber die Welt nicht unter, 2.4.21 kann das, was ich will.
Was ist mit dem, von Harald erwähnten, neuen 'mkinitrd'? (BTW: Wo findet man das?)
ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/people/kraxel/README ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/people/kraxel/9.0-i386/i586 mkinitrd ist ein shellscript und sollte auch auf älteren SuSE-Versionen laufen (?). Ansonsten ist das in den Kernel-Sourcen unter linux-2.6.2-6/Documentation/Changes beschrieben.
Oder Kernel ohne Notwendigkeit einer initrd bauen...
Den wirst Du bei SuSE vergeblich suchen... Gruß Harald
Hallo Andreas! In article <20040216204236.GA5446@kocom.akoenecke.de>, Andreas Koenecke wrote:
Ich glaube nicht, dass das Problem in RPM vs. TGZ liegt, sondern in der initrd. (IMHO, weil ich die initrd nie nutze und daher kaum etwas davon verstehe...) Ich vermute folgendes: Du hast irgendwann 'mk_initrd' aufgerufen und damit neben den Kernelmodulen auch 'insmod' in die initrd kopiert. Das 'insmod' funktioniert aber nach der Installation der "module-init-tools" nur noch mit Kernel 2.6 und somit enthält die initrd ein für Kernel 2.4 ungeeignetes 'insmod'.
Also wenn ein 'mk_initrd' aufgerufen worden ist, dann ohne mich - explizit habe ich den Befehl nicht eingegeben. Was aber natürlich nicht ausschließt, daß die von mir erst verwendete 'module-init-tools' da mit reingehauen hat, nachdem ich make make install damit ausgeführt hatte .... MfG R. Montag
participants (6)
-
Andreas Koenecke
-
Dirk Weitzel
-
Harald_mail@t-online.de
-
Manfred Tremmel
-
R.Montag
-
Thomas Hertweck