Sie sind nicht angemeldet.

1

03.01.2011, 18:09

Keine Symlinks /dev/cdrom und /dev/dvd mehr vorhanden

Gestern fiel mir unangenehm auf, daß die Symlinks /dev/cdrom und /dev/dvd auf /dev/hdc nicht mehr angelegt werden.
An den Udev-Einstellungen habe ich nichts verändert.

lamium ~ # grep -v ^# /etc/udev/rules.d/70-persistent-cd.rules

ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:04.1-ide-1:0", SYMLINK+="cdrom", ENV{GENERATED}="1"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:04.1-ide-1:0", SYMLINK+="dvd", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:04.1", SYMLINK+="cdrom", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:04.1", SYMLINK+="dvd", ENV{GENERATED}="1"

Hat jemand eine Idee?

Grüße
Harald

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »rubus« (04.01.2011, 15:13)


2

03.01.2011, 19:32

/dev/hd* Laufwerke werden bei Gentoo nicht mehr unterstützt.
Führe die Libata Migration durch.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

03.01.2011, 20:25

Mhm,

Zitat

/dev/hd* Laufwerke werden bei Gentoo nicht mehr unterstützt.

ist doch eigentlich keine gentoo- sondern eine kernelspezifische Sache. Die Devicenodes /dev/hda und /dev/hdc legt Udev auch korrekt an, nur eben die Symlinks neuerdings nicht mehr, wobei ich nicht exakt sagen kann, wie lange das nun so ist (jedenfalls nicht sehr lange)..

Zitat

Führe die Libata Migration durch.

Was mir daran überhaupt nicht gefällt ist, daß im System sowohl SCSI- als auch IDE-Devices vorhanden sind und mir nicht klar ist, wie am Ende die Benennung aussehen wird, wenn alles nur noch SCSI-Namen hat (/dev/sd*). Daher läuft das noch so, auch wenn ich weiß, daß es - schon lange - als "deprecated" geführt wird. Grundsätzlich finde ich es jedoch wesentlich übersichtlicher und klarer, wenn man wie eh und je SCSI-Geräte (als solche werden ja auch SATA-Platten behandelt) und IDE-Geräte anhand der Devicenodenamen sauber voneinander unterscheiden kann, und verstehe den Sinn des Ganzen mal wieder nicht. Was ist daran nun ein Fortschritt?

So sieht es bei dem betreffenden Rechner aus: Die Systemfestplatte und /home hängen am SCSI-Bus (/dev/sda und /dev/sdb), eine Backupplatte und das DVD-ROM-Laufwerk hängen am IDE-Bus (dev/hda und /dev/hdc). Wie würden die Devicenodes nach Umstellung zugeordnet werden bzw. heißen? Wird aus /dev/hda /dev/sdc und aus /dev/hdc /dev/sdd oder kommen die IDE-Devices zuerst an die Reihe? Und was passiert , wenn ich zusätzlich ein weiteres SCSI- odder IDE-Device an den Bus hänge? Das alles muß ich ganz genau wissen, bevor ich umstelle (grub.conf, fstab, ...).

Anyway, ich halte das Problem der fehlenden Symlinks eher für ein Udev- oder Sonstwas- als für ein Kernel-Problem.

Grüße
Harald

4

04.01.2011, 14:56

Hallo,

habe gestern Abend mal den ganzen libata-Thread in Ruhe durchgelesen und den entscheidenden Punkt sogleich gefunden:

Zitat

Zitat von »"sys-fs/udev-151-r4 - 10.05.2010"«
This version of udev no longer has use flag old-hd-rules enabled
So all special rules for /dev/hd* devices are missing
Please migrate to the new libata if you need these rules.
They will be completely removed on the next udev update.

Also ist Udev wie vermutet der Übeltäter. Es wird ja alles wird immer besser ...

