嵌入式開發中NFS除錯環境搭建 V0 2

2021-05-26 08:48:09 字數 2605 閱讀 8848

建立的目的:可以直接在開發板上掛載開發主機上的檔案系統,減少程式的燒寫次數,提高程式開發速度。

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...