U-boot-2009.08利用tftp服务下载内核和利用nfs服务挂载nfs文件系统

发布时间:2011-3-23 13:38    发布者:techshare
关键词: nfs , TFTP , U-BOOT , 内核 , 文件系统
刚才完成了lcd文档的编写,把剩下的两篇也一起完成了。第一篇文章搭建的tftp在linux下测试好使,但是在与arm通信的时候一点反应都没有。所以这里给出另一个方法,重新搭建tftp开发环境和nfs。nfs可以作为你的文件系统使用,或者你用别的文件系统,可以在需要传输文件的时候挂载linux的nfs,进行文件传输。
搭建tftp步骤如下:
1、安装tftp的server和client,还有xinetd
sudo apt-get install xinetd tftpd-hpa tftp-hpa
2、xinetd会建立目录/etc/xinetd.d/,在这个目录下建立新文件 tftpd
sudo touch tftpd
3、编辑 sudo gedit /etc/xinetd.d/tftpd,加入以下内容
service tftp
{
disable = no
socket_type = dgram
wait = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /home/hacker/tftpboot
log_on_success = PID HOST DURATION
log_on_failure = HOST
}
注意:/home/hacker/tftpboot 是你的tftp的根目录,其它的不用修改
4、建立tftp根目录
sudo mkdir /home/hacker/tftpboot
修改权限
sudo chmod 777 /home/hacker/tftpboot
5、修改/etc/inetd.conf文件
sudo gedit /etc/inetd.conf
修改下面这行
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /home/hacker/tftpboot
6、修改/etc/default/tftpd-hpa
sudo gedit /etc/default/tftpd-hpa
内容修改如下
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /home/hacker/tftpboot"
7、重启服务
sudo /etc/init.d/xinetd restart
sudo /etc/init.d/tftpd-hpa restart
8、不要忘记修改/home/hacker/tftpboot 下文件的权限
chmod 777 *
这样tftp就搭建完成了,记得关闭linux防火墙啊。
Ubuntu 关闭防火墙方法
sudo ufw disable
然后搭建nfs
1.sudo vim /etc/exports
在其文本后添加
/rootfs 192.168.1.*(rw,sync,no_root_squash)
然后保存退出。
/home/work就表示共享目录,当然,你可以随便换成自己喜欢的目录,192.168.1.*,前面三位是你主机的ip地址(怎么获得本机的ip地址?ifconfig命令就可以了)
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。 no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
上面设置了只要在192.168.1.*这个网段的所有IP地址用户都可以访问共享目录,但我只想让一个IP地址访问,比如192.168.1.101(把刚才192.168.1.*直接换成192.168.1.101不行么?应该可以吧,没试过),那么就可以这样设置了。
可以通过设定/etc/hosts.deny和/etc/hosts.allow文件来限制网络服务的存取权限。
***/etc/hosts.deny***
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
***/etc/hosts.allow***
portmap:192.168.1.101
lockd:192.168.1.101
mountd:192.168.1.101
rquotad:192.168.1.101
statd:192.168.1.101
同时使用这两个文件就会使得只有ip为192.168.1.101的机器使用NFS服务。你的target board的ip地址设定为192.168.1.101,这样就可以了。
启动端口映射:
#sudo /etc/init.d/portmap start
启动NFS 服务:
sudo /etc/init.d/nfs-kernel-server start
最后执行:#sudo mount –t nfs 192.168.1.101:/rootfs /mnt
执行:# ls /mnt,mnt下就有了/rootfs里的内容了。
先现在到sdram中,再烧到nand。




李万鹏
本文地址:https://www.eechina.com/thread-59517-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表