openwrt 在无usb的wifi 路由器上用opkg 安装软件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openwrt 在无usb的wifi 路由器上用opkg 安装软件相关的知识,希望对你有一定的参考价值。
前言
前几天把dir615 刷成了openwrt,在安装完毕之后,发现最大的问题是自身的内存太小,导致可用存储空间不足,安装几个软件后就报存储空间不足了。由于这个路由没有usb接口,所以无法外挂存储。为了仍能愉快的安装各种软件,我设计了用NFS 扩展路由器存储空间的办法:
工具准备
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.255.0: 允许连接的网络范围
刷机过程
参见 http://blog.51cto.com/13673090/2161277
openwrt 扩展存储
首先调整软件包配置并更新软件包列表:
系统》软件包》配置
option overlay_root /tmp/overlay
系统》软件包》动作》刷新列表
- 命令行可执行opkg update
扩展存储空间到内存
由于dir615 的存储比较小,所以要先用内存的/tmp分区中转一下,自身内存在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 支持就可了,喜欢折腾的朋友可以继续研究一下。
以上是关于openwrt 在无usb的wifi 路由器上用opkg 安装软件的主要内容,如果未能解决你的问题,请参考以下文章