建立的目的:可以直接在開發板上掛載開發主機上的檔案系統,減少程式的燒寫次數,提高程式開發速度。nfs(network file system, 網路檔案系統)可以通過nfs把遠端主機的目錄掛載到本機,使得訪問遠端主機的目錄就像訪問本地目
錄一樣方便快捷。
nfs一般是實現linux系統之間實現共享.當然和unix之間也應該可以使用它來實現共享。但如果需要在linux和windows系統之間共
享, 就得使用samba了!,
nfs是乙個rpc服務程式,所以在使用它之前, 先要對映好埠——通過portmap設定. 比如: 某個nfs client發起nfs服務請求時,
它需要先得到乙個埠(port).所以它先通過portmap得到port number.所以在啟動nfs之前, 需要啟動portmap服務!
ubuntu上預設是沒有安裝nfs伺服器的,首先要安裝nfs服務程式:sudo apt-get install nfs-kernel-server
(安裝nfs-kernel-server時,apt會自動安裝nfs-common和portmap)
這樣,宿主機就相當於nfs server。
與nfs相關的幾個檔案, 命令
1、/etc/exports 對共享目錄的管理都是在這個檔案中實現的
2、/sbin/exportfs 維護nfs的資源共享.通過它可以使修改後的/etc/exports中的的共享目錄生效關於這個命令的使用方法如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的內容
-r :重新mount /etc/exports中分享出來的目錄
-u :umount 目錄
-v :在 export 的?r候,將詳細的資訊輸出到螢幕上。
3、/usr/sbin/showmount 用在 nfs server 端。主要用檢視 rpc共享的連線
4、/var/lib/nfs/xtab nfs的記錄文件:通過它可以檢視有哪些client 連線到nfs主機的記錄.
下面這幾個檔案並不直接負責nfs, 實際上它們負責所有的rpc
5、/etc/default/portmap 實際上, portmap負責對映所有的rpc服務埠
6、/etc/hosts.deny 設定拒絕portmap服務的主機
7、/etc/hosts.allow 設定允許portmap服務的主機
1.修改/etc/exports。/etc/exports是nfs伺服器的核心配置檔案。在/etc/exports中新增乙個共享目錄。/var/nfs/ *(rw,sync)
/var/nfs/是要共享的資料夾,*是表示所有使用者都可以掛載這個共享資料夾。這裡也可以替換成ip位址,網段(192.168.1.0/24)
或是主機名。(rw,sync)表示以讀寫方式掛載,並且遠端主機同步,sync是nfs的預設選項。關於括號內的引數還有以下幾種:
rw:可讀寫的許可權;
ro:唯讀的許可權;
no_root_squash:登入到nfs主機的使用者如果是root使用者,他就擁有root的許可權,此引數很不安全,建議不要使用。
root_squash:all_squash:不管登陸nfs主機的使用者是什麼都會被重新設定為nobody。
anonuid:將登入nfs主機的使用者都設定成指定的user id,此id必須存在於/etc/passwd中。
anongid:同 anonuid ,但是?成 group id 就是了!
sync:資料同步寫入儲存器中。
async:資料會先暫時存放在記憶體中,不會直接寫入硬碟。insecure 允許從這台機器過來的非授權訪問。
2 使用命令sudo exportfs -r 更新
3.重新啟動portmap服務和nfs-kernel-server服務
命令分別為:
/etc/init.d/portmap start
/etc/init.d/nfs-kernel-server restart
在uclinux端在還需作一些配置才可以使用mount來掛載遠端主機的nfs共享目錄.配置修改如下:1)配置核心
選中ramdisk驅動,加入ext2檔案系統
networking options --> (預設)
network device support --> (預設)
file systems --> network file systems --> nfs file system support
provide nfsv3 client support
2)使用者程式配置(ramdisk中)
busybox --> mount(mount nfs support)
測試nfs啟動客戶端uclinux輸入命令:mount -t nfs 192.168.1.242:/var/nfs /mnt -o nolock
可以使用ls /mnt檢視掛載過來的檔案。在uclinux下掛載遠端主機的共享檔案主要是為了實現遠端除錯。在遠端主機上進行交叉編譯
之後,在uclinux下直接執行編譯好的程式。
該配置可適用於幾乎所有的嵌入式開發,這裡只是以uclinux為例來說明!!!
開發環境 嵌入式驅動開發環境搭建
2 開發環境 2 1 編譯工具 安裝sudo tar zvxf arm linux gcc 4.3.2.tgz c 配置系統環境變數 sudo vi etc profile 或 bashrc 在檔案最後新增交叉編譯路徑 path path usr local arm 4.3.2 bin export...
嵌入式Linux NFS開發環境搭建
參考該文章 還有該文章 可以完成本地的測試,實現nfs伺服器的安裝與配置,將 home yang 掛載到 mnt nfs 檔案目錄下。但是i.mx53開發板 ifconfig 只有 lo 沒有 eth0 輸入 ifconfig a 可以看到 eth0,但是mac位址為全0。ifconfig eth0...
Linux 嵌入式開發環境搭建
主機 ubuntu14.04 開發板 tq210v3 開始載命令列模式下直接安裝了乙個arm linux gcc sudo apt get install gcc arm linux gnueabi但是用這個編譯了乙個hello world的程式後無法在開發板上執行,提示 hello not fou...