FroyoでのSDメモリカードのマウント
ここで質問した件。
Google グループ
/system/etc/vold.fstab を変更したらうまくいきました。
元のvold.fstabはこんな感じ。(コメント行は省略。)
####################### ## Regular device mount ## ## Format: dev_mount
ここで6番めのカラムは
# ls /sys/devices/platform uevent power power.0 smsc911x.0 isp1760.0 a9tc-rtc a9tc_mmc.0 a9tc_key a9tc_touch a9tc_nand a9tc_audio alarm a9tc-battery.0 #
なんかa9tc_mmc.0 というのがそれっぽい。
/devices/platform/goldfish_mmc.0 のところを
/devices/platform/a9tc_mmc.0 に書き換えてリブートしたら
うまくSDメモリカードをマウントしていました。
# mount rootfs / rootfs rw 0 0 /dev/root / nfs rw,vers=2,rsize=4096,wsize=4096,namlen=255,hard,nointr,nolock,proto=udp,timeo=11,retrans=3,sec=sys,addr=192.168.1.26 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pts devpts rw,mode=600 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0 /dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8 0 0 /dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8 0 0 tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0 #
2010.7.7追記
## Example of a standard sdcard mount for the emulator / Dream # Mounts the first usable partition of the specified device dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.2/mmc_host/mmc1
一晩たってからもう一度このコメントを見ると、ふとこの意味がわかりました。
/devices/platform/goldfish_mmc.0 はemulatorでのsdメモリカードのデバイスで
/devices/platform/msm_sdcc.2/mmc_host/mmc1 はDreamでのsdメモリカードのデバイスということですね。
2つ書いておけばどちらか見つけた方をマウントしてくれると。だから同一のvold.fstabファイルをemulator用とDream実機用に使えるようになっているわけです。
それならば自分の場合は、/devices/platform/msm_sdcc.2/mmc_host/mmc1 のところを/devices/platform/a9tc_mmc.0に書き換えるほうがよいわけです。
つまり
dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.0 /devices/platform/a9tc_mmc.0
このように変更してうまくいくことを確認しました。