m283-tftp傳輸,nfs掛載rootfs

來源:互聯網
上載者:User

標籤:tftp nfs linux arm

Ubuntu中搭建tftp伺服器

第 1  步:安裝 tftp

安裝 tftp 所需的軟體。首先需要安裝 tftp-hpa,tftpd-hpa,前者是用戶端,後者是服務程式,

在終端下輸入 sudo apt-get install tftp-hpa tftpd-hpa ,安裝 tftp-hpa 和 tftpd-hpa。然

後還需要安裝 xinetd,在終端下輸入 sudo apt-get install xinetd ,安裝好 xinetd。

第 第 2  步:配置/etc/xinetd.conf

配置相關服務檔案。進入根目錄下的 etc 檔案夾( cd /etc/ ) ,首先看目錄中有沒有一個

xinetd.conf 檔案,如果沒有則建立一個,有的話查看內容,看是否與下面的一致,若不一致則

修改,內容如下:

# Simple configuration file for xinetd

#

# Some defaults, and include /etc/xinetd.d/

defaults

{

# Please note that you need a log_type line to be able to use log_on_success

# and log_on_failure. The default is the following :

# log_type = SYSLOG daemon info

}

includedir /etc/xinetd.d

第 第 3  步:配置/etc/default/tftpd-hpa

配置 tftp 伺服器

命令:

sudo vim /etc/default/tftpd-hpa

將內容修改成

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftpboot"

#這是你 tftp 伺服器的工作目錄,自行修改,注意,在建立工作目錄時,最好修改其許可權為 777,

命令 sudo chmod 777 /tftpboot

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

第 第 4  步:配置/etc/xinetd.d/tftp

然後進入 xinetd.d 檔案夾( cd xinetd.d ),查看是否有一個 tftp 檔案,如果沒有就建立

一個,如果有的話就查看內容是否與下面的一致,不一致則修改,內容如下:

service tftp

{

socket_type = dgram

wait = yes

disable = no

user = root

protocol = udp

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot

#log_on_success += PID HOST DURATION

#log_on_failure += HOST

per_source = 11

cps =100 2

flags =IPv4

}

其中 server_args 一行是設定管理員的檔案存放的位置,就是進行 tftp 傳輸的時候,都是從

該檔案夾中搜尋檔案的

第 第 5  步:修改許可權

修改所需檔案夾的許可權。需要修改的檔案夾也就是上一步提到的那個伺服器檔案存放的文

件夾,以我的設定檔為例,建立一個檔案夾( sudo mkdir /tftpboot ),然後把它可以

設定成存取權限最寬鬆的( sudo chmod 777 /tftpboot ),也可以設定成合適的許可權。

第 第 6  步:重啟服務

重新啟動服務。sudo service tftpd-hpa restart,這也是我經常疏忽的一步,當配置好 tftp 的配

置檔案後,需要重新啟動一下 xinetd,在終端中輸入 sudo /etc/init.d/xinetd reload,重新載入一

下進程,再輸入 sudo /etc/init.d/xinetd restart,重啟服務。記住,每次修改完設定檔後,都需

要重新啟動一下服務。

執行次序:

sudo service tftpd-hpa restart

sudo /etc/init.d/xinetd reload

sudo /etc/init.d/xinetd restart

總結:

通過以上四步就可以建立好 tftp 伺服器了,可以在本地先進行一下測試。還是以我的配置

檔案為例,首先在/tftpboot 中建立一個檔案 file,然後在其中隨便輸入內容;然後進入一個不是

/tftpboot 的目錄下(原因是避免混淆,因為在擷取檔案是,預設是將想要擷取的檔案存放在當

前目錄下的);再在終端中輸入 sudo tftp localhost,進入 tftp 命令符下(可以在其中輸入 help

查看命令和命令的作用),輸入 get file,如果沒有任何提示,就說明傳輸成功了,然後輸入 q

退出 tftp 命令符,在目前的目錄下就可以看到一個 file 檔案,內容是與開始建立的那個 file 的內容

是一致的。同樣也可以在 tftp 命令符中輸入 put xx,把 xx 檔案上傳到伺服器檔案夾中。如果一

切 ok,那就麼一個可用的 tftp 伺服器就順利搭建成功了。

對於上面的測試是針對本地測試的,如果想要對其他電腦或者開發板進行 tftp 傳輸,則在

終端輸入 sudo tftp xxx(即目標電腦或目標開發板的 ip 地址),而且還要關閉 ubuntu 內建的防

火牆(書上說的),我是直接把防火牆給卸載了(sudo apt-get remove iptables,或 sudo ufw disable

可以關掉防火牆),因為我覺得對於 Linux 來說,防火牆可能沒什麼需要把,至少目前為止我

還沒有受到過攻擊。。。當然,想要與其他區域網路內的電腦或開發板互聯進行傳輸,還要將這

些機器的 ip 改到同一個段內。好了,通過以上的步驟,就可以通過 tftp 協議,在電腦和開發板

之間進行檔案傳輸了,目前的目的就是下載 Linux 核心和檔案系統到開發板。如果有朋友發現

了我的不足,都可以給我提出來,我們也可以進行討論。不過還要強調一點,我的這些配置都

是針對於 ubuntu 的,對於其他的系統可能會有所出入的。


Ubuntu中搭建nfs伺服器

環境 ubuntu 10.4 vm 7.1

終端

ifconfig 得到 ubuntu 資料

INETADDR 192.168.1.116

BCAST 192.168.1.255

MASK 255.255.255.0

一 安裝 NFS

$ sudo apt-get install nfs-kernel-server

$ sudo apt-get install nfs-common

二 配置/etc/exports

$ sudo vi /etc/exports

文本末添加

/root/rootfs *(rw,sync,no_root_squash,no_subtree_check)

然後在終端執行 $chmod 777 -R /root/rootfs

$ sudo showmount -e

顯示 clnt-create : RPC : Program not registered

$ sudo exportfs -r 更新

$ sudo showmount localhost -e

顯示

Export list for 192.168.1.116

/root/rootfs *

三 啟用

$ sudo /etc/init.d/nfs-kernel-server restart 重啟 nfs 服務

顯示如下

* Stopping NFS kernel daemon [ OK ]

* Unexporting directories for NFS kernel daemon... [ OK ]

* Exporting directories for NFS kernel daemon... [ OK ]

* Starting NFS kernel daemon [ OK ]

掛載測試

$ mount -t nfs -o nolock localhost:/root/rootfs /mnt

執行後,進入/mnt 目錄中,如果可以看到/root/rootfs 中的內容,則說明 nfs 搭建成功!



uboot中設定tftp伺服器ip地址(ubuntu ip地址)


tftp 0x4000000 uImage    

從tftp伺服器的tftp目錄下下載uImage檔案到記憶體的0x4000000處


uboot設定核心以nfs掛載rootfs的方式的參數


setenv bootargs ‘gpmi=g console=ttyAM0,115200n8 root=/dev/nfs nfsroot=192.168.1.189:/root/rootfs/rootfs ip=192.168.1.10:192.168.1.189:192.168.1.0:255.255.255.0::eth0:off‘



本文出自 “whylinux” 部落格,謝絕轉載!

m283-tftp傳輸,nfs掛載rootfs

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.