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 ;-)
Und man ändert die Festplatten zwar nicht laufend, aber vielleicht doch mal im Laufe eines Computer-Lebens: Ein zusätzlicher (baugleicher) SCSI- oder RAID-Controller und du musst dir ohne 'udev' Gedanken machen, in welcher Reihenfolge der PCI-Bus "geprobed" wird...
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. 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 ;-)
[...] Das ist aber eher ein Problem der initrd statt von 'udev'. Wenn *irgend etwas* in der initrd nicht funktioniert, dann kannst du mit großer Wahrscheinlichkeit nicht mehr booten.
udev fuer eine Root-Partition ist IMO unnoetig und erhoeht nur die Komplexitaet und damit Anfaelligkeit. 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.
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... Cheers, Th. PS: Nochmal zur Klaerung - ich sehe durchaus einen Sinn in udev, aber eben nicht fuer alles...