U-boot-2009.08利用tftp服务下载内核和利用nfs服务挂载nfs文件系统
发布时间:2011-3-23 13:38
发布者:techshare
刚才完成了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。 ![]() 李万鹏 |
网友评论