vine-users ML アーカイブ



[vine-users:073534] Re: gtkpod , ipod mini

  • From: Kazuhiro Taihei <k.taihei@xxxxxxxxx>
  • Subject: [vine-users:073534] Re: gtkpod , ipod mini
  • Date: Sat, 19 Nov 2005 01:01:15 +0900
petit さん、こんにちは。たいへいです。

> こんにちは、petitと申します。
> 
> 投稿が以下のようになっていて、まるで読めないのは私だけでしょうか?
> エンコードの確認をお願いします。

元のメールに合わせて UTF-8 になってしまったようです…。再送します。

-----------------------------------------------------------------------
はじめまして。たいへいといいます。

> ALEXといいます。
>
> Vine3.1 に gtkpod (ver 0.88.2) をインストールし、
> ipod miniをUSBで接続したのですが、マウントできません。
>
> USBに挿入すると、/mnt/iPod_mini-sda とうディレクトリが
> 自動作成され、gtkpodの設定で 「iPodのマウント場所」を上記
> としたのですが、その後iPodからデータを読み込ませようとすると
>
> '/mnt/iPod_mini-sda/iPod_Control/iTunes/iTunesDB' does not exist.
>  Import aborted.
>
> となってしまいます。
> それではと思い、一度 /mnt/iPod_mini-sda を umount して、同じディレクト
リ に/dev/sda をvfatで手動でマウントしようとすると、
>
> mount: 間違ったファイルシステムタイプ、不正なオプション、
>        /dev/sda のスーパーブロックが不正、或いはファイルシステムのマウント
>        が多すぎます
>
> となってしまいます。
> /dev/sda1 や /dev/sda2をマウントしようとすると下記となります。
>
> mount: /dev/sda1 は正常なブロックデバイスではありません
>
> どなたか iPod miniをvineで使えている方いませんか?
> いましたら、ヒントをお願いします。


私も Vine3.2 でまったく同じ症状にあってしまいましたが、なんとか原因を突
き止めました。
USB ドライブを自動認識した際、murasaki は /usr/lib/murasaki/usb_mount を
実行してるのですが、この中で処理に失敗しています。
対象(iPod)にパーティションがあるか fdisk で調べてから、あれば
autoMountMulti、なければ autoMountSingle を呼ぶのですが、どうも iPod は
他の USB ドライブと比べ反応がにぶいのか?パーティションが見付けられず、
autoMountSingle が呼ばれて変なマウントをされてしまいます。その結果、
/dev/sda 自体もおかしくなってしまい、上のように後でマウントしようとして
も正常なブロックデバイスではないと言われてしまいます。
おかしくなったデバイスは、umount してから
# /sbin/fdisk /dev/sda
して、そのまま w で保存すれば直りました。

また、usb_mount の allPartFromFdisk 関数の中の sleep 0.5s を 3s くらいに
したところ、USB に挿入しただけでも正常にマウントできるようになりました。
# その場合マウント先は /mnt/iPod_mini-sda2 というように 2 が付きます。
ただ、それだけだとマウントに時間がかかるようになってしまうので、ちょっと
いじりました。以下に diff を載せておきます。ベタな逃げかたなので、どなた
かもっといい方法で直して頂けるとうれしいところです(笑)。では。

90c90
<     sleep 0.5s
---
>     sleep 3s
150c150
<     for scsiPart in $(allPartFromFdisk $1); do
---
>     for scsiPart in $Devs; do
153c153
<         local mountPoint="/mnt/""$2""-$mountDev"
---
>         local mountPoint="/mnt/""$1""-$mountDev"
195d194
<
204c203,204
<             if [ "$(allPartFromFdisk $scsiDev)" == "" ]; then
---
>           Devs=`allPartFromFdisk $scsiDev`
>             if [ $Devs == "" ]; then
209c209
<                 autoMountMulti $scsiDev $productName
---
>                 autoMountMulti $productName

-- 
~~~~~~~~~~~~~~~~~~~~~~~
   たいへい かずひろ
    Kazuhiro Taihei

mail k.taihei@xxxxxxxxx
~~~~~~~~~~~~~~~~~~~~~~~