VFS: Cannot open root device... Anfänger sucht Beistand

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
scule
Beiträge: 26
Registriert: 25.01.2005 21:15:00

VFS: Cannot open root device... Anfänger sucht Beistand

Beitrag von scule » 03.08.2005 18:30:02

Hallo zusammen,

ich hab mal meine ersten Versuche mit einer Eigenkreation eines Kernels gewagt...
hat alles bis jetzt ganz gut geklappt, aber jetzt das:

Code: Alles auswählen

VFS: Cannot open root device "hda3" or unknown-block(0,0) Please append to a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Bis jetzt habe ich folgendes gemacht:
Kernel-sourcen von kernel.org gezogen, dann entpackt, konfiguriert, und dann mit make-kpkg kernel-image "gebacken"
Hab dann das .deb file mit dpkg -i installiert und den Kiste neu gestartet.

Was hab ich falsch gemacht? Ich hab was von initrd.img gehört, was hat das mit auf sich?
Ich hab mal die kernel-2.6.12.3 in initrd.img-2.6.12.3 umbenannt (die kernel-2.6.12.3 hatte das gleiche Dateisymbol unter /boot). Hat aber auch nix geholfen.

Vielen Dank für die Hilfe,
Grüße

Stefan

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

Beitrag von gms » 03.08.2005 19:22:27

Die Treiber für das Root-Filesytem und die IDE-Chipset Treiber (rootfs befindet sich ja auf einer IDE Disk) müssen entweder fix im Kernel einkompilert werden, dh. nicht als Module, oder in einem initrd.img vorhanden sein.
Letzteres wird dann beim Start als Root-Filesystem gemountet, die Treiber werden geladen und danach wird ein pivot-root Wechsel auf das wirkliche Root-Filesystem durchgeführt.

Gruß
gms

scule
Beiträge: 26
Registriert: 25.01.2005 21:15:00

VFS: Unable to mount root fs on unknown-block(3,3)

Beitrag von scule » 07.08.2005 17:15:45

Hallo zusammen,

danke für den Tipp gms, das hat teilweise schon weitergeholfen. Aber als Anfäbger kommen immer wieder Probleme auf mich zu:

Jetzt hab ich mal alle Dateisystemunterstützungen fest reinkompiliert, aber nun erscheint folgende Fehlermeldung (mit der ich als Newbie nichts anfangen kann, leider...)

Code: Alles auswählen

XFS: bad magic numer
XFS: SB validate failed
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,3)
Mein Vorgehen hab ich variiert:
einmal hab ich mit

Code: Alles auswählen

make-kpkg --initrd kernel-image --revision=4.0
das andere Mal (davor) mit

Code: Alles auswählen

make-kpkg kernel-image --revision=3.0
den Kernel kompiliert. Anschließend das .deb-file mit dpkg -i installiert.
Mein Grub-Eintrag sieht folgendermaßen aus:

Code: Alles auswählen

title		Debian GNU/Linux, kernel 2.6.12.3 
root		(hd0,2)
kernel		/boot/vmlinuz-2.6.12.3 root=/dev/hda3 ro 
initrd		/boot/initrd.img-2.6.12.3
savedefault
boot
Die fstab hat folgende Gestalt:

Code: Alles auswählen

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hda3       /               reiserfs defaults        0       1
/dev/hda4       /home           reiserfs defaults        0       2
/dev/hda7       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   iso9660 ro,user,noauto  0       0
/dev/hdd        /media/cdrom1   iso9660 ro,user,noauto  0       0
/dev/hda6	/windows/E	ntfs	ro,user,umask=000 0	0
/dev/hdb5	/windows/P	ntfs	ro,user,umask=000 0	0
/dev/hdb6	/windows/H	vfat	auto,user,umask=000 0	0
/dev/hdb8	/windows/J	vfat	auto,user,umask=000 0	0
# /dev/sda1 	/windows/USB auto noauto,user,exec 0 0
Wie kann ich mein Problem lösen? Ich hab mal die .config auf
http://nopaste.debianforum.de/769 gepostet.

Vielen Dank für Eure Hilfe, ich weiß das zu schätzen.

Grüße

Stefan

Rcc
Beiträge: 103
Registriert: 11.06.2004 11:34:42

Beitrag von Rcc » 07.08.2005 18:15:03

Bau mal die IDE-Unterstützung direkt in den Kernel mit ein. (lATA/ATAPI/MFM/RLL support-->generic/default IDE chipset support auf yes)

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

Beitrag von gms » 07.08.2005 18:42:40

du hast nicht nur reiserfs, sondern auch ext2, xfs und jfs fest in den Kernel reinkompiliert, diese nicht benötigten Filesysteme muß der Kernel jetzt immer mit sich schleppen, zudem wird die Entscheidung, welches Rootfilesystem du jetzt tatsächlich verwendest für den Kernel schwerer.Setze diese zusätzlichen Filesysteme wieder auf "m" und laß nur reiserfs auf "y".
Die IDE Unterstützung müßte jetzt eigentlich passen, siehe unknown-block(3,3), das entspricht hda3 und ist daher in Ordnung. Zumindest das hat sich seit deinem ersten Versuch gebessert (siehe unknown-block(0,0) in deinem ersten Posting)

Gruß
gms

scule
Beiträge: 26
Registriert: 25.01.2005 21:15:00

Beitrag von scule » 07.08.2005 20:28:49

Danke für den Tipp gms, ich werd das morgen früh mal nebenher laufen lassen *g*

Kommt die Fehlermeldung daher, dass der Kernel sich nicht "entscheiden" kann, welches Filesystem er wählen soll?

Grüße

Stefan

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

Beitrag von gms » 07.08.2005 20:31:47

Nicht ganz, er hat sich schon entschieden, aber leider für XFS

Gruß
gms

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 07.08.2005 20:34:21

Nein, die kommt daher, dass / bei dir ReiserFS ist. IIRC probiert der Kernel, wenn du mit initrd bootest, der Reihe nach alle Dateisysteme durch, u.A. auch XFS, was jedoch nicht richtig ist, wie du an der Meldung siehst.

Da der Kernel danach hängt, nehme ich an, dass du vergessen hast, ReiserFS mit einzukompilieren.

Tipp: Es empfiehlt sich immer, die /boot/config-.... vom Debian-Kernel als Vorlage zu nehmen und nur die Sachen rauszunehmen, von denen du sicher weisst, dass du sie nicht brauchst. Genauso kannst du Sachen, die du unbedingt brauchst, und bei denen ein Modul kein Vorteil ist, festeinkompilieren lassen.

Abgesehen davon würde ich mich als Anfänger erst mal mit anderen Sachen als dem compilieren eines Kernels befassen; das ist nicht-trivial.

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

Beitrag von gms » 07.08.2005 20:40:03

Joghurt hat geschrieben: Da der Kernel danach hängt, nehme ich an, dass du vergessen hast, ReiserFS mit einzukompilieren.
reiserfs hat er genauso wie xfs fix im kernel drinnen, schau dir mal die Config an

Gruß
gms

Antworten