一.配置tftp
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/tianjunqiang666@126/blog/static/8725911920128199421617/
二、配置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/
6、遇到的问题
Q1 :nfs 挂载不成功,CTRL+C结束报错“ failed to register lockdv1 RPC service ”
A:制作文件系统时有些参数,没有配置 ,使用完整参数挂载即可:
mount -o port=2049,nolock,proto=tcp -t nfs 192.168.1.251:xxxx /mnt/nfs
参考文章:http://www.it610.com/article/5428760.htm
三、使用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参数