讓uBoot通過tftp的方式加載Linux內核文件

在嵌入式linux開發過程中經常需要從電腦下載引導程序uboot,如果每次都使用燒寫到flash或者SD卡的方式,那是比較低效率的開發方式,導致公司沒有競爭力,開發出來的產品也沒有競爭力,在市場上就會落後捱打了。

 

這裏就來介紹tftp方式從linux主機下載文件到開發板裏運行,因此需要在主機linux系統裏安裝tftp服務器。

 

在Ubuntu中安裝tftp服務器的方法如下:

1) 下載並安裝程序

通過軟件管理可以安裝相應的程序tftp/tftpd,tftp是客戶端程序,tftpd是服務器程序。在ubuntu系統的終端裏輸入下面的命令:

sudo apt-get install tftp tftpd

通過上面的命令,就可以安裝相應的軟件。

 

2) 建立tftp服務器目錄

建立一個tftp客戶端訪問服務器的目錄,如下:

先進入到ubuntu系統的根目錄,然後再建立一個目錄,並修改目錄屬性;

cd /

sudo mkdir tftpboot

sudo chmod 777 tftpboot

 

接着修改tftp服務器配置的目錄:

sudo gedit /etc/inetd.conf

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

 

3) 重新啓動服務

sudo /etc/init.d/openbsd-inetd restart

sudo in.tftpd –l /tftpboot

 

4) 測試tftp服務器

在/tftpboot目錄下面建立一個文件:

cd /tftpboot

touch testfile

在進入另外一個目錄裏面:

tftp 127.0.0.1

tftp>get testfile

如果在這個目錄下面看到testfile文件,就說明安裝服務器,否則就是安裝失敗了。

 

在開發板裏設置uboot的tftp下載參數,先來設置開發板上的IP地址:

setenv ipaddr 192.168.1.20

這裏設置IP地址爲192.168.1.20。

 

設置tftp服務器的IP地址:

setenv serverip 192.168.1.103

這裏的IP地址192.168.1.103是電腦ubuntu的IP地址,也就是tftp服務所在的IP地址。

 

在開發板裏運行uboot之後,就可以輸入下面的命令來測試是否可以從tftp服務器里加載linux內核文件zImage,當然是需要把這個文件放到/tftpboot目錄下面。如下命令:

tftp c0008000 zImage

這裏c0008000是下載開發板裏內存起始地址,zImage是需要下載的文件名稱。

---

源自:http://blog.csdn.net/caimouse/article/details/5732960

發佈了6 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章