【問題】Asus WL-500GP 雙韌體架構一問



贊助商連結


talent881
2008-04-15, 03:45 PM
在普通的電腦上開機,首先由BIOS 的作業系統先啟動,完畢後再將控制權轉交給其他周邊裝置(EX:硬碟,USB碟,光碟機..等) 去啟動另一個作業系統

在帶有USB 而且可連接周邊裝置的路由器(EX:硬碟,USB碟,光碟機..等) ,有沒有人寫出這樣的韌體,把機身內的FLASH當作是像BIOS一樣啟動完作業系統後,再將控制權轉交給USB的周邊再啟動另一個作業系統,

可否有人寫出上述的那種的韌體?
或者是可由現有韌體改成上述的模式?

這樣的話,可以在USB周邊測試新的韌體,免除刷壞機子FLSAH的風險,也可以免除刷FLASH還要提心吊膽的...

贊助商連結


FYI
2008-04-15, 07:39 PM
Broadcom CFE 可以下載並執行放在遠端的韌體, 作用類似PXE Boot

CFE> help
Available commands:

w Write the whole image start from beginning of the flash
e Erase [n]vram or [a]ll flash except bootrom
r Run program from flash image or from host depend on [f/h] flag
p Print boot line and board parameter info
c Change booline parameters
f Write image to the flash
i Erase persistent storage data
b Change board parameters
reset Reset the board
flashimage Flashes a compressed image after the bootloader.
help Obtain help for CFE commands

For more information about a command, enter 'help command-name'
*** command status = 0
另外, Redhat 的RedBoot 把Flash 分區, 可以指定載入那一區, 概念就像PC 的Partition 一樣, 所以可以同時存放好幾份韌體, 印象中D-Link DVG-1401SP 和DVG-1402SL 就同時存放兩套韌體, 就像技嘉的DualBIOS, 只不過切換方法並未對外公開

RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xA8000000 0xA8000000 0x00030000 0x00000000
rootfs 0xA8030000 0xA8030000 0x00700000 0x00000000
vmlinux.bin.l7 0xA8730000 0x80041000 0x00080000 0x80041000
FIS directory 0xA87E0000 0xA87E0000 0x0000F000 0x00000000
RedBoot config 0xA87EF000 0xA87EF000 0x00001000 0x00000000

talent881
2008-04-17, 07:53 PM
這台機器不須要這樣阿
萬一刷壞了, 可以用 ASUS 工具復原

怕弄壞 Flash, 那就 chroot 進 USB 裡即可
前提是 USB 裡面的是相容的環境
chroot也是個好方法,但小弟只略懂LINUX,不知道能不能啟動以後自動使用chroot轉入USB環境?
如果使用chroot 有甚麼優點和缺點呢?


Broadcom CFE 可以下載並執行放在遠端的韌體, 作用類似PXE Boot

CFE> help
Available commands:

w Write the whole image start from beginning of the flash
e Erase [n]vram or [a]ll flash except bootrom
r Run program from flash image or from host depend on [f/h] flag
p Print boot line and board parameter info
c Change booline parameters
f Write image to the flash
i Erase persistent storage data
b Change board parameters
reset Reset the board
flashimage Flashes a compressed image after the bootloader.
help Obtain help for CFE commands

For more information about a command, enter 'help command-name'
*** command status = 0

還好網上還有很多高手會去看技術文件,不然就一個頭兩個大了

以上面這樣說來tftp好像是CFE其中一項功能
如果是的話,CFE的功能是透過背後的restone鍵去啟動的
那樣還有辦法在啟動時不需要人工他就能自動取得韌體?
這個功能有辦法自動透過PPPOE或固定IP到網際網路上取得韌體嗎?
還是他只能針透過路由器的USB周邊或區域網路取得韌體而已?

另一個問題,[f/h]
F是指FLASH, H是指HD, 是否如同所想的?

FYI
2008-04-17, 08:24 PM
另一個問題,[f/h]
F是指FLASH, H是指HD, 是否如同所想的?
r -> run
h -> Remote Host
Host IP -> check board parameters (b)

不同的CFE 會有不同的指令, 以上並非WL-500GP 的CFE, Broadcom CFE 只能由Serial Console 存取

FYI
2008-06-23, 06:38 AM
OpenWrt / Asus WL-500gP V2 - attempts to run Kamikaze (http://forum.openwrt.org/viewtopic.php?id=14856)