TFTP服務器搭

  1. 安裝服務器、客戶端和守護進程

sudo apt-get install tftp-hpa tftpd-hpa xinetd

  1. 服務器配置

首先,在根目錄下建一個tftpboot,並把屬性改成任意用戶可讀性:

cd /

sudo mkdir tftpboot

sudo chmod 777 tftpboot

然後,進入目錄/etc/xinetd.d/,並在其中新建文件tftp,把指定的內容加入到tftp文件中:

cd /etc/xinetd.d/

sudo vi tftp

添加以下內容到tftp文件
service tftp
{
disable = no 138
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot –c
per_source = 11
cps = 100 2
}
最後,修改配置文件/etc/default/tftpd-hpa,修改爲
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l -c -s"
注意:將”TFTP_DIRECTORY“改爲新建tftpboot目錄所在的路徑。

  1. 重新啓動服務、

sudo /etc/init.d/xinetd reload

sudo /etc/init.d/xinetd restart

sudo /etc/init.d/tftpd-hpa restart

  1. 測試服務器

測試一下,在/tftpboot文件夾下新建立一個文件

touch abc

進入另外一個文件夾

tftp 192.168.2.51 (192.168.2.51爲本機IP)

tftp> get abc

如果可以下載說明服務器已經安裝成功,將開發板同PC通過網線進行連接後即可使用tftp下載文件。
tftp命令用法如下

tftp your-ip-address
進入TFTP操作:

connect:連接到遠程tftp服務器
mode:文件傳輸模式
put:上傳文件
get:下載文件
quit:退出
verbose:顯示詳細的處理信息
tarce:顯示包路徑
status:顯示當前狀態信息
binary:二進制傳輸模式
ascii:ascii 傳送模式
rexmt:設置包傳輸的超時時間
timeout:設置重傳的超時時間
help:幫助信息
? :幫助信息

  1. uboot使用tftp

(1). 用網線連接主機和開發板的網口並將編譯好的內核鏡像uImage和設備樹文件複製到tftpboot目錄下
(2). 進入到uboot階段,修改環境變量並保存:
setenv ethaddr e6:97:d9:0c:f7:7a 設置MAC
setenv serverip 192.168.2.51 設置tftp服務器的IP
setenv ipaddr 192.168.2.85 設置本地的IP
setenv image imx6qdl/zImage 設置tftp服務器上要下載到本地的內核鏡像
setenv fdt_file imx6qdl/imx6q-s3-sabresd.dtb 設置tftp服務器上下載到本地的設備樹
setenv nfs_rootfs /nfs_rootfs/imx6qdl-rootfs 設置NFS文件系統位置
saveenv
(3). 在uboot菜單選擇網絡啓動
重啓開發板,在u-boot啓動後,快速按下任意鍵,進入uboot菜單。
----------------------Main Menu-----------------------
0 -- exit to uboot shell

1 -- select boot mode

輸入序號1進入到啓動類型選擇選項
----------------------BOOT MODE Menu-----------------------
0 -- exit to upper menu
1 -- boot from net

2 -- boot from emmc

輸入序號1設置開發板從網絡啓動,之後重啓開發板即可。
之後若想要從emmc啓動,則同理選擇boot from emmc即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章