宅文章...

 

原來新版的FW,只要照著http://www.dd-wrt.com/phpBB2/viewtopic.php?t=86912&postdays=0&postorder=asc&start=0 第一頁說明做,

就可以完成了(當然wget http://....../libc.x.x.x.ipk 還是要修改到最新版本才行).

下面是給舊版 (STABLE版 build 14xxx才要這樣)用的...

--update 2012/06/08--

Reference:

http://g300nh.blogspot.com/2010/06/software-installation-on-dd-wrt-part-1.html
http://g300nh.blogspot.com/2010/06/software-installation-on-dd-wrt-part-2.html
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=86912&postdays=0&postorder=asc&start=0 (Page 1 and Page 18)

本文是一個紀錄,也提醒自己下次要怎麼安裝optware到 g300hn上面

前置作業;

1. 把g300hn安裝穩定版, build14896, 個人比較愛用這個, 最新版的vpn怪怪的, 所以最後回頭用這一版..

2. 準備一隻隨身碟, 想辦法用軟體format成ext3格式

3. ddwrt設定; 打開usb支援, 包括 USB 2.0/ USB STORAGE/ EXT2EXT3 FILE SYSTEM, 剩下都不開

4. 打開ssh功能, 打開sshd/ password login,  原本有用key, 更安全, 可是為了optware就放棄, 只能用單純密碼登入

正文;

開機後, 把隨身碟插入機器裡面然後用putty等軟體,用ssh連線方式登入主機, 然後

ls /dev/discs/disc0/  

看看隨身碟在哪...有看到 disc跟part1 part2的話就一個一個試(先mount 然後ls看內容?)找到隨身碟的partition之後就ok了

我的是part1 所以就跑下面這行, mount 到/mnt

 

mount -t ext3 -o noatime /dev/discs/disc0/part1 /mnt
*Use mount -t ext2 /dev/discs/disc0/part1 /mnt for ext2 partition

然後到/mnt去做下面這些事情:

cd /mnt
mkdir etc opt root
touch optware.enable
chmod 755 etc opt root
mkdir opt/lib
chmod 755 opt/lib
cp -a /etc/* /mnt/etc/ 
mount -o bind /mnt/etc /etc 
mount -o bind /mnt/opt /jffs
 

然後到/tmp去抓檔案;  (版本好像有點舊, 跟ddwrt那篇第一頁不一樣, 第一頁那篇會有問題,要用第十八頁的做法)

 

cd /tmp 
wget 
http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/libc_0.9.30.1-42_ar71xx.ipk
wget http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/opkg_513-2_ar71xx.ipk
ipkg install libc_0.9.30.1-42_ar71xx.ipk opkg_513-
2_ar71xx.ipk 

 這時會跑一些設定,會看到一堆error, 沒關係, 不管他...

下一步,opkg的環境變數,

 

cat > /etc/opkg.conf << EOF 
src/gz backfire 
http://downloads.openwrt.org/backfire/10.03/ar71xx/packages 
dest root /opt 
dest ram /opt/tmp 
lists_dir ext /opt/tmp/var/opkg-lists 
EOF
 

然後測試一下,

 

umount /jffs 
mount -o bind /mnt/root /tmp/root 

mount -o bind /mnt/opt /opt 
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib' 
opkg update
  

看到"類似"下面這訊息就成功的一半, http的網址會不太一樣, 會跟上面設的一樣才對...

 

Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz
Inflating 
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz
Updated list of available packages in /opt/tmp/var/opkg-lists/snapshots.
  

接下來要設定ddwrt, 讓她可以自動mount 隨身碟跟啟動相關設定, 把下面這些script存到ddwrt的startup script裡(Administration->Commands): Sleep 下面那個要對應本文最上面的那個找隨身碟的script

 

#!/bin/sh

sleep 5
#mount -t ext3 -o noatime /dev/discs/disc0/disc /mnt
mount -t ext3 -o noatime /dev/discs/disc0/part1 /mnt

sleep 10 
if [ -f /mnt/optware.enable ]; then 
mount -o bind /mnt/etc /etc 
mount -o bind /mnt/root /tmp/root 
mount -o bind /mnt/opt /opt 
else 
exit 
fi

if [ -d /opt/usr ]; then 
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib' 
export PATH='/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin' 
else 
exit 

fi 

到此, 已經差最後一步, 最後一步是設定root login時自動執行的項目,

 

cat > /mnt/root/.profile << EOF 
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib' 
export PATH='/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin' 
export PS1='\[\033[01;31m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]' 
export TERMINFO='/opt/usr/share/terminfo' 
EOF
 

然後reboot, 再用putty login進去執行 opkg update. 就大功告成.

然後就要來看是要裝squid還是tinyproxy了...

arrow
arrow
    全站熱搜

    freylin 發表在 痞客邦 留言(0) 人氣()