歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux內核 >> 讓U-Boot通過tftp的方式加載Linux內核文件

讓U-Boot通過tftp的方式加載Linux內核文件

日期:2017/3/1 11:09:27   编辑:Linux內核

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

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

U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

在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是需要下載的文件名稱。

Copyright © Linux教程網 All Rights Reserved