Linux 15.022 Themen, 106.977 Beiträge

Gentoo auf externer Festplatte: Config von Kernel und Grub

Yves3 / 9 Antworten / Flachansicht Nickles

Hallo,

ich habe kürzlich Gentoo auf meiner externen USB-Festplatte installiert und es hat eigentlich auch alles wunderbar geklappt. Jetzt wollte ich mir noch einen eigenen Kernel kompilieren, da mir der Genkernel einfach zu aufgeblasen ist.

Leider erhalte ich immer folgende Meldung beim Booten dieses Kernels:
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Ich habe die hier aufgeführten Kernel-Optionen alle aktiviert:
http://de.gentoo-wiki.com/USB_Mass_Storage_Ger%C3%A4te
Zusätzlich habe ich noch Ext3 einkompiliert (Das Dateisystem der Root- und Bootpartition).

Zudem habe ich die Treiber für meinen Raid-Controller gefunden und auch aktiviert. (Sollte aber eigentlich nicht nötig sein, geht ja über USB).
Grub habe ich wie im Gentoo Handbuch beschrieben konfiguriert (ohne initramfs): http://www.gentoo.org/doc/de/handbook/handbook-amd64.xml?part=1&chap=10

Weiss jemand wo das Problem liegen könnte?

bei Antwort benachrichtigen
KarstenW Yves3 „So, hier noch mal mein Zwischenstand: Ich hatte root /dev/sdc1 geschrieben,...“
Optionen

Udev ist als Nachfolger des veralteten hotplug System entwickelt worden. Udev ist ein System für die Hardwareerkennung. Der Anwender steckt einen USB Stick oder eine USB Festplatte an den Rechner , udev erkennt das und lädt automatisch das passenden Kernelmodul (und erstellt vorher noch die richtige Gerätedatei). Das Laden des Kernelmoduls ist nicht notwendig wenn der Treiber monolitisch in den Kernel kompiliert wird. Im Betriebsystemkern gibt es KMOD für die Hardwareerkennung. Außerdem kann der Anwender eigene Udev Regeln schreiben damit die Gerätedatei des USB Device unabhängig von der Reihenfolge ist, in der die verschiedenen USB Geräte angesteckt werden.
Du mußt dich mal mit udev genauer beschäftigen (nach deinen Fragen zu urteilen):

http://wiki.ubuntuusers.de/udev?highlight=%28udev%29

http://de.gentoo-wiki.com/Udev_Rules

Du kannst selbst festlegen welche Gerätedatei deine USB Festplatte bekommen soll, wenn du eine eigene udev Regel dafür erstellst. Das ist so , als ob man unter Windows eine Konfigurationsmöglichkeit hätte damit eine USB Festplatte einen bestimmten Laufwerksbuchstaben bekommt.



Hast du dieses Wiki schon mal durchgelesen ?

http://de.gentoo-wiki.com/Kernel_manuell_kompilieren

Du scheinst Probleme mit den Kerneloptionen zu haben.
Die RAM Disk ist nur als Notlösung gedacht, damit der Standard Betriebsystemkern nicht mit nutzlosen Treibern überfüllt wird. Wenn du einen eigenen Kernel übersetzt, dann brauchst du keine RAM Disk, weil du selbst entscheiden kannst welche Treiber und Optionen der Kernel haben soll und welche Treiber sollen monolitisch und welche Treiber sollen als Kernelmodul übersetzt werden.
Das ist für mich auch ein wichtiger Grund einen eigenen Linuxkernel zu übersetzen, weil die RAM Disk manchmal Probleme macht (habe ich nur im Handbuch zu Debian gelesen).

Du kannst dir die Ausgaben des Linuxkernels mit "dmesg | less" anschauen. Der Kernel zeigt auch die Gerätedateien der CD Laufwerke und der Festplatten an. Du kannst ja mal die USB Festplatte vor dem Rechnerstart anstecken und nachschauen welche Gerätedatei diese USB Festplatte bekommt.
Wenn die Ursache nicht ein fehlender Treiber ist (Kerneloptionen lernen !), dann hast du wahrscheinlich die falsche Gerätedatei angegeben.
Wie der Linuxkernel die verschiedenen Gerätedateien für die einzelnen Laufwerke konfiguriert entzieht sich meiner Kenntnis. Ich weiß nur das die Gerätedateien sich manchmal nach dem Neukompilieren des Linuxkernels (neue Version eventuell) ändern. Das kann beispielsweise passieren wenn man mehrere Netzwerkkarten eingebaut hat. Deshalb gibt es auch Udev , damit man selbst (notfalls) festlegen kann wie die Gerätedateien heißen sollen (wenn sie sich ändern sollten).




PS: Wieso willst du unbedingt von USB starten ? Versuch doch erstmal normal von IDE oder SATA zu starten.





Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen