openwrt 在无usb的wifi 路由器上用opkg 安装软件

前言

前几天要把dir615 刷成openwrt,在安装完毕之后,发现最大的问题是自身的内存太小,导致可用存储空间不足,安装几个基础软件后就报存储空间不足了,由于这个路由没有usb接口,无法外挂存储, 为了仍能愉快的安装各种软件,我设计了用NFS 扩展路由器存储空间的方法:
openwrt 在无usb的wifi 路由器上用opkg 安装软件

工具准备

wifi Router:Dir615
nfs Server :Mac Mini

nfs Server 配置

条件有限,我手上只有一台Mac Mini,所以就利用Mac OS 自带的NFS 进行配置了

sudo vi /etc/exports
/Volumes/MacSoft/openwrt/dir615 -alldirs -rw -maproot=xxx:admin -network 192.168.100.0 -mask 255.255.255.0
sudo nfs restart

/Volumes/MacSoft/openwrt/dir615: 要共享的本机目录
-alldirs 挂载该目录下的所有子目录
-maproot=xxx:admin 以管理员组的 xxx 用户身份读写该目录,xxx 替换成自己的
-network 192.168.100.0 -mask 255.255.254.0: 允许连接的网络范围

刷机过程

参见 http://blog.51cto.com/13673090/2161277

openwrt 扩展存储

由于dir615 的存储比较小,所以要先用内存的/tmp分区中转一下

首先调整软件包配置并更新软件包列表:

系统》软件包》配置

option overlay_root /tmp/overlay

系统》软件包》动作》刷新列表

  • 命令行可执行opkg update

扩展存储空间到内存

自身内存在64M 的可以略过这个步骤

mkdir /tmp/root
cp -r -d -p /etc /tmp/root/
cp -r -d -p /lib /tmp/root/
cp -r -d -p /usr /tmp/root/

mount --binds /tmp/root/usr /usr
mount --binds /tmp/root/etc /etc
mount --binds /tmp/root/lib /lib

安装nfs 内核支持,挂载分区

opkg install kmod-fs-nfs 
mkdir /opt
mount -o nolock,rw -t nfs 192.168.100.2:/Volumes/MacSoft/openwrt/dir615 /opt
mkdir /opt/root
mkdir /opt/root/overlay
mkdir /opt/root/opkg-lists
cp -r -d -p /etc /opt/root/
cp -r -d -p /lib /opt/root/
cp -r -d -p /usr /opt/root/

mount --binds /opt/root/usr /usr
mount --binds /opt/root/etc /etc
mount --binds /opt/root/lib /lib
sed -i "s#/tmp/overlay#/opt/root/overlay#g" /etc/opkg.conf
sed -i "s#/var/opkg-lists#/opt/root/opkg-lists#g" /etc/opkg.conf
opkg update
rm -rf /tmp/root

增加swap 内存

opkg install swap-utils block-mount losetup kmod-loop 
dd if=/dev/zero of=/opt/swap/swapfile bs=1024k count=512
mkswap /opt/swap/swapfile
losetup /dev/loop2 /opt/swap/swapfile
swapon /dev/loop2

到此为止,一个可自己随意安装软件的openwrt 环境就构建完毕了,这个路由cpu 太慢,软件编译很吃力。
windows 共享服务也是可以支持的,我没去试验,把安装nfs 换成cifs 支持就可了,喜欢折腾的朋友可以继续研究一下。

猜你喜欢

转载自blog.51cto.com/13673090/2347858
今日推荐