生命不惜,折腾不止。
缘起
再次成为IOS用户后,访问Google和文件共享成了两大需求。问题出现了,就要解决,于是有此文记录的活动。
重新安装OpenWrt
OpenWrt已经到了15.05
版本,版本代号是Chaos Calmer
。重装需要的-factory.img
,可以在这里下载。
我的WNDR4300平台是ar71xx
,可以从OpenWrt对应的硬件主页找到固件镜像文件。
TFTP重装
如果你的路由器还是出厂系统的话,可以通过登入后台在线上传镜像文件进行刷机,而我的已经是OpenWrt系统,只能通过网页端升级,故选用了TFTP方式刷机。
刷机步骤摘自OpenWrt wiki
- set a static IP on your computer, i.e 192.168.1.35, and connect the ethernet cable to the router
- power on the router
- press and hold the RESET button as soon as the switch LEDs light up.
- keep holding RESET until the power LED begins to flash orange and then green.
- once the power LED is flashing green, release RESET
- start the TFTP transfer to router at 192.168.1.1. In your computer execute:
tftp 192.168.1.1 -m binary -c put factory.img
总体来说是分为三步:
- 将电脑与路由器设置在同一内网中
- 令路由器进入恢复模式
- 利用TFTP将刷机包推入路由器
U盘挂载,文件共享
安装好OpenWrt后,就可以从网页端访问路由器,设置PPPoE拨号,设置WIFI等等。
U盘挂载
U盘挂载部分主要参考了跟 UMU 一起玩 OpenWRT(入门篇6):挂接 U 盘。
首先是安装相应的包:
opkg update
# 核心包
opkg install kmod-usb-storage
opkg install kmod-scsi-generic
# 文件系统
opkg install kmod-fs-ext4
# 辅助工具
opkg install usbutils fdisk e2fsprogs
利用lsusb
命令查看U盘是否已经被路由器识别。
这时可以选择用fdisk进行重新分区,不需要分区的话,可以用命令ls /dev | grep sd
查看/dev分区中是否已经出现U盘。
在OpenWrt上使用U盘,建议用ext4格式,可以用下面的命令进行格式化:
# sda1为上一命令得到的结果
mkfs.ext4 /dev/sda1
接下来就可以用mount
命令进行挂载了:
# 路径/mnt/usb/即为挂载目标点
mkdir /mnt/usb
touch /mnt/usb/USB_DISK_NOT_PRESENT
chmod 555 /mnt/usb
chmod 444 /mnt/usb/USB_DISK_NOT_PRESENT
mount /dev/sda1 /mnt/usb
这时可以测试一下,如果U盘里面存储了文件,可以通过/mnt/usb
访问的到。
下面是开机自动挂载U盘的命令。
# block-mount blkid用于查看U盘的UUID
opkg install block-mount blkid
# 实际上要操作的是fstab的配置文件/etc/config/fstab,要将enabled值改成1
block detect > /etc/config/fstab
uci set fstab.@mount[-1].target='/mnt/usb' u
ci set fstab.@mount[-1].enabled=1
uci commit fstab
更详细的信息可以参见这里
文件共享
文件共享可以通过FTP和SAMBA,推荐的方式是SAMBA。
SAMBA
安转SAMBA:
opkg update
opkg install samba36-server
# luci程序,可选
opkg install luci-app-samba
安装好SAMBA后,主要配置两个参数,一是共享文件夹的路径,如/mnt/usb/sambashare
,可以通过更改配置文件/etc/samba/smb.conf
实现,也可以通过luci实现。
示例:
[sambashare]
path = /mnt/usb/sambashare
valid users = root
read only = no
guest ok = yes
create mask = 0750
directory mask = 0750
第二个参数是访问账户,可以通过命令sambpasswd -a
将你的当前用户加入到SAMBA的组中,需要设置一个密码。另外,可能需要将配置文件/etc/samba/smb.conf
的[global]中的invalid users = root
注释掉。
最后,设置SAMBA服务启动和开机自启
/etc/init.d/samba start
/etc/init.d/samba enable
FTP
FTP可以用vsftpd
包来设置,大致过程与SAMBA类似:设置路径、添加用户、设置自启。
SAMBA服务可以在Windows文件资源管理器中自动检测的到,Linux下可以通过smb://Host/sharepath
访问,在IOS系统中,类似Documents的应用也支持添加SAMBA的功能。
这里强推一下Documents这个应用,结合PDF EXPERT,已经成为了我的文档中心。
后记
这天的活动,本来只有我和上帝知道,再过一个月,就只有上帝知道了。遂作笔记。