Author Archive
Brückentechnologie
Dieser Artikel enthält Content …
Ich habe gerade mal das hier zu meiner Seite hinzugefügt, nach dem mich YouTube heute morgen schon mehrfach genervt hat.
Dockstar, OpenWRT & udev
Mahlzeit,
ich habe seit geraumer Zeit eine Seagate Dockstar, auf die ich mit der Hilfe eines guten Freundes ein OpenWRT mit Samba und NFS gezogen habe. Es lief auch alles ganz gut. Auch das mounten der USB-Platten mittels fstab.Nun passierte es jedoch eines Tages, dass ich einen USB-Stick anschließen wollte um per WLAN auf dem Sofa drauf zugreifen zu können, dies funktionierte jedoch nicht, da der Stick nicht gemounted wurde. Was nun? Da ich eh einen neuen Kernel und ein RootFS bauen musste, weil ich ein Modul für FTDI-Serial-USB-Adapter vergessen hatte, entschloss ich mich, udev mit zu kompilieren:
1 2 3 | CONFIG_DEFAULT_udevtrigger=y CONFIG_PACKAGE_udev=y CONFIG_PACKAGE_udevtrigger=y |
Nach einiger Recherche im World-Wide-Web hatte ich auch ungefähre Ahnung davon, wie ich udev für meine Zwecke misbrauchen kann. Ersteinmal sollte beim Start des Systems ein Ordner angelegt werden, welchen ich per NFS und Samba freigeben könne. Dies habe ich einfach mit der Zeile
1 | mkdir /tmp/disks |
in der /etc/rc.local realisiert.
Nun ist es an der Zeit udev ein Init-Script zu verpassen, wir wollen beim Systemstart den udev-daemon starten und auch gleich antriggern, damit er eventuell vorhandene Scripts ausführt. Erstellt wird hierzu die Datei /etc/init.d/udev. Diese wird mit folgendem Inhalt gefüllt:
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/sh /etc/rc.common start() { killall udevd > /dev/null 2> /dev/null /sbin/udevd --daemon /sbin/udevadm trigger } stop() { killall udevd } |
Noch ein
1 | chmod 755 /etc/init.d/udev |
und das Init-Script ist fertig.
Nun müssen wir udev noch dazu bringen, etwas auszuführen, wenn wir ein USB-Speichergerät anstöpseln. Also eine neue Rule erstellen:
1 | vi /etc/udev/rules.d/10-mount.rules |
Diese füllen wir mit der Regel zum Mounten und der zum Verzeichnis anlegen des USB-Mediums und der Regel zum Unmounten und der zum Verzeichnis löschen, wenn das Medium entfernt wird:
1 2 | KERNEL=="sd[a-z][0-9]", BUS=="usb", ACTION=="add", RUN+="/bin/mkdir -p /tmp/disks/%k", RUN+="/bin/mount -t auto /dev/%k /tmp/disks/%k" KERNEL=="sd[a-z][0-9]", BUS=="usb", ACTION=="remove", RUN+="/bin/umount -l /dev/%k", RUN+="/bin/rmdir /tmp/disks/%k" |
Nach einem Reboot der Dockstar sollten nur alle USB-Sticks oder Festplatten automatisch gemounted werden.
Falls ihr Geräte immer unter dem gleichen Mountpoint mounten wollte, z.B. einen bestimmten Stick immer unter /mnt/sonstwas, hilft euch udev hier auch, da es unter /dev/disk/by-id Symlinks zu dem Device anlegt. ein fstab-Eintrag mit “/dev/[ID-DES-GERÄTES] /mnt/sonstwas …” mounted natürlich das Gerät immer am selben Punkt
bis neulich.
j-zero
Bash: Logging & Ausgabe
Wer kennt es nicht, man möchte was in ein Log schreiben und dennoch ausgeben?
Lösung: “tee” (andere mit “tail -f” halte ich für eher ekelhaft.)
1 | make all | tee /tmp/make.log |


