weidner -> computer -> linux -> debian -> siefs
Stand: 2004-10-09
(2004-08-13)
FUSE
Nachtrag 2004-08-14
Referenzen

Problem mit FUSE Version 2.2.1

Momentan wird FUSE in Version 2.2.1 als Package für Debian geliefert. Bei diesem haben sich die gültigen Optionen für fusermount geändert, so daß ein Versuch das Mobiltelefon via mount -t siefs einzuhängen mit folgendem Fehler abbricht:

 /usr/bin/fusermount: unknown option -x
 Try `/usr/bin/fusermount -h' for more information

Ich habe bis Ende April keine Zeit mich darum zu kümmern, werde dann Kontakt mit den Autoren aufnehmen um zu sehen, was sich machen läßt.

2005-04-03 (mw)


SieFS - Siemens Mobiltelefon als Dateisystem auslesen

Ich wollte schon immer die Bilder aus dem Siemens MC60 meiner Frau auf dem Rechner weiterverarbeiten. Das USB-Datenkabel im Telefonladen war uns aber viel zu teuer, so daß ich das immer wieder aufschob. Bis ich bei Conrad [1] ein Datenkabel (Bestellnummer 760406) zu einem erträglichen Preis entdeckte.

scmxx

Aus meinen Recherchen nach geeigneten Programmen kannte ich scmxx [2], für das es ein Debian-Paket gibt. Dieses bekam auch die Verbindung hin, aber damit bekam ich nur ein paar Informationen und oft die Meldung, daß der betreffende Befehl für das MC60 nicht implementiert ist.

fuse

Irgendwo las ich dann von SieFS [3]. Damit sollte alles besser gehen. Doch vor dem Preis kommt bekanntlich der Schweiß und so war es auch hier. ``SieFS is based on FUSE, Filesystem in USErspace, an excellent tool for creating custom filesystems with minimal effort.'' Minimaler Aufwand also. Ein Debian-Paket für siefs habe ich nicht gefunden, allerdings diese:

 fuse-source - Filesystem in USErspace (source for kernel module)
 fuse-utils - Filesystem in USErspace (utilities)
 libfuse-dev - Filesystem in USErspace (development files)

Das Kernel-Module muß für den installierten Kernel kompiliert werden. Zum Glück hatte ich schon vor einiger Zeit Kernel für Debian übersetzt, so daß ich die Verzeichnisse unter /usr/src schon richtig eingerichtet hatte. Trotzdem klappte es nicht auf Anhieb, so daß ich die Schritte hier noch mal aufgeschrieben habe.

Zunächst, als root:

 apt-get install fuse-source

Danach, als mathias

 cd /usr/src
 tar xzf fuse.tar.gz

Hierbei gab es eine Meldung von tar, daß es utime nicht setzen konnte, diese hab ich ignoriert (so bin ich).

 cd modules fuse
 fakeroot debian/rules binary-modules KSRC=/usr/src/kernel-headers-2.6.7-1-686 KVERS=2.6.7-1-686 KDREV=2.6.7-2

Der Aufruf fakeroot debian/rules binary-modules dürfte aus den einschlägigen Dokumentationen bekannt sein. Was ich erst mühsam herausfinden mußte waren die weiteren Parameter. KSRC ist noch beschrieben und ist das Verzeichnis, über das die Kernel-Header gefunden werden können. KVERS war auch dokumentiert. Ohne den Parameter KDREV bekam ich beim Installieren aber immer den Fehler, daß die Abhängigkeiten nicht aufgelöst werde können, weil kernel-image-2.6.7-1-686 die Version 2.6.7-2 hat. Mit grep habe ich im debian Verzeichnis nach den Einträgen in der control Datei gesucht und bin dann auf den Parameter KDREV gekommen.

Nun noch fuse-utils und zum Übersetzen von siefs das Paket <libfuse-dev> installiert und es kann los gehen. Zunächst habe ich nur das Quellarchiv geholt und testweise übersetzt. Nachdem erste Tests mit fusermount ... ./siefs ... funktionierten, griff ich mir mein Kochbuch für frische Debianpakete [4] und bastelte mir ein Paket, daß im Downloadverzeichnis [5] abgeholt werden kann.

das Datenkabel am Notebook

Das Bild ist vom Mobiltelefon aufgenommen und zeigt in etwa, was für eine Qualität die Bilder haben (mit besserem Licht, kann man etwas mehr erkennen). Rechts am Notebook hängt das Datenkabel, das Mobiltelefon hatte ich für die Aufnahme abgenommen.

Nachtrag 2004-08-14

Als ich heute den Notebook startete, mußte ich leider zur Kenntnis nehmen, daß er bei der Zeile mount tmpfs on /tmp ... hing. Na gut, dachte ich, kommentiere ich das aus, doch dann hing er bei mount ... /dev/usb. Schließlich dämmerte es mir[, daran erkennt man den Schnellmerker]. Ich hatte in /etc/fstab die Zeile, die in der Datei README dafür empfehlen wurde, eingetragen:

 /proc/fs/fuse/dev /mnt/siefs siefs device=/dev/ttyUSB0   0 0

und dabei nicht daran gedacht, daß das Datenkabel nicht ständig angeschlossen ist - die Kamera muß nicht unbedingt angeschlossen sein - genau genommen hatte ich nicht mit dieser Konsequenz gerechnet. Beim mount -a in den initscripts hing der Rechner dann. Ich hab die Zeile dann in

 /proc/fs/fuse/dev /mnt/siefs siefs noauto,device=/dev/ttyUSB0   0 0

geändert und nun startet der Rechner ohne Probleme und auf die Kamera kann ich trotzdem nach mount /mnt/siefs zugreifen.

Referenzen

[1] http://www.conrad.de

[2] http://www.hendrik-sattler.de/scmxx/

[3] http://mirror01.iptelecom.net.ua/~dmitry_z/siefs/

[4] http://www.debian.org/doc/manuals/maint-guide/index.de.html

[5] http://weidner.in-bad-schmiedeberg.de/computer/linux/debian/siefs/download/