天天看點

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.255.0: 允許連接配接的網絡範圍

刷機過程

參見 https://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 支援就可了,喜歡折騰的朋友可以繼續研究一下。

轉載于:https://blog.51cto.com/13673090/2347858