Ich habe mir wieder meinen iPod aus den Tiefen meiner Schreibtischladen ausgegraben. Da ich im Privatbereich Windows fast entsagt habe – Ausnahmen betreffen Guild Wars und das Debuggen von Malware, wenn es sich nicht unter Linux machen lässt.
Der Anlass für den iPod war ein Mangel an Musik in der Arbeit, da es in unserem Büro doch etwas lauter ist. Um trotzdem noch ungestört arbeiten zu können kompensiere ich den Umgebungslärm ebenfalls mit Geräusch, genannt Musik. Aber genug von meinen Arbeitsumfeld.
Der iPod sollte unter Linux betankt werden. Was wir dazu benötigen ist die Kernelseitige Unterstützung für USB Geräte wie sie auch für externe HDDs benötigt wird. Sobald wir den iPod anstecken wird er uns als /dev/sdXX aufscheinen und wir können ihn mounten.
Doch was ist wenn man mehrere Geräte am (virtuellen) SCSI Strang hängen hat? Who is who? Der dmesg Output:
usb 1-1: new high speed USB device using ehci_hcd and address 5
usb 1-1: configuration #1 chosen from 1 choice
scsi6 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
Vendor: Apple Model: iPod Rev: 1.62
Type: Direct-Access ANSI SCSI revision: 00
SCSI device sdb: 12000555 512-byte hdwr sectors (6144 MB)
sdb: Write Protect is off
sdb: Mode Sense: 64 00 00 08
sdb: assuming drive cache: write through
SCSI device sdb: 12000555 512-byte hdwr sectors (6144 MB)
sdb: Write Protect is off
sdb: Mode Sense: 64 00 00 08
sdb: assuming drive cache: write through
sdb: sdb1 sdb2
sd 6:0:0:0: Attached scsi removable disk sdb
sd 6:0:0:0: Attached scsi generic sg1 type 0
usb-storage: device scan complete
Unser iPod hängt somit als /dev/sdb im System. Seine Daten liegen auf /dev/sdb2. Dies kann sich aber ändern, sobald ich z.B. einen CF-Reader oder eine USB HDD zuerst an das System anschliesse. Die Lösung zu diesem Problem liegt an udev, indem wir eine Regel hinzufügen. Um es simpel zu halten lege ich diese in /etc/udev/rules.d/60-ipod.rules ab.
BUS==“scsi“, SYSFS{vendor}==“Apple*“, SYSFS{model}==“iPod*“, KERNEL==“sd?2″, SYMLINK+=“ipod“
Sobald diese Regel nun aktiv ist wird der iPod immer als /dev/ipod aufscheinen, was uns ein Mounten per fstab erleichtert. Desweiteren ist der Zugriff nun von der Gruppe plugdev aus gewährt.