把EasyARM-i.MX283A虚拟成U盘需要加载板上的/root/g_file_storage.ko驱动,加载该的命令格式为: # insmod /root/g_file_storage.ko stall=0 file=块设备removable=1 file参数表示把EasyARM-i.MX283A虚拟成U盘后,使用哪一个块设备储存这个虚拟U盘的数据。当这个虚拟U盘连接到电脑后,在电脑看到这个虚拟U盘的文件系统就是这个块设备的文件系统。若块设备还没有格式化,可以在电脑上格式化。 1 把TF卡作为虚拟U盘的储存空间
把TF卡格式化(假设格式化成FAT文件系统),然后插入到EasyARM-i.MX283A TF卡槽,系统会检测到TF卡的插入,并挂载到指定的目录。
输入df -m命令查看TF卡的块设备和挂载的目录,操作示例;
在该例子中,TF卡的块设备为/dev/mmcblk0p1,挂载到/media/sd-mmcblk0p1目录下。 输入下面命令加载g_file_storage.ko驱动:
命令执行完成后,将MiscroUSB线插入EasyARM-i.MX283A的USB OTG接口并接到电脑(假设为Windows系统),在“我的电脑”下,将看到多了一个U盘驱动器,这就是EasyARM-i.MX283A虚拟出来的U盘。进入该U盘,新建一个new.txt的文件,然后在电脑卸载这个U盘。
这时在EasyARM-i.MX283A可以查看刚才新建的new目录:
root@EasyARM-iMX28x ~# ls /media/sd-mmcblk0p1/new.txt /media/sd-mmcblk0p1/new.txt
使用类似的方法也可以把U盘作为虚拟U盘的储存空间。 2 使用普通文件作为虚拟U盘的储存空间
普通文件可以作为虚拟块设备使用,因此也可以用作虚拟U盘的储存空间。普通文件可以储存在文件系统的任何位置。生成特定大小的普通文件可以用dd命令,其命令格式为:
dd if=file of=loop_file bs=size count=num
dd命令的执行需要几个参数: if参数表示生成文件的数据是从哪个文件输入; of参数表示要生成的loop文件路径; bs参数表示生成文件每块大小; count参数表示生成文件有多少个块。
使用下面命令生成一个10M大小的普通文件:
root@EasyARM-iMX28x~#insmod/root/g_file_storage.kostall=0 file=/dev/mmcblk0pl remobable=1 g_file_storage gadget:File-backed StorageGadger,version:20 November 2008 g_file_storage gadget:Number ofLUNs=1 g_file_storagegadget-lun0:ro=0,file:/dev/mmcblk0pl fsl-usb2-udc:bind to driver g_file_storage 生成的普通文件为/dev/shm/disk,大小为1024×10240=10MB。 输入下面命令加载g_file_storage.ko驱动:
root@EasyARM-iMX283 ~# insmod /root/g_file_storage.ko stall=0 file=/dev/shm/diskremovable=1
命令执行完成后,将MiscroUSB线插入EasyARM-i.MX283A的USB OTG接口并接到电脑,在“我的电脑”下,将看到多了一个U盘驱动器,这就是EasyARM-i.MX283A虚拟出来的U盘。由于普通文件还没有格式化,所以得到的虚拟U盘需要格式化,可以在Windows直接对虚拟U盘进行格化式。格式化完成后,进入该U盘,新建一个new.txt文件,然后卸载这个U盘。
这时在EasyARM-i.MX283A把普通文件挂载到/mnt/目录: root@EasyARM-iMX28x ~# mount /dev/shm/disk /mnt/
挂载完成后,进入/mnt/目录即可看到刚才新建的new.txt文件: root@EasyARM-iMX28x ~# cd /mnt/ root@EasyARM-iMX28x /mnt# ls new.txt
|