导入:修改固件实现无线u盘 (cola)

之前写了通过修改/etc/config/目录下的文件实现U盘和sd卡挂载的方法,之后尝试修改固件实现之前的功能,以下是我实现这一过程的一些记录。
1.首先进入menuconfig进行设置

Base system —>
<> block-mount
Kernel modules —>
Filesystems—>
<
> kmod-fs-ext4
<> kmod-fs-msdos
<
> kmod-fs-ntfs
<> kmod-fs-vfat
Native Language Support —>
<
> kmod-nls-cp437
<> kmod-nls-iso8859-1
USB Support —>
<
> kmod-usb-ohci
<> kmod-usb-storage
<
> kmod-usb-storage-extras
<> kmod-usb-uhci
<
> kmod-usb2
<> kmod-usb3
这部分设置可以解决在USB Host接入u盘时对U盘的识别问题。
在openwrt_widora//files/etc/config/这个目录下建立fstab文件,该文件的内容会替代开发板上/etc/config/fstab中的内容。拷贝/etc/config/fstab中的内容到新建的fstab文件中,并作出如下修改
config mount#挂载U盘
option enabled ‘1’
option device ‘/dev/sda1’
option target ‘/udisk’
option fstype ‘vfat’
config mount#挂载SD卡
option enabled ‘1’
option device ‘/mmcblk0p1’ #文件系统
option target ‘/udisk1’ #挂载位置
option fstype ‘vfat’ #文件格式
此处的修改为挂载插入usb口的u盘和插入sd卡卡座的sd卡。
2.为了实现网络共享,需要增加samba功能。
在menuconfig界面
Network —>
<
>samba36-server
保存退出。
修改openwrt_widora/package/network/services/samba36/files/samba.config这个文件,对一下内容进行修改
config sambashare#分享U盘目录为home
option ‘name’ ‘home’#共享目录名称
option ‘path’ ‘/udisk’#u盘所在路径
option ‘read_only’ ‘no’
option ‘guest_ok’ ‘yes’#允许匿名访问
option ‘create_mask’ ‘0777’
option ‘dir_mask’ ‘0777’
config sambashare#分享sd卡目录为home1
option ‘name’ ‘home1’#共享目录名称
option ‘path’ ‘/udisk1’#sd卡所在路径
option ‘read_only’ ‘no’
option ‘guest_ok’ ‘yes’#允许匿名访问
option ‘create_mask’ ‘0777’
option ‘dir_mask’ ‘0777’
保存后退出。
3.由于防火墙的限制,需要修改防火墙的设置。
打开配置文件openwrt_widora/package/network/config/firewall/files/firewall.config,进行一下修改
config zone
option name wan
list network ‘wan’
list network ‘wan6’
option input ACCEPT
option output ACCEPT
option forward ACCEPT
option masq 1
option mtu_fix 1
保存退出
4.完成以上修改之后,重新编译固件并将固件更新至开发板,更新之后需要重启(目前发现不重启发现u盘没有挂载,重启之后以后都能自动挂载)。输入命令df可以看到挂载的u盘和sd卡。如果电脑连接上开发板上的热点,那么可以直接访问\openwrt,就可以看到home和home1两个目录,分别是u盘和sd卡共享的目录。如果开发板和电脑在同一局域网下,那么电脑访问开发板的ip地址也能看到相同的目录,我测试的时候这种模式拷贝文件的速度不如直接连接开发板的速度快。安卓手机安装个文件浏览器也能够访问,苹果手机会麻烦点,得开发个小工具才能访问。
以上是我个人开发过程的一些记录,仅供大家参考。