orangepi one作为U盘连接到电脑
目录
1. 说明
将orangepi one开发板作为U盘,连接到PC电脑,可以用来传文件。
orangepi one使用USB OTG接口连接到PC。
2. TF卡分区说明
TF卡分为三个区:
/dev/mmcblk2p1-500M-放uboot和内核及设备树,fat格式
/dev/mmcblk2p2-6G-放busybox文件系统,ext4格式
/dev/mmcblk2p3-1G-用来作为U盘分区, fat格式
3. linux内核配置
配置内核支持Gadget U盘功能
Device Drivers --->
[*] USB support --->
<*> USB Gadget Support --->
<*> USB functions configurable through configfs
[*] Mass storage
<M> Mass Storage Gadget
修改内核支持/dev/loop功能,把内存作为磁盘,第6节使用
Device Drivers --->
[*] Block devices --->
<*> Loopback device support
<*> RAM block device support
将编译出来的zImage和drivers/usb/gadget/legacy/g_mass_storage.ko放到文件系统中
4. orangepi one上设置
/* 把TF卡mmcblk2p3 分区作为U盘通过USB口接入电脑,模拟U盘 /
insmod g_mass_storage.ko file=/dev/mmcblk2p3 stall=0 removable=1
/ 把TF卡mmcblk2p3分区挂载到orangepi one /mnt/media1/ 目录,这样可以和PC通过U盘通信*/
mount /dev/mmcblk2p3 /mnt/media1/
5. PC端显示如下
6. 在内存创建指定大小空间作为U盘和PC通信
在orangepi one上设置
cd /mnt
1. 在/mnt创建usb.img镜像文件,大小为10M
dd if=/dev/zero of=/mnt/usb.img bs=1M count=10
2. 格式化镜像为FAT格式,PC可以识别的格式都可以,如FAT或FAT32
mkfs.vfat /mnt/usb.img
3. 关联usb.img镜像和loop0设备
losetup /dev/loop0 /mnt/usb.img
4. 挂载到/mnt/media3目录
mount -t vfat /dev/loop0 /mnt/media3
5. 加载驱动,把loop0设备作为U盘加载
insmod g_mass_storage.ko file=/dev/loop0 removable=1
如下,是PC识别到的U盘: