剛才完成了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。 李萬鵬 |