Hallo. * Dienstag, 31. Januar 2006 um 22:00 (+0000) schrieb Thomas Hertweck:
Andreas Koenecke wrote:
Ein Ziel von 'udev' ist z.B., dass unterhalb von "/dev" nur noch die Device-Nodes für tatsächlich vorhandene Geräte aufgeführt werden. Das ist zwar nur Kosmetik, aber IMHO durchaus sinnvoll.
Der Device-Knoten meines Laufwerks mit der Root-Partition wird *immer* kreiert werden muessen und daher immer in /dev vorhanden sein - dazu brauche ich kein udev ;-)
OK, die Root-Partition ist natürlich problematisch.
Wenn sich meine Festplatten aendern, dann werde ich Linux nicht booten koennen, solange SuSE etwas wie "kernel /boot/vmlinuz root=/dev/hda7" in meine /boot/grub/menu.lst schreibt (Beispiel aus SuSE 10) - es wird naemlich dann schlicht die Root-Partition nicht mehr gefunden werden. Und hd? ist nun einmal eindeutig festgelegt fuer die Master/Slave an den primaeren IDE-Controllern. Aus die Maus, da hilft auch udev nicht.
Doch. Theoretisch. Mit der richtigen udev-Regel kannst du einen Device-Node "Meine_Root_Partition" anlegen lassen, die du dann dem Kernel als root-Option in der Grub-Zeile übergeben kannst. Allerdings dann wohl nur mit einer initrd. (Nein, ich probiere es nicht aus, soooo viel Freizeit habe ich nicht...;-))
IMO. Oder ich habe es eben nicht ganz verstanden. Aber bei dem Durcheinander mit udev, HAL, subfs und Konsorten waere das auch kein Wunder! Ferner brauche ich auch keine Komplexitaet im Alltag in meinem Linux System, die mir vielleicht einmal in Laufe des Computer-Lebens von Vorteil ist, wenn ich doch tatsaechlich mal etwas umbauen sollte. Das waere doch ein wenig overkill, deswegen auf udev zu bauen ;-)
Du brauchst ja udev sowieso für die USB-Massenspeicher. Wenn es jetzt verschiedene Hot-/Coldplug-Mechanismen für USB, Firewire, SATA, SCSI, Cardbus usw. gibt, wäre das IMO auch nicht weniger komplex.
udev fuer eine Root-Partition ist IMO unnoetig und erhoeht nur die Komplexitaet und damit Anfaelligkeit.
Grundsätzlich stimme ich mit dir in diesem Punkt aber völlig überein.
Oder warum glaubst Du, dass es immer wieder zu Fehlermeldungen der Art "waiting for device ... to appear" kommt mit anschliessendem Kernel Panic beim Booten? Ich kann es Dir sagen: meistens ist der Grund, dass udev nicht mehr zum Kernel passt (sysfs API-Aenderung?) oder es Probleme mit udev beim Bau der initrd gab.
Naja, das liegt dann aber am Kernel- und/oder initrd-Bauer...
Doch, noch geht SUSE ohne initrd. Ich habe noch nie eine initrd gebraucht.
Und wenn alle Device-Knoten ueber udev geregelt werden (wohgemerkt ein Programm, das auf der Root-Partition in /sbin liegt, die erst gemountet werden kann, wenn logischerweise das Device verfuegbar ist), wie bitte kannst Du dann ohne initrd einen Device-Knoten fuer Deine Root-Partition erzeugen? Das leuchtet mir gerade nicht ein...
Ach so, jetzt verstehe ich erst deinen Einwand... Klar, wenn du auch eigene Device-Node-Namen für das Root-Device brauchst bzw. wenn du mit einem leeren /dev/ bootest, dann kommst du wohl nicht um eine initrd herum. Das ist aber bei der SUSE 10.0 (noch) nicht nötig, da es dort ja noch ein prall gefülltes /dev/ gibt. Gruß Andreas -- XMMS spielt gerade "Genesis - After The Ordeal"... PGP-ID/Fingerprint: BD7C2E59/3E 11 E5 29 0C A8 2F 49 40 6C 2D 5F 12 9D E1 E3 PGP-Key on request or on public keyservers --