路由器的rom一般都不大,比如703N可怜的4M rom已经是OpenWrt的最低要求,装好了系统就剩不下多少了,面对Luci,Transmission,SAMBA之类稍微大一点的软件的只能取其一,除了淘宝上找商家换8M flash外还有一种解决办法,就是用U盘来当机器的rom,一段时间用下来感觉稳定性还算不错,基本没有重启死机的现象。因为大多是用命令的操作,windows会用到PUTTY和WINSCP这两个软件,命令容易因为少一个空格而失败,所以最好把命令复制命令粘贴在putty里执行。
ps.现在新的内核用block代替了fstab,因此以前的方法不好使了,这里就说下新方法怎么办。拿出putty,连接好后确定已经联网,更新下软件包,安装几个基本的软件:
opkg update
opkg install block-mount kmod-fs-ext4 kmod-usb-ohci kmod-usb-storage e2fsprogs
如果出现错误,可能是网络连接不正常,天朝的网络你懂的,可以换个时间试试,也可能是内核太旧了,会提示kmod不符,需要更新一下固件,可以参考这里,还有可能是空间不够了,可以输入:
df -h
察看还剩多少空间,一般来说刚刷完最小的固件空间是满够用的,可以参照这里重新刷一遍。
建议先对u盘进行分区,windows下面有很多教程就不再赘述了,第一分区留给系统安装软件用,512M足够了,第二分区留个交换空间相当于win的虚拟内存,128M也应该够了,实事上我从来没看见这空间被占用过,不过也不差这一点,第三分区就留着做下载用,全分给他吧。
安装完成后,最好重启一下路由。插上U盘,输入:
block info
察看有没有识别出来
找到/dev/sdax就是u盘了,如果有分区还会有多个sdax。linux有自己的文件格式兼容性更好,所以安装软件的分区就格式化成ext4好了:
mkfs.ext4 /dev/sda1
然后要把路由器上所有的文件拷到u盘的第一分区sda1里(你也可以选择其他分区,但要记住是sda几,下面几步都是按sda1来的):
mkfs.ext4 /dev/sda1
mount /dev/sda1 /mnt
mkdir /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xvf -
sync
umount /tmp/cproot
同时设置好交换空间:
mkswap /dev/sda2
swapon /dev/sda2
现在把当前的挂载状态写到fstab文件:block detect > /etc/config/fstab
再这个文件基础上修改一下,拿出winscp找到/etc/config/fstab,用记事本开始编辑
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '0'
option check_fs '0'
config 'mount'
option target '/mnt'
option uuid '7d3abfaf-493a-46bb-9730-1d793ecb9783'
option enabled '1'
config 'swap'
option uuid '76d36596-5710-4b77-a3a7-02a66d469750'
option enabled '1'
你的文件应该看起来是这样的,需要修改所有的option enabled 后0为1,开机自动挂载所有分区,再找到option target '/mnt' 后改成 '/' ,这样就默认把sda1挂载到跟目录,实现了U盘分区代替路由ROM,其他项即使有不一样也不需要改。保存退出。
ok,重启你的路由器,开机后putty连接上去后输入:
df -h
是不是剩余空间已经变大了?:-)
下一步,有了空间当然是安装软件了,继续阅读:
安装Web界面