PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unable to handle kernel NULL pointer... bei selbst erstellter Boot-Diskette



PhobosUT
01.12.03, 18:20
Hallo!
Ich habe mir jetzt nach dem Bootdisk-HOWTO (http://www.tldp.org/HOWTO/Bootdisk-HOWTO/index.html) einen Diskettensatz erstellt. Dabei befinden sich LILO und der Kernel auf der 1. Diskette. Das ramdisk word des Kernels ist dabei so gesetzt, dass er für das komprimierte rootfs, dass er in die Ramdisk läd, eine neue Diskette angefordert wird. Also befindet sich auf der 2. Diskette ein komprimiertes rootfs. Als Kernel hab' ich den SuSE Standart Kernel genommen, der der bei mir installiert war (SuSE 7.3).

Prinzipiell klappt das auch. Also LILO läuft, wie er soll, dann wird der Kernel geladen, und dann kommt:

VFS: Insert root floppy disk to be loaded into RAM disk an press ENTER

Ist ja auch richtig. Wenn ich dann aber Enter drücke passiert gar nichts, was aber recht einfach zu erklären ist. Ich hab' 'ne USB Tastatur, und alles was mit USB zu tun hat, ist glaube ich per Modul in den SuSE Kernel eingebaut.
Deswegen hab' ich's dann am zweiten PC probiert, der hat nämlich 'ne PS2 Tastatur. Auch da wurde ich aufgefordert die Diskette mit dem rootfs einzulegen. Nachdem ich Enter gedrückt hatte, griff er für ca. 0,5s auf die Diskette zu und dann kam das:



VFS: Insert root floppy disk to be loaded into RAM disk an press ENTER
Unable to handle kernel NULL pointer dereference at virtual address 00000028
printing eip
c0146ab6
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0146ab6>]
EFLAGS: 00010246
eax: 00000000 ebx: c1317f40 ecx: cbff6060 edx: 00000000
esi: 00000200 edi: cbff6520 ebp: 00000000 esp: c1317cf4
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c1317000)
Stack: c0126347 cbff6060 00000000 c1317f40 c13c5400 00000200 00001000 00000001
00000200 00000000 cbff6060 c13c5400 c1317f60 c1317f60 c1317d50 c012654c
00000000 c1317f60 c1317f40 c13c5400 ffffffff 00000000 cbff6660 c0139972
Call Trace: [<c0126347>] [<c01266a7>] [<c012654c>] [<c0139972>] [<c012ca65>]
[<c0105175>] [<c0105270>] [<c01056ac>]

Code: 8b 50 28 f6 c6 04 75 35 f6 81 1c 01 00 00 02 75 2c f6 c6 08
<0>Kernel panic: Attempted to kill init!


Dann hab' ich im Internet gesucht und das "Unable to handle kernel NULL pointer dereference at virtual address xxxxxxxx" sehr häufig gefunden, aber im Prinzip nie in Bezug auf's Booten. Häufig hab' ich auch gelesen, dass das Hardware Fehler seien. Deswegen hab' ich's auch noch an 'nem anderen PC ausprobiert, aber da kam exakt das gleiche. Als nächstes hab' ich ihm dann, als er die Diskette mit dem rootfs haben wollte einfach 'ne komplett leere (fdformat /dev/fd0) gegeben, und es kam wieder dasselbe. Also es scheint es nicht daran zu liegen, dass ich was beim erstellen des rootfs falsch gemacht hab' denn offenbar kommt er gar nicht so weit.

An was ich jetzt gedacht hab': Mein Kernel ist der von SuSE 7.3, also 2.4.10-4GB. Ich nehm mal an, der benutzt auch das Prinzip der initrd. Ich weiß jetzt nicht, wie ich das fesstellen könnte oder wo ich das nachlesen könnte. Für einen Tip wär ich dankbar, dann würd' ich mal nachsehen, ob mein Kernel initrd benutzt. Aber mal angenommen er benutzt initrd. Normalerweise läuft das dann ja so, dass er die initrd wieder umountet und dann das richtige rootfs mountet. Jetzt ist das richtige rootfs aber auch eine Ramdisk. Könnte es sein, dass es da zu Konflikten kommt? Ich hab' ansonsten keine Ahnung, wo ich jetzt ansetzten könnte. Denn das einzige, was ich in Bezug auf diese Fehlermeldung gelesen hab' war, dass es wohl Hardwarefehler seien, was ich aber bei mir denke ich ausgeschlossen hab'.

peschmae
01.12.03, 18:33
bist du sicher, das die Root-Diskette nicht defekt ist?

MfG Peschmä

PhobosUT
02.12.03, 06:16
Ich hab' die Diskette mit LILO und dem Kernel noch mal neu erstellt. Da müsste alles stimmen. Ich werd' heute nochmal die Diskette mit dem komprimierten rootfs neu erstellen und dann mal gucken. Aber da kann man eigentlich nicht viel falsch machen.

PhobosUT
02.12.03, 15:59
Hab' jetzt die Diskette mit dem rootfs nochmal neu erstellt. Passiert aber genau das gleiche. Hätte mich aber auch gewundert, wenn das daran gelegen hatte. Denn er kommt ja noch nicht mals dazu das rootfs zu entpacken. Er greift ja gerade mal auf die Diskette zu und dann ist Ende.

peschmae
02.12.03, 17:53
und wenn du irgend wo n image mit nem existierenden und funktionierenden root-fs ziehst (z.b. gnu parted)

dann kannst du schaun ob dein kernel so tut wie er sollte

MfG Peschmä

PhobosUT
06.12.03, 18:19
Hi!
Das mit dem Kernel hab' ich hinbekommen. Lag wohl am blöden SuSE Kernel. Ich hab' Version 2.4.23 mal selbst compiliert und dann lief's. Allerdings stimmt etwas mit meinem rootfs noch nicht. Aber dafür hab' ich einen neuen Thread aufgemacht. Ich könnte natürlich auch ein image für ein rootfs nehmen, aber ich möchte trotzdem wissen, was ich falsch gemacht hab'.