Nach Einfüttern von "sys-fs/udev old-hd-rules" in /etc/portage/package.use und Neubau von Udev sind die Symlinks aufs Erste wieder da. Aber der nette Nachsatz läßt für die Zukunft nichts Gutes ahnen:
(...)
* old-hd-rules use flag is enabled
* This adds the removed rules for /dev/hd* devices
* Please migrate to the new libata if you need these rules.
* They will be completely removed on the next udev update
(...)

Grrr :(

Grüße
Harald

5

04.01.2011, 15:23

Hallo Harald,
ja der Fortschritt ist unaufhaltsam... ;)
Aber i.d.R. kann man mit den "neueren" libata Treibern gut klarkommen.

So sieht es bei dem betreffenden Rechner aus: Die Systemfestplatte und /home hängen am SCSI-Bus (/dev/sda und /dev/sdb), eine Backupplatte und das DVD-ROM-Laufwerk hängen am IDE-Bus (dev/hda und /dev/hdc). Wie würden die Devicenodes nach Umstellung zugeordnet werden bzw. heißen?

Ich würde empfehlen den libata Treiber deines IDE Controllers als Modul im Kernel bereitzustellen, damit sollten dann deine Laufwerke dev/sda und /dev/sdb so bleiben wie sie sind, und dein System auch so wie es ist bootfähig bleiben.
Aus deiner Backupplatte /dev/hda sollte dann /dev/sdc werden.
Und dein DVD-ROM-Laufwerk wird zu /dev/sr0

MfG
Josef

6

04.01.2011, 20:47

Hallo Josef,

Zitat

a der Fortschritt ist unaufhaltsam

Du meinst "unterhaltsam", oder? ;-) Wo dabei ein Fortschritt erkennbar sein soll, das darf mir gerne mal jemand erklären. Ich sehne mich nach dem guten, alten statischen /dev-Verzeichnis zurück ...

Zitat

Aus deiner Backupplatte /dev/hda sollte dann /dev/sdc werden.

Sehr schön, und wenn ich ein weiteres SCSI-Device reinhänge, dann heißt sie dann dann plötzlich /dev/sdd. Das Ganze ist so ausgeklügelt wie beim Redmonder Pseudobetriebssystem. Immer was zum Nachfummeln. Echt zum K....
Aber letztlich wird mir wohl nichts anderes übrig bleiben, als irgendwann in den sauren Apfel zu beißen.

Grüße
Harald

7

04.01.2011, 21:29

Das Aufgeben der "hdx" Treiber ist eine Korrektur eines Design-Fehlers, den Linus mal zugelassen hatte. ATAPI/PATA ist eine Art "Billig-SCSI" für den Massenmarkt, ist SCSI also sehr ähnlich. Linus hatte zugelassen, dass eine komplett vom SCSI unabhängige Implementierung der Treiber in den Kernel aufgenommen wird. So wurde einiges doppelt implementiert. Jetzt sind die beiden Treiber wieder vereint.

Ich sehne mich nach dem guten, alten statischen /dev-Verzeichnis zurück
Dies ist immer noch möglich. Schmeiße UDEV runter und steige am besten auf die busybox-Init um ;)
Sehr schön, und wenn ich ein weiteres SCSI-Device reinhänge, dann heißt sie dann dann plötzlich /dev/sdd
Dann konfiguriere Dein System nach UUID btw. es gibt auch /dev/disk/by-*, die Du nutzen kannst.

Quellcode

1
2
3
4
5
6
7
8
$ ls -l /dev/disk/by-label/boot 
lrwxrwxrwx 1 root root 10  1. Jan 20:58 /dev/disk/by-label/boot -> ../../sda3

$ ls -l /dev/disk/by-path/pci-0000\:00\:1f.2-scsi-0\:0\:0\:0-part3 
lrwxrwxrwx 1 root root 10  1. Jan 20:58 /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part3 -> ../../sda3

$ ls -l /dev/disk/by-id/scsi-SATA_SAMSUNG_HD753LJS13UJDWQ822743-part3 
lrwxrwxrwx 1 root root 10  1. Jan 20:58 /dev/disk/by-id/scsi-SATA_SAMSUNG_HD753LJS13UJDWQ822743-part3 -> ../../sda3
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.