Linux 2.6.9からはUBドライバ経由アクセスするようになったようなのだが、作成されるデバイスがどうもしっくり来ない。
CONFIG_BLK_DEV_UB=m
CONFIG_USB=y
CONFIG_USB_STORAGE=m
上記設定でコンパイルすると"/dev/sda"で認識されるが
CONFIG_BLK_DEV_UB=y
CONFIG_USB=y
CONFIG_USB_STORAGE=m
でコンパイルすると"/dev/uba"で認識される。
ubaで認識された場合は、認識後すぐには"cat /proc/partition"に反映されず(つまりmount出来ない……)、"fdisk /dev/uba"とかで一度アクセス後に初めて使えるようになる。
一度fdiskでアクセスしないと使えないのでは、使い物にならないので"CONFIG_BLK_DEV_UB=m"で使うことにした。
ちなみに、上記はLinux-2.6.18で実行した結果です。
ubaで使用する場合は、udevをインストールしていれば自動的に認識されるが、そうでない場合は
mknod uba b 180 0
mknod uba1 b 180 1
mknod uba2 b 180 2
と、しておく必要がある。