Linux下tftp和nfs配置
1.安裝TFTP軟體
sudo apt-get(yum) install tftp-hpa tftpd-hpa
tftp-hpa是客戶端,tftpd-hpa是伺服器端
*Q1:apt-get報unable to fetch some....錯誤
ping www.baidu.com不通
step1:$ sudo gedit /etc/resolv.conf
step2:新增nameserver 8.8.8.8
2.建立tftpboot目錄,作為伺服器的目錄
sudo mkdir ~/tftpboot
釋放許可權:(伺服器目錄,需要設定許可權為777,chomd 777)
sudo chmod 777 ~/tftpboot
3.配置TFTP伺服器
sudo gedit /etc/default/tftpd-hpa
將原來的內容為:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
#TFTP_DIRECTORY="/var/lib/tftpboot" #修改為自己需要的路徑,與上面建立的目錄一致
TFTP_ADDRESS="0.0.0.0:69"
#TFTP_OPTIONS="--secure" #可以通過檢視mantftpd,看各種引數的意義
#修改為
TFTP_DIRECTORY="/home/shenhao/tftpboot"
TFTP_OPTIONS="-l -c -s"
3.重新啟動TFTP服務
sudo service tftpd-hpa restart
4.驗證一下TFTP是否起來了:
$sudo netstat -nlp |grep ftp
出現下面的資訊代表已經啟動了
udp 0 0 0.0.0.0:69 0.0.0.0:*
3698/in.tftpd
5.測試下
$ cd ~/tftpboot echo "hello tftp service">>a.txt
$ echo "hello tftp service,put to tftp serive">>b.txt
$ tftp localhost
tftp> get a.txt
tftp> put b.txt
tftp> q
補充fedora:
$ rpm -qa | grep tftp
$ yum install tftp tftp-server
$ gedit /etc/xinetd.d/tftp
$ service xinetd restart
$ netstat -a | grep ftp
http://blog.163.com/
二、配置nfs伺服器
1、安裝nfs
$sudo apt-get install nfs-kernel-server
2、配置/etc/exports
nfs允許掛載的目錄及許可權在檔案/etc/exports中進行了定義。
例如,我們要將根目錄下的rootfs目錄共享出來,那麼我們需要在/etc/exports檔案末尾新增如下一行:
/rootfs *(rw,sync,no_root_squash)
其中: /rootfs是要共享的目錄,
rw是可讀寫許可權,sync是資料同步寫入記憶體和硬碟,
no_root_squash是nfs客戶端分享目錄使用者的許可權,如果客戶端使用的是root使用者,那麼對於該共享目錄而言,該客戶端就具有root許可權。
3、重啟服務
$sudo /etc/init.d/portmap restart
$sudo /etc/init.d/nfs-kernel-server restart
4、測試nfs
此時可以執行以下命令來顯示一下共享出來的目錄:
$showmount -e
或者可以使用以下命令把它掛載在本地磁碟上,例如將/rootfs掛載到/tmp下:
$sudo mount -t nfs localhost:/rootfs /tmp
可以執行df命令檢視是否掛載成功。檢視後可以使用以下命令解除安裝:
$ sudo umount /tmp
5、ARM開發掛載
PC sever IP:192.168.1.253
mount -t nfs -o nolock 192.168.1.253:/home/zxp/imx28/nfs_server /mnt/nfs/
三、使用TFTP和NFS除錯
1.連線kernel和根檔案系統
$ cd /tftpboot #tftp server根目錄
$ ln -s ~/ltib/rootfs/boot/uImage #kernel所在路徑
$ cd /nfs_server
$ rm -rf rootfs
$ ln -s ~/ltib/rootfs #nfs掛載目錄為 xxxx/nfs_server/rootfs
$ sudo exportfs -a
2.修改uboot引數