wr703n路由器搭载openwrt系统挂载U盘历程

去年买的TP-wr703n路由器,刷了openWRT的系统,做了一个简单的无线监控装置,最近又给翻出来了想再扩充一下功能,发现内存太小,挂载U盘路程好艰辛,现在写下来与君共享。

首先什么是openwrt,这个维基百科里有很详细的介绍,这里只简要介绍,所谓的openwrt就是一个开源的路由器专用的嵌入式linux系统,辅助庞大的opkg软件包能扩展很多很多功能。

TP-WR703N路由器  是 TP 在 2011 年推出的一款便携式 3G 路由器,具备一个可连接 3G 上网卡的标准 USB 口,802.11N 150M 无线网络,microUSB 供电接口,搭载 Atheros AR7240 CPU 及 Atheros AR9331 芯片组。小巧省电,不到手掌心大,功耗不及 0.5W。

openwrt通用固件中默认不包含usb存储设备的支持,需要额外安装,但是由于是一年前刷的固件,现在的软件包好多都不支持了,opkg update的时候发现所有软件包源的地址都是错误的,只能重新升级固件版本才行。

升级最新固件

1、从 OpenWrt 官网下载对应型号的固件,由于这个时基于 AR7240 CPU 的,所以在名为 ar71xx 的目录下寻找 wr703n 即可。

2、通过 ssh连接上路由器,并用wget 命令下载最新的固件。

3、使用 mtd -r write /tmp/固件名字.bin firmware 成功后会出现 rebooting…… 

安装usb存储设备支持包

1、opkg update 更新包列表

2、opkg install kmod-usb-storage block-mount kmod-fs-ext4

安装完后会出现以下结果

root@OpenWrt:~# opkg install kmod-usb-storage block-mount kmod-fs-ext4
Installing kmod-usb-storage (3.10.49-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-storage_3.10.49-1_ar71xx.ipk.
Installing kmod-scsi-core (3.10.49-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-scsi-core_3.10.49-1_ar71xx.ipk.
Installing block-mount (2014-06-22-e0430f5c62f367e5a8e02755412977b02c3fc45e) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/block-mount_2014-06-22-e0430f5c62f367e5a8e02755412977b02c3fc45e_ar71xx.ipk.
Installing kmod-fs-ext4 (3.10.49-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-fs-ext4_3.10.49-1_ar71xx.ipk.
Installing kmod-lib-crc16 (3.10.49-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-lib-crc16_3.10.49-1_ar71xx.ipk.
Installing kmod-crypto-hash (3.10.49-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-crypto-hash_3.10.49-1_ar71xx.ipk.
Configuring kmod-scsi-core.
kmod: failed to insert /lib/modules/3.10.49/sd_mod.ko
Configuring kmod-usb-storage.
Configuring kmod-crypto-hash.
Configuring kmod-lib-crc16.
Configuring block-mount.
Configuring kmod-fs-ext4.
kmod: failed to insert /lib/modules/3.10.49/ext4.ko
不知道为什么会出现以上错误(有大神知道的话请不吝赐教),
#cat /proc/filesystems 发现并没有ext4 格式文件系统的支持
#ls /dev 也没有sdX的设备。

重启并查看启动信息

#reboot

#dmesg

发现有以下几行

[    9.750000] scsi 0:0:0:0: Direct-Access     General  USB Flash Disk   1.00 PQ: 0 ANSI: 2
[    9.760000] sd 0:0:0:0: [sda] 15669248 512-byte logical blocks: (8.02 GB/7.47 GiB)
[    9.770000] sd 0:0:0:0: [sda] Write Protect is off
[    9.770000] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
[    9.770000] sd 0:0:0:0: [sda] No Caching mode page found
[    9.780000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    9.790000] sd 0:0:0:0: [sda] No Caching mode page found
[    9.790000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    9.810000]  sda: unknown partition table
[    9.810000] sd 0:0:0:0: [sda] No Caching mode page found
[    9.820000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    9.820000] sd 0:0:0:0: [sda] Attached SCSI removable disk
说明已经检测到我的U盘了,再查看 /dev 发现 多了一个 sda的文件 ,这就是U盘
赶紧挂载一下 #mkdir /mnt/usb  #mount /dev/sda /mnt/usb 成功…… 

df -h 一下

root@OpenWrt:/mnt/usb# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                  640.0K    564.0K     76.0K  88% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.1M     76.0K     14.0M   1% /tmp
/dev/mtdblock3          640.0K    564.0K     76.0K  88% /overlay
overlayfs:/overlay      640.0K    564.0K     76.0K  88% /
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda                  7.2G     16.8M      6.8G   0% /mnt/usb

大功告成,接下来就可以把根文件系统 整个复制到U盘上,然后就可以随便耍了。

你可能感兴趣的:(openwrt)