Openwrt Uboot燒寫


 

Openwrt 燒uboot 需要慎重,一般買一個帶不死uboot的路由器再折騰會比較安全,因為

openwrt firmware對uboot分區進行了保護,而且帶有不死uboot的路由器可以通過web界面刷firmware。

 

傳說中的不死uboot 原版可以見下面的網址:

https://github.com/pepe2k/u-boot_mod

 

 

那么uboot是如何燒寫的呢?我總結了下圖:

 

這里總結了4個方法,前兩個方法是openwrt還能開起來的時候,后兩個辦法是openwrt掛掉的時候用的。

 

 

第1個方法是通過SSH連接來將firmware放入到可寫的文件系統,並且用命令將其刷人。

因為SSH支持文件的傳輸,用winscp+putty可以搞定。

 

第2個方法通過在電腦上搭建了一個http server,用ssh命令讓openwrt從電腦上下載到firmware到板子上可寫的文件系統,

並且用命令將其刷人。

 

第3個方法需要拆路由器,通過TTL線用命令讓路由器從電腦上拿uboot,並且用命令刷入uboot

 

第4個方法是不死uboot的方法,這里的“不死”的意思實際上是不用拆機來恢復openwrt,

這樣大大方便了倒騰的過程。這個uboot一般帶有一個友好的web界面,通過HTTP將uboot文件上傳到路由器。

 

 

當然了,如果連uboot都掛掉了,那么只能通過其他方法刷openwrt了(比如拆下flash直接刷),下面是一個例子:

http://blog.chinaunix.net/uid-27194309-id-3405021.html

 在這里(https://github.com/pepe2k/u-boot_mod)提到了如何恢復:

My device does not boot after upgrade!

I told you... bootloader, in this case U-Boot, is the most important piece of code inside your device. It is responsible for hardware initialization and booting an OS (kernel in this case), i.e. it's the bridge head for delegating to / flashing kernel and rootfs images. So, if during the upgrade something went wrong, your device will not boot any more. The only way to recover from such a situation in a mild way is via a JTAG adapter connection. In case of a lack of JTAG connection, you would even need to remove the FLASH chip, load proper image using an external programmer and solder it back.

可以看到,如果uboot都壞了,那么只能將flash拆下,用編程器刷flash,或者使用JTAG連接到路由器。這些設備都需要額外購買,

而且有些路由器也不支持JTAG,所以刷uboot要慎重。

 

 

如果你對路由器上面的文件系統有疑惑,那么請看openwrt的官方文檔:

http://wiki.openwrt.org/zh-cn/doc/techref/flash.layout

我這里只是介紹了一些大體的概念,具體刷uboot的操作可以看這里:

http://www.right.com.cn/forum/thread-154561-1-1.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM