kernel2.6.21-rc7: Kernel panic nach copy auf laptop
kernel2.6.21-rc7: Kernel panic nach copy auf laptop
hallo habe folgendes problem:
auf meinem entwicklungs-pc kompiliere ich einen 2.6.21-rc7 kernel mit bzimage und mkinitrd.
der kernel läuft auf dem entwicklungs-pc einwandfrei.
wenn ich den kernel auf mein laptop
kopiere (/boot/....; /lib/modules/...; grub menue anpassen u.s.w.)
wird der bootvorgang mit einem kernel-panic beendet.
die letzten zeilen sind folgende:
RAMDISK: cramfs fs found at block 0
RAMDISK: Loading 4780kiB [1disk] into ram disk... done.
VFS: Mounted root (cramfs fs) readonly.
/sbin/sh: error while loading shared lib.:libc.so.6: cannot open shared obj. file: No such file or directory
VFS:Can´t open root device "hda2" or unknown-block (0,0)
Please append a correct "root=" boot option
Kernel panic-not syncing: VFS: Unable to mount root fs on unknown-block (0,0)
nach dem kopieren auf das laptop muss ich noch mit rdev das rootdevice auf hda2 setzen weil mein entwicklungs-pc mit hda1 bootet.
habe schon einiges ausprobiert und manche doku nachgelesen. finde aber keine lösung.
hat jemand eine idee was ich noch ausprobieren könnte?
auf meinem entwicklungs-pc kompiliere ich einen 2.6.21-rc7 kernel mit bzimage und mkinitrd.
der kernel läuft auf dem entwicklungs-pc einwandfrei.
wenn ich den kernel auf mein laptop
kopiere (/boot/....; /lib/modules/...; grub menue anpassen u.s.w.)
wird der bootvorgang mit einem kernel-panic beendet.
die letzten zeilen sind folgende:
RAMDISK: cramfs fs found at block 0
RAMDISK: Loading 4780kiB [1disk] into ram disk... done.
VFS: Mounted root (cramfs fs) readonly.
/sbin/sh: error while loading shared lib.:libc.so.6: cannot open shared obj. file: No such file or directory
VFS:Can´t open root device "hda2" or unknown-block (0,0)
Please append a correct "root=" boot option
Kernel panic-not syncing: VFS: Unable to mount root fs on unknown-block (0,0)
nach dem kopieren auf das laptop muss ich noch mit rdev das rootdevice auf hda2 setzen weil mein entwicklungs-pc mit hda1 bootet.
habe schon einiges ausprobiert und manche doku nachgelesen. finde aber keine lösung.
hat jemand eine idee was ich noch ausprobieren könnte?
- KBDCALLS
- Moderator
- Beiträge: 22454
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Warum versuchst du es nicht mit einem Debian-paket? Außerdem ist Kernel 2.6.21 schon lange fertig. Zum erstellen einer Initrd wird seit Kernel 2.6.13 initramfs-toosl benutzt. Yaird ist auch noch möglich. Das alte mkintrd funktioniert hier nicht mehr.
PS. Willkommen im Forum.
PS. Willkommen im Forum.
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.
KBDCALLS hat geschrieben:Warum versuchst du es nicht mit einem Debian-paket? Außerdem ist Kernel 2.6.21 schon lange fertig. Zum erstellen einer Initrd wird seit Kernel 2.6.13 initramfs-toosl benutzt. Yaird ist auch noch möglich. Das alte mkintrd funktioniert hier nicht mehr.
PS. Willkommen im Forum.
der alte mkinitrd muss noch funktionieren sonst würde der neu kompilierte kernel auf meinem entwicklungs-pc auch nicht laufen.
tut er aber und das ohne probleme.
- KBDCALLS
- Moderator
- Beiträge: 22454
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Sind die module-init-tools installiert ? Mit den modutils funktioniert kein Kernel 2.6.xx
Zuletzt geändert von KBDCALLS am 26.06.2007 21:53:55, insgesamt 1-mal geändert.
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.
- KBDCALLS
- Moderator
- Beiträge: 22454
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Und wenn das so zutrifft,
kernel2.6.21-rc7: Kernel panic nach copy auf laptop
Dann ist die Sache auch klar, warum das passiert, es sei denn die Rechner wären identisch.
kernel2.6.21-rc7: Kernel panic nach copy auf laptop
Dann ist die Sache auch klar, warum das passiert, es sei denn die Rechner wären identisch.
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.
ich möchte mich mit dem kompilieren eines kernels vertraut machen um später auf einem arm9 controller zu entwickeln.
dafür habe ich einen entwicklungs-pc eingerichtet auf dem ich die verschiedenen kernel bauen kann.
der laptop dient nur zum üben, um die abläufe zu verstehen.
zurück zum problem.
ich glaube auch das der kernel die initrd nicht sieht, die frage ist nur warum?
der gleiche kernel die gleiche initrd nur auf das laptop kopiert
auf dem entw.-pc läufts auf dem laptop nicht. die frage ist ob ich was nicht richtig kopiere oder ob ich noch eine einstellung nicht gemacht habe?
rdev /boot/vmlinuz/2.6.18-4-486 mit dem original laptop-kernel ergibt folgendes: root device /dev/.static/dev/cciss/c0d0p7
rdev /boot/vmlinuz/2.6.21-rc6-486 mit dem original laptop-kernel ergibt folgendes: root device /dev/hda2
habe die obere zeile in die untere mit rdev eingesetzt. problem bleibt.
ist in dem ablauf was falsch?
1. kernel kompilieren
2. rdev /boot/vmlinuz-2.6.21.... /dev/hda2
3. mkinitrd
4. copy /boot/....
copy /lib/modules/linux-2.6.21...
5. grub menue ändern
dafür habe ich einen entwicklungs-pc eingerichtet auf dem ich die verschiedenen kernel bauen kann.
der laptop dient nur zum üben, um die abläufe zu verstehen.
zurück zum problem.
ich glaube auch das der kernel die initrd nicht sieht, die frage ist nur warum?
der gleiche kernel die gleiche initrd nur auf das laptop kopiert
auf dem entw.-pc läufts auf dem laptop nicht. die frage ist ob ich was nicht richtig kopiere oder ob ich noch eine einstellung nicht gemacht habe?
rdev /boot/vmlinuz/2.6.18-4-486 mit dem original laptop-kernel ergibt folgendes: root device /dev/.static/dev/cciss/c0d0p7
rdev /boot/vmlinuz/2.6.21-rc6-486 mit dem original laptop-kernel ergibt folgendes: root device /dev/hda2
habe die obere zeile in die untere mit rdev eingesetzt. problem bleibt.
ist in dem ablauf was falsch?
1. kernel kompilieren
2. rdev /boot/vmlinuz-2.6.21.... /dev/hda2
3. mkinitrd
4. copy /boot/....
copy /lib/modules/linux-2.6.21...
5. grub menue ändern
- KBDCALLS
- Moderator
- Beiträge: 22454
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Sind die module-init-tools installiert? Das wäre Punkt 1 .
Beim Erstellen der Initrd mußt du auch dem Mkinitrd mitteilen, für welchen Kernel es die Initrd erstellen soll. Wenn du nur einfach mkinitrd aufruft dann wird für den aktuell laufenden Kernel die Initrd erstellt.
Beim Erstellen der Initrd mußt du auch dem Mkinitrd mitteilen, für welchen Kernel es die Initrd erstellen soll. Wenn du nur einfach mkinitrd aufruft dann wird für den aktuell laufenden Kernel die Initrd erstellt.
Code: Alles auswählen
mkinitrd [-k] [-d confdir] [-m command] -o outfile [-r root] [version]
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.
Bei der Erstellung der initrd werden die Module, die auf dem AKTUELLEN PC für den Startvorgang benötigt werden, in das Image hineinkopiert. Das werden wahrscheinlich andere sein, als die, die du auf dem Zielsystem benötigst. Du könntest jedoch die initrd auch mit allen verfügbaren Modulen bauen.TOO0M hat geschrieben: ist in dem ablauf was falsch?
1. kernel kompilieren
2. rdev /boot/vmlinuz-2.6.21.... /dev/hda2
3. mkinitrd
4. copy /boot/....
copy /lib/modules/linux-2.6.21...
5. grub menue ändern
Normalerweise wird die Initrd jedoch erst auf dem Zielsystem ( beim Installationsvorgang ) erstellt. Was hindert dich eigentlich daran, dies auch so zu handhaben ?
"mkinitrd" baut noch eine alte Ramdisk ( mit cramfs ), welche keine Unterstützung für Udev beinhaltet. Somit werden nur statische Devices bzw Devfs unterstützt. Du solltest dir daher überlegen auf ein neueres initrd-Tool umzusteigen, wie es dir auch schon KBDCALLS nahegelegt hat.
Gruß
gms
cirrussc schrieb:
Probier die initrd doch einfach mal mit mkinitramfs zu erstellen.
Das muss dann aber wirklich exakt die gleiche umgebung sein wie auf dem Schleppi damit es nicht noch mehr Pobleme gibt.
antwort TOO0M:
erstmal danke für eure schnellen und aussagekräftigen antworten.
habe mkinitramfs ausprobiert und der kernel und die initrd laufen nun auf dem laptop.
Probier die initrd doch einfach mal mit mkinitramfs zu erstellen.
Das muss dann aber wirklich exakt die gleiche umgebung sein wie auf dem Schleppi damit es nicht noch mehr Pobleme gibt.
antwort TOO0M:
erstmal danke für eure schnellen und aussagekräftigen antworten.
habe mkinitramfs ausprobiert und der kernel und die initrd laufen nun auf dem laptop.