#1 2011-08-18 16:25:32
Optware for Tomato K26
近日概略理解Opkg的編譯, 先自製busybox, cpubench套件(.opk), 上傳twtomato, 提供網友把玩.
為了不與已安裝的Optware產生可能的混淆與衝突, 且Ipkg已停止維護, 故採用Opkg作套件管理.
自製Opkg套件並非要取代Optware Ipkg套件庫, 而是有機會使用較新版本與擴展更多功能. 更重要的是, 好玩(才怪).自製的Opkg套件, 安裝於/opt/opkg/. 為了套用Tomato預設的執行路徑, /opt/usr/bin, sbin會分別連結到/opt/opkg/bin, sbin. 舊有目錄會更名為~結尾的舊目錄名稱.
執行檔安裝或連結至/opt/usr/bin, /opt/usr/sbin
1. 將儲存空間(USB HD等), 掛載到/opt
2. 安裝Optware ddwrt. 若已安裝ipkg-opt, 此步驟忽略.
# wget http://twtomato.googlecode.com/files/optware4tomato.sh
# chmod u+x optware4tomato.sh
# ./optware4tomato.sh
3. 安裝opkg套件管理程式
# ipkg-opt install http://twtomato.googlecode.com/files/opkg_0.1.8_tomato-k26_mips32.ipk
4. opkg命令說明
# opkg
5. 更新套件庫來源. 設定檔: /opt/etc/opkg/opkg.conf
# opkg update
6. 查閱套件清單
# opkg list
7. 安裝cpubench套件作測試
# opkg info cpubench
# opkg install cpubench
# opkg files cpubench
# cpubench
8. 測試完畢, 不需要則移除.
# opkg remove cpubench
9. 若不喜歡opkg套件管理程式, 移除. (已安裝的Opkg自製套件相關程式仍保留, 需由opkg套件管理程式來移除)
# ipkg-opt remove opkg
參考: opkg README.txt
更新:
玩了自編套件一陣子, 現在已能與原有的ipkg套件管理程式整合, 就像Tomato PL作者shibby的作法類似, 所以就不必脫褲子放屁, 再多一個套件管理程式opkg.
套件區分:
twtomato: MIPS R1
digiland: MIPS R2
MIPSr1套件也能運行於MIPSr2, 但未必能充分發揮MIPSr2效能.
PXE boot(x86)套件與路由器CPU(MIPSr1/r2)無關, 故不重複上傳.
PXE boot相關套件:
1. syslinux: 網路開機(PXE boot)
2. systemrescuecd: 電腦系統救援
3. clonezilla: 電腦硬碟備分還原
PXE boot相關套件備註:
1. 下載的壓縮檔存放於/opt/tmp/, 移除套件後, 未自動刪除壓縮檔, 可節省再次安裝的下載時間. 若不需要, 請手動刪除.
2. 使用PXE boot相關套件, 請選用內建NFS server的Tomato韌體為佳. 系統載入順序: NFS > FTP > TFTP
SIP 網路電話:
1. Siproxd: SIP 代理伺服器
AoE:
1. vblade: AoE target
最後修改: hippo (2011-11-10 16:03:33)
離線
#2 2011-11-05 12:35:43
Re: Optware for Tomato K26
Optware ddwrt, oleg都是MIPS r1
# file /opt/bin/tree
/opt/bin/tree: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), stripped
雖然可以在MIPS r2上跑, 但似乎沒完全發揮MIPS r2, 就好像在P4上跑以i386所編譯的程式?
Linux x86的套件, 一般都是i386. Mandrake, Mageia由i586起跳. 但安裝Gentoo後才理解, i686也只不過是Pentium Pro. 難怪Gentoo都是提供原始碼, 而不是已編譯好的套件. 現烤出爐的新鮮麵包, 才能發揮機器最佳功效.
Tomato與Optware各有自己的uClibc.
# ldd /bin/tar
libcrypt.so.0 => /lib/libcrypt.so.0 (0x2aabf000)
libm.so.0 => /lib/libm.so.0 (0x2aae3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ab01000)
libc.so.0 => /lib/libc.so.0 (0x2ab20000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
# ldd /opt/bin/tar
libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x2aabf000)
libc.so.0 => /opt/lib/libc.so.0 (0x2aade000)
ld-uClibc.so.0 => /opt/lib/ld-uClibc.so.0 (0x2aaa8000)
在Tomato下使用額外的程式, 最理想的是直接使用內建的uClibc, 相容性最好, 速度也比較快? 但需要花功夫另外自行編譯, 而這才是惡夢的開始.
我沒那麼大的雄心壯志去編譯所有的Optware ddwrt套件, 但有些套件版本過舊, 安裝有問題, 或沒我要的套件等, 這才讓我潦水下去研究. 自行摸索出一些頭緒後, 也將一些套件上傳到Google. 雖有網友下載, 但不知使用狀況為何?
現在新款機器都是MIPS r2, 能有更多的MIPS r2套件可用, 那是最好了. 若網友願意分享成果, 可代置於Google.
離線
相關討論主題
主題 | 回覆 | 點閱 | 最後發表 |
---|---|---|---|
置頂 |
33 | 85130 | 2024-10-23 08:28:27 作者 huiduo |
置頂 |
1625 | 3032054 | 2024-04-28 12:35:05 作者 s87311 |
|
155 | 348250 | 2022-12-08 17:08:17 作者 dir868l |
置頂 |
54 | 207414 | 2022-09-15 12:25:01 作者 chiachu |
|
222 | 502968 | 2022-09-14 14:54:52 作者 chiachu |