`
helloyesyes
  • 浏览: 1265962 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

ARM+LINUX移植攻略(十二)U-boot-2009.08利用tftp服务下载内核和利用nfs服务挂载nfs文件系统

阅读更多

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处

http://blog.csdn.net/woshixingaaa/archive/2011/02/19/6194651.aspx

刚才完成了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。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics