openwrt 在無usb的wifi 路由器上用opkg 安裝軟件
阿新 • • 發佈:2019-01-30
network com ima 發現 安裝 map text server -o 前言
前幾天把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 安裝軟件