基于路由器的開源嵌入式操作系統(tǒng)學(xué)習(xí)平臺
2 平臺的實現(xiàn)
2.1 硬件改造
由于WRT54GL無線路由器沒有把串口外接出來,為了便于OpenWrt和Xinu的移植,并能通過控制臺對它們進行交互調(diào)試,需要對其進行簡單的硬件改造。
該路由器電路本身就有兩個UART接口,只是沒有從印刷電路板上用接插件引出來,因此將這兩個串口引出是平臺構(gòu)建的第一個步驟。
首先,需要將印刷電路板和路由器的外殼分離,找到Linksys公司提供的串行接頭連接,它位于電路板的右下角,有10個針腳支持兩個串行接口(UART0和UART1),可以用10-pin接插件將這10個針腳引出。
其次,由于路由器和PC機串口的電平不同,所以還要進行相應(yīng)的電平轉(zhuǎn)換,把路由器的3.3 V電平轉(zhuǎn)換為RS-232的串口電平。這就需要制作一個轉(zhuǎn)換電路,這里采用的串行接口電平轉(zhuǎn)換芯片為ADM202,參考電路如圖1所示。本文引用地址:http://cafeforensic.com/article/148055.htm
然后把引出的串口固定在前面板上,復(fù)原外殼即可,這樣就得到有兩個外接串口的路由器。使用時把UART0通過串口線和PC機的串口相連,通過任意串口通信軟件就可以進行數(shù)據(jù)通信了。
2.2 OpenWrt的移植
由于WRT54GL路由器支持第三方固件,所以OpenWrt移植并不困難,加之OpenWrt支持軟件包的定制安裝,不需完全從零開始構(gòu)建,所以可以直接利用現(xiàn)有比較穩(wěn)定可靠的鏡像資源加以改造。當然,如果要構(gòu)建相應(yīng)的交叉開發(fā)環(huán)境,從頭做起的話,也可以參考相應(yīng)文獻。由于步驟和Xinu類似,這里不作展開。
2.2.1 部署OpenWrt
首先在www.openwrt.org網(wǎng)站下載WRT54Gsquashfs.bin固件,然后通過路由器管理菜單更新固件,相關(guān)步驟如下:http://192. 168.1.1→Adminisllration→Firmware Upgrade。需要注意的是,需要給PC分配192.168.1.2和192.168.1.254之間的一個靜態(tài)IP地址,以便使PC和路由器在同一個網(wǎng)段。當路由器重新啟動后,telnet到其IP地址為192.168.1.1,并發(fā)出以下命令:
root@OpenWrt:/#nvram set boot_wait=on
root@OpenWrt:/#nvram set boot_time=10
root@OpenWrt:/#nvram commitreboot
如果覺得使用命令行配置路由器比較麻煩,還可以添加相應(yīng)的Web GUI包,命令如下:
root@OpenWrt:/#opkg update
root@OpenWrt:/#opkg install luci-light
root@OpenWrt:/#opkg install luci
然后用瀏覽器打開http://192.1 68.1.1,就能夠更容易地配置路由器了。
2.2.2 更新現(xiàn)有OpenWrt
OpenWrt的軟件包定制安裝和標準Linux沒什么區(qū)別,這里只介紹如何更新已經(jīng)運行了OpenWrt操作系統(tǒng)的路由器固件的方法。
步驟和部署OpenWrt極為相似,所不同的是不需要運行NVRAM命令,另外固件文件名不同。第一次部署路由器固件時,需要用.bin文件,更新升級已有固件時則需要用.trx文件。原因是,.bin是將路由器的相關(guān)配置信息和.trx封裝在一起而生成的鏡像,在第一次部署固件鏡
像文件時,需要提供這樣的信息,而在后續(xù)升級時則不再需要,用.trx文件即可,命令如下:
root@OpenWrt:/#cd/tmp
root@OpenWrt:/tmp#mtd-r write openwrt-XXX.trx linux
重啟后路由器就重新引導(dǎo)到新版本的固件。
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論