Hallo, unter SuSE 10.1 bräuchte ich einige Links die ein Programm das wir nutzen standardmäßig verwendet. /dev/st0 > /dev/tape /dev/fd0u1440 > /dev/fd0h1440 Wie erstelle ich diese Links? Dürfte wohl mit udev gehen. Nur wie? Ich werde daraus nicht ganz schlau. Wenn ich die Links von Hand anlege sind die nach dem nächsten Neustart weg. Außerdem werden wohl auch von udev Devices angelegt die ich gar nicht haben will. Er legt bei einer Seriell-Karte z.B. /dev/ttyMX?? an obwohl ich eigentlich später selber welche als /dev/ttyA?? anlegen will. Kann man das udev auch abgewöhnen? Gruß Daniel
Daniel Spannbauer wrote:
unter SuSE 10.1 bräuchte ich einige Links die ein Programm das wir nutzen standardmäßig verwendet.
/dev/st0 > /dev/tape /dev/fd0u1440 > /dev/fd0h1440
Wie erstelle ich diese Links? Dürfte wohl mit udev gehen. Nur wie? Ich werde daraus nicht ganz schlau. Wenn ich die Links von Hand anlege sind die nach dem nächsten Neustart weg.
Schau Dir /etc/udev und insbesondere /etc/udev/rules.d an. Wenn Du Symlinks willst, brauchst Du entsprechende Regeln fuer das Geraet (daher auch rules.d) - dort werden die symbolischen Links dann mit einem Eintrag SYMLINK+="..." angegeben. Beispiele sollte es genug geben. Cheers, Th.
Ok, hab auch im google noch etwas darüber gefunden. Nun hab ich mir ne kleine Rule erstellt. Sieht so aus: KERNEL=="st0", SYMLINK="tape" KERNEL=="fd0u1440", SYMLINK="fd0h1440" Soweit so gut. Den Link für sto auf tape legt er an, den für fd0u1440 aber nicht. Gibts vom udev irgendwo ein Log-File? Den Loglevel habe ich in der udev.conf schon auf "debug" gestellt, finde aber kein Log-FIle. Gruß Daniel Thomas Hertweck schrieb:
Daniel Spannbauer wrote:
unter SuSE 10.1 bräuchte ich einige Links die ein Programm das wir nutzen standardmäßig verwendet.
/dev/st0 > /dev/tape /dev/fd0u1440 > /dev/fd0h1440
Wie erstelle ich diese Links? Dürfte wohl mit udev gehen. Nur wie? Ich werde daraus nicht ganz schlau. Wenn ich die Links von Hand anlege sind die nach dem nächsten Neustart weg.
Schau Dir /etc/udev und insbesondere /etc/udev/rules.d an. Wenn Du Symlinks willst, brauchst Du entsprechende Regeln fuer das Geraet (daher auch rules.d) - dort werden die symbolischen Links dann mit einem Eintrag SYMLINK+="..." angegeben. Beispiele sollte es genug geben.
Cheers, Th.
Am Dienstag, 26. September 2006 11:03 schrieb Daniel Spannbauer:
hab auch im google noch etwas darüber gefunden. Nun hab ich mir ne kleine Rule erstellt. Sieht so aus: KERNEL=="st0", SYMLINK="tape"
Ich weiß ja nicht, wo diese Regel steht, aber mit '=' überschreibst du alle vorher definierten. Und es gibt schon noch Regeln für st*, nämlich in /etc/udev/rules.d/60-persistent-storage.rules Deshalb hatte Thomas wohl auch '+=' geschrieben. :)
KERNEL=="fd0u1440", SYMLINK="fd0h1440"
Soweit so gut. Den Link für sto auf tape legt er an, den für fd0u1440 aber nicht.
Soweit ich google verstanden habe wird fd0u1440 erst durch /lib/udev/create_floppy_devices erzeugt, d.h. "fd0u1440" als Kernel-Device wird eher nicht funktionieren. http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=357055 | > The problem is that the devices for the alternate format types | > (/dev/fd0u*) are not being created. | They are obsolete, udev does not provide them. | If you really care, you can use the | extras/floppy/create_floppy_devices.c program from the source package. Siehe auch /etc/udev/rules.d/50-udev-default.rules: KERNEL=="fd[0-9]*", ACTION=="add", SYSFS{cmos}=="*", RUN+="create_floppy_devices -c -t $sysfs{cmos} -m %M /dev/%k" Kann man übrigens auch als normaler Benutzer im Debug-Modus laufen lassen: /lib/udev/create_floppy_devices -d -t 4 -m 2 /dev/fd0 Vielleicht fehlt dir aber in deiner Regel ganz oben auch nur das 'ACTION=="add"', wobei das ja eigentlich eher eine Einschränkung ist ...
Gibts vom udev irgendwo ein Log-File? Den Loglevel habe ich in der udev.conf schon auf "debug" gestellt, finde aber kein Log-FIle.
Hmm, schreibt udev nicht in /var/log/messages? Du kannst den Log-Level auch on-the-fly per Kommandozeile ändern: udevcontrol log_priority="debug" und wieder zurück mit udevcontrol log_priority="err" BTW, das könnte dich vielleicht interessieren: http://www.reactivated.net/writing_udev_rules.html#testing Gruß Jan -- The more advanced the civilization, the less powerful the individual.
Hallo, also so richtig schlau werd ich daraus nicht. Jan Ritzerfeld schrieb:
Am Dienstag, 26. September 2006 11:03 schrieb Daniel Spannbauer:
hab auch im google noch etwas darüber gefunden. Nun hab ich mir ne kleine Rule erstellt. Sieht so aus: KERNEL=="st0", SYMLINK="tape"
Ich weiß ja nicht, wo diese Regel steht, aber mit '=' überschreibst du alle vorher definierten. Und es gibt schon noch Regeln für st*, nämlich in /etc/udev/rules.d/60-persistent-storage.rules Deshalb hatte Thomas wohl auch '+=' geschrieben. :)
Jo, die regel gibts. Nur: Wir bringe ich der Regel noch bei das ein weiterer Symlink benötigt wird? Einfach Anhängen wird nix bringen.
KERNEL=="fd0u1440", SYMLINK="fd0h1440"
Soweit so gut. Den Link für sto auf tape legt er an, den für fd0u1440 aber nicht.
Soweit ich google verstanden habe wird fd0u1440 erst durch /lib/udev/create_floppy_devices erzeugt, d.h. "fd0u1440" als Kernel-Device wird eher nicht funktionieren. http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=357055 | > The problem is that the devices for the alternate format types | > (/dev/fd0u*) are not being created. | They are obsolete, udev does not provide them. | If you really care, you can use the | extras/floppy/create_floppy_devices.c program from the source package.
Siehe auch /etc/udev/rules.d/50-udev-default.rules: KERNEL=="fd[0-9]*", ACTION=="add", SYSFS{cmos}=="*", RUN+="create_floppy_devices -c -t $sysfs{cmos} -m %M /dev/%k"
Da haste recht, da hab ich nicht weit genug gedacht. Kann dann ja nicht gehen. Dann aber auch die Frage: Wie bringe ich der Regel bei das ich nen Symlink brauche? Gruß Daniel
Am Dienstag, 26. September 2006 15:23 schrieb Daniel Spannbauer:
also so richtig schlau werd ich daraus nicht.
Ich auch nicht, sonst hätte ich direkt auf die Ursprungsfrage schon geantwortet. :-D
Jan Ritzerfeld schrieb:
Am Dienstag, 26. September 2006 11:03 schrieb Daniel Spannbauer:
hab auch im google noch etwas darüber gefunden. Nun hab ich mir ne kleine Rule erstellt. Sieht so aus: KERNEL=="st0", SYMLINK="tape"
Ich weiß ja nicht, wo diese Regel steht, aber mit '=' überschreibst du alle vorher definierten. Und es gibt schon noch Regeln für st*, nämlich in /etc/udev/rules.d/60-persistent-storage.rules Deshalb hatte Thomas wohl auch '+=' geschrieben. :)
Jo, die regel gibts. Nur: Wir bringe ich der Regel noch bei das ein weiterer Symlink benötigt wird? Einfach Anhängen wird nix bringen.
Ich meinte das so, daß du einfach deine Regel ändern sollst: KERNEL=="st0", SYMLINK+="tape"
KERNEL=="fd0u1440", SYMLINK="fd0h1440"
Soweit so gut. Den Link für sto auf tape legt er an, den für fd0u1440 aber nicht.
Soweit ich google verstanden habe wird fd0u1440 erst durch /lib/udev/create_floppy_devices erzeugt, d.h. "fd0u1440" als Kernel-Device wird eher nicht funktionieren. http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=357055
| > The problem is that the devices for the alternate format types | > (/dev/fd0u*) are not being created. | | They are obsolete, udev does not provide them. | If you really care, you can use the | extras/floppy/create_floppy_devices.c program from the source | package.
Siehe auch /etc/udev/rules.d/50-udev-default.rules: KERNEL=="fd[0-9]*", ACTION=="add", SYSFS{cmos}=="*", RUN+="create_floppy_devices -c -t $sysfs{cmos} -m %M /dev/%k"
Da haste recht, da hab ich nicht weit genug gedacht. Kann dann ja nicht gehen. Dann aber auch die Frage: Wie bringe ich der Regel bei das ich nen Symlink brauche?
Worauf muß denn der Link genau zeigen? Reicht einer auf fd0? Denn das wäre ja relativ einfach: KERNEL=="fd0", ACTION=="add", SYMLINK+="fd0h1440" KERNEL=="fd0", ACTION=="remove", RUN+="/bin/rm -f $root/fd0h1440" Ansonsten, fd0h1440 hat die minor-nummer 40. Ich habe es nicht ausprobiert aber create_floppy_devices macht ja eigentlich nichts anderes als sowas: KERNEL=="fd0", ACTION=="add", RUN+="/bin/mknod $root/fd0h1440 b %M 40" KERNEL=="fd0", ACTION=="remove", RUN+="/bin/rm -f $root/fd0h1440" Dem mknod könnte mann da auch noch andere Berechtigungen mitgeben, aber ich weiß ja nicht, welche du da gerne hättest: man mknod BTW, "udevtest /block/fd0" kennst du schon? Gruß Jan -- If a listener nods his head when you're explaining your program, wake him up.
Am Dienstag, 26. September 2006 17:22 schrieb ich:
(...). Worauf muß denn der Link genau zeigen? Reicht einer auf fd0? Denn das wäre ja relativ einfach: KERNEL=="fd0", ACTION=="add", SYMLINK+="fd0h1440" KERNEL=="fd0", ACTION=="remove", RUN+="/bin/rm -f $root/fd0h1440" (...).
Wobei ich mir da nicht sicher bin, ob das nich viel zu kompliziert ist und es nicht einfach und einfacher mit KERNEL=="fd0", SYMLINK+="fd0h1440" statt beider Regeln da oben geht. Bin aber, wie gesagt, kein udev-Experte ... Gruß Jan -- God made the integers, all else is the work of man.
participants (3)
-
Daniel Spannbauer
-
Jan Ritzerfeld
-
Thomas Hertweck