Archiv verlassen und diese Seite im Standarddesign anzeigen : kernel auf diskette mit ext3 + usb - will das rootfs auf usb-disk nich mounten :|
d@tenmaulwurf
22.01.07, 23:44
Moin!
Ich habe eine Diskette wo ein Kernel mit allen notwendigen Sachen compiled in drauf ist. Von dieser wird gebootet. Am USB-Anschluss hängt eine Festplatte auf welcher sich das rootfs befindet (ext3, sda1).
Dem Kernel gebe ich via bootloader den string "append root=/dev/sda1" mit.
Wenn der Rechner bootet sehe ich wie der usb-kram erkannt wird - sogar die via USB angeschlossene Festplatte sehe ich (usb-storage, new full speed USB device, etc.) - die hdd wird also erkannt am USB-Port.
Dann erscheint aber folgendes:
VFS: Cannot open root device "sda1" or unknown-block(0,0)
Please append a correct "root=" boot option
kernel panic [...]
Für mich sieht das so aus, als wenn an der Stelle /dev/sda1 einfach das sda1-device nicht liegt bzw. das blocknod bisher noch nicht angelegt wurde.
Wie mounte ich nun das rootfs auf der externen Platte?
Vielen Dank,
d@tenmaulwurf
\\EDIT:
CONFIG_BLK_DEV_SD ist auf "y" gesetzt.
Hallo,
CONFIG_BLK_DEV_SD ist auf "y" gesetzt.
nun, da müssen wohl noch ein paar mehr Konfiguratonsoptionen auf "y" gesetzt sein, wenn Du keine initrd hast.
Gruß
hp_tux
d@tenmaulwurf
23.01.07, 08:00
Hallo,
nun, da müssen wohl noch ein paar mehr Konfiguratonsoptionen auf "y" gesetzt sein, wenn Du keine initrd hast.
Gruß
hp_tux
Es wäre schön zu wissen welche :)
Es wäre schön zu wissen welche
* Die Treiber für deinen USB-Controller
* CONFIG_USB_EHCI_HCD
* mass-storage
* Dateisysteme (klar :))
Fällt sonst noch einem was ein?
d@tenmaulwurf
23.01.07, 10:24
* Die Treiber für deinen USB-Controller
* CONFIG_USB_EHCI_HCD
* mass-storage
* Dateisysteme (klar :))
Fällt sonst noch einem was ein?
Dateisystem ext2 + ext3 : drin
USB-storage : drin (sonst würde die Platte beim Booten nicht erkannt werden (Hersteller, USB/ATA-bridge, Größe, etc.)
USB-Treiber : drin (siehe vorherigen Punkt)
Weiß auch nichts mehr :|
d@tenmaulwurf
23.01.07, 16:23
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
alles compiled in.
Poste doch mal die Ausgabe von "grep USB /usr/src/linux/.config", vielleicht bringt das ja Licht ins Dunkel.
Und ein "lspci" wäre auch nicht schlecht :)
Es ist sehr wahrscheinlich, dass dass SCSI-Subsystem die devices (sda, sda1) noch nicht registriert hat, wenn der Kernel versucht, das root-Filesystem zu mounten. Versuche folgendes:
-Es gibt einen Parameter "rootdelay". Ich weiss nicht, ob es den bei jedem Kernel gibt (ich hatte mal das Gefühl, das wäre nicht so). Gebe dem Kernel ein "rootdelay=10" mit. Achte insbesondere auch darauf, ob der Kernel dem Stick ein Device-Node gibt.
-Wenn das nichts hilft, musst du entweder den Kernel mit einem Patch versehen, der das rootdelay implementiert oder eine Initrd bauen. Innnerhalb dieser initrd erzeugt du ein Script /linuxrc und stellt dort ein "sleep 5" (6..7..8?) herein.
-Selbstverständlich ist das oben gesagte irrelevant, wenn tatsächlich noch ein Treiber fehlen sollte. Das SCSI-Subsystem muss natürlich auch vorhanden sein.
Gruß Stephan
d@tenmaulwurf
24.01.07, 17:27
Wow - geil - daran lags echt!
rootdelay hilf :D
Vielen, vielen Dank!
DerAufgeklUser
27.10.07, 11:52
Morjen!
Ich versuche mich grad am gleichen Problem. Was muss ich denn Grub noch alles mitgeben?
Bisher habe ich es folgendermaßen versucht:
root (fd0)
kernel /kernel root=/dev/sda1
Allerdings sagt mir Grub dann, dass es die Partition nicht mounten kann.
Ist damit die Diskette gemeint?
d@tenmaulwurf
27.10.07, 12:18
Wie in dem Thread halt diskutiert die Option rootdelay (nimm vorerst 10 als Wert - damit müsstes auf jeden Fall gehen - dann kannste ja langsam runtergehen)
DerAufgeklUser
27.10.07, 12:30
Hatte ich ja versucht. Wenn die USB-Platte das Problem wäre, würde doch zumindest erstmal der Kernel von der Diskette geladen werden, oder nicht?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.