OpenWrt


此篇整理於2015.1.7號,遺失的筆記

================================================

參考資料:F403基本教程、openwrt深入學習筆記

串口默認波特率:57600 

開發軟件 eclipse 位於/home/f403tech/eclipse文件夾下。

開發板上用戶文件及ipk軟件包放在/usr/work/文件夾下。

ubuntu 截圖命令  gnome-screenshot -a

ubuntu中ctrl+alt+方向鍵可以切換工作空間、ctrl+alt+t可以打開終端

RT5350基本操作:

[源碼下載]

1、安裝SVN工具

sudo apt-get install subversion

2、安裝git工具

sudo apt-get install git-core

3、安裝依賴庫文件

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zliblg-dev libncurses5-dev gawk

或者

$sudo apt-get install gcc g++ binutils 

$sudo patch bzip2 flex bison 

$sudo make autoconf gettext texinfo 

$sudo unzip sharutils ncurses-term zliblg-dev libncurses5-dev gawk

4、下載openwrt源碼

mkdir openwrt

cd openwrt/

svn co svn://svn.openwrt.org/openwrt/trunk

     進入trunk目錄

     cd /work/openwrt/trunk/

-------------------------------------------------------------------------------

0、編譯openwrt

     /home/work/openwrt/barrier_breaker# make help 查看幫助

執行svn info 查看當前下載的源碼版本、svn update 更新下載的openwrt 源碼、

更新Feeds,執行/work/openwrt/branches/barrier_breaker#./scripts/feeds update -a  、

然后執行/barrier_breaker#./scripts/feeds install -a 、

使下載的軟件包可以出現在make menuconfig 配置菜單中。

openwrt 默認不允許使用root用戶操作,需要修改include/prereq-build.mk文件:

barrier_breaker#vi include/prereq-build.mk

define Require/non-root

# ["$$(shell whoami)"!="root"]

endif

如果需要配置內核選項,執行barrier_breaker#make kernel_menuconfig

--------------------------------------------------------------------------------------------------

#進入配置頁面

make menuconfig   

 

RT5350開發板,采用32M SDRAM 、8M Flash,這配置和HAME的HAME-MPR-A2硬件配置一樣。

每個選項前面都有一個[]標簽,我們可以選擇y,m,n

選擇y設置為[*],表示將軟件包編譯進固件image文件

選擇m設置為[M],表示軟件包編譯后制作成ipk文件,然后再設備上通過opkg命令安裝,並不編譯進固件中

選擇n設置為[],表示不編譯該軟件包

1)選擇CPU型號

   Target System -> Ralink RT288x/RT3xxx

2)選擇CPU子型號

  Subtarget -> RT3x5x/RT5350 based boards

3)選擇路由器型號

  Target profile -> HAME-MPR-A2

最后保存退出

編譯

barrier_breaker#make -j 3 V=s

-j:多進程編譯,-j指定的參數為你的cpu核數加1,雙核就指定為3

V=s:輸出編譯信息

$make V=99

注:第一次編譯大概需要4、5個小時,以后再次編譯分分鍾搞定。

編譯后的鏡像位於 /work/openwrt/trunk/bin/ramips/下面  ls ./

openwrt-ramips-rt305x-mpr-a2-squshfs-sysupgrade.bin就是需要的鏡像

清理工程

barrier_breaker#make clean          刪除barrier_breaker目錄下的bin、build_dir

barrier_breaker#make dirclean     刪除barrier_breaker目錄下的bin、build_dir、staging_dir、staging_dir/toolchain

barrier_breaker#make distclean    刪除所有編譯的或者配置和下載的feeds內容以及下載的軟件包源碼,還有.config配置文件

編譯單個軟件包以uci為例

barrier_breaker#make package/system/uci/compile V=s 編譯

barrier_breaker#make package/system/uci/clean V=s  清理

1、燒寫OpenWRT固件

在倒計時按4進入命令行界面 

設置 tftpboot相關參數

RT5350 # set ipaddr 192.168.10.100 

RT5350 # set serverip 192.168.10.102     設置 tftptftp tftp服務器 IP 地址 ,即 與你的設備相連的電腦 的 IP 地址 

RT5350 # set bootfile openwrt.bin            設置 要下載的固件名稱 要下載的固件名稱 

RT5350 # save  將設置寫入Flash

執行 reset 重啟設備,在 重啟設備,在 倒計時按 2進入 tftptftp tftp燒寫固件步驟 

更改固件名,原固件名太長容易出錯,同時記得帶.bin后綴。設置好IP后用Tftpd32下載,tftp協議將監聽端口69.

系統調用是內核與應用程序之間的接口,設備驅動程序是內核與硬件之間的接口。

2、開發板和windows互傳文件,通過SSH[端口22]

     首先在配置頁面make menuconfig 將openssh-sftp-server選項設置為<*>,編譯進內核,燒寫新的固件。或確保固件已含有ssh-server.

然后使用passwd命令設置開發板密碼

3、編譯設備驅動程序

 (1) 將f403tech_drv文件夾放到openwrt/trunk/package/kernel目錄下,並進入源碼頂層目錄,cd /work/openwrt/trunk/,

執行make menuconfig ,進入kernel modles選項,進入other modules,找到kmod-f403tech_drv將其配置為* ,保存退出。

 (2) #make package/kernel/f403tech_drv/compile V=99

編譯完成后就能在openwrt/trunk/bin/ramips/packages目錄找到*.ipk文件

(3) 將*.ipk軟件包傳到開發板上,使用opkg install命令安裝

 #opkg install kmod-f403tech_drv_3.10.36-1_ramips_24kec.ipk

 #opkg remove 函數名 移除安裝的程序

使用opkg list查看安裝了哪些軟件包,進入lib/modules/3.10.36/目錄就能看到驅動模塊,cd lib/modules/3.10.36/

接下來使用insmod命令裝載驅動模塊#insmod my74hc595_driver.ko

卸載驅動模塊使用 #rmmod my74hc595_driver.ko

 

4、應用程序測試

將應用程序作為模塊編譯為ipk文件后傳到開發板上,使用opkg install *.ipk安裝。

然后輸入應用程序的名字執行應用程序。

5、使能開發板上的WIFI(AP模式)

修改開發板上  /etc/config/wireless文件

注釋掉option disabled 1這句,保存后退出重啟,就能收到wifi信號openwrt了。

也可以通過web界面進行設置。

也可以在源碼中使能wifi,需要修改openwrt/trunk/package/kernel/mac80211/files/lib/wifi/mac80211.sh文件,

同樣注釋掉option disabled 1這句。mac80211.sh文件還可以修改ap的ssid,將option ssid OpenWrt改為option ssid f403tech_ap,

保存退出,重新編譯燒寫即可。

 

 

 

 


免責聲明!

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



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