kernel2.6.21-rc7: Kernel panic nach copy auf laptop

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
TOO0M
Beiträge: 19
Registriert: 26.06.2007 20:40:39

kernel2.6.21-rc7: Kernel panic nach copy auf laptop

Beitrag von TOO0M » 26.06.2007 21:19:01

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?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 26.06.2007 21:29:39

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.
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:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

TOO0M
Beiträge: 19
Registriert: 26.06.2007 20:40:39

Beitrag von TOO0M » 26.06.2007 21:39:22

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.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 26.06.2007 21:49:18

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:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 26.06.2007 21:49:50

Hi,

sieht aber doch danach aus, wie KBDCALLS sagt, das die initrd nicht korrekt ist.
Er kann warscheinlich nicht mal das ide Modul laden.

Gruß cirrussc

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 26.06.2007 22:24:12

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.
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:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

TOO0M
Beiträge: 19
Registriert: 26.06.2007 20:40:39

Beitrag von TOO0M » 26.06.2007 22:28:14

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

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 26.06.2007 22:36:10

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.

ps: Der Kernel für den arm muss dann aber schlanker sein :wink:

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 26.06.2007 22:40:33

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.

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:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 27.06.2007 09:05:30

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
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.
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

TOO0M
Beiträge: 19
Registriert: 26.06.2007 20:40:39

Beitrag von TOO0M » 28.06.2007 13:04:49

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.

Antworten