【原創】-- nfs安裝配置及使用,掛載根文件系統


環境:ubuntu14.04(非虛擬機),OK6410

環境搭建:

(1)

#sudo apt-get install nfs-kernel-server

如果已經是最新版本了,無需安裝

(2)

建立nfs文件夾,在ubuntu命令行中輸入,

$ mkdir /nfs

$ chmod 777 /nfs

$ chmod  777  /nfs/*

(3)

打開/etc/exports文件,在末尾加入:

/nfs *(rw,sync,no_root_squash)      

注:nfs允許掛載的目錄及權限,在文件/etc/exports中進行定義,各字段含義如下:

/nfs:要共享的目錄

* :允許所有的網段訪問

rw :讀寫權限

sync:資料同步寫入內在和硬盤

no_root_squash:nfs客戶端共享目錄使用者權限

(4)

重啟服務:

#sudo /etc/init.d/nfs-kernel-server restart      <---重啟nfs服務

#showmount -e                                    <---顯示共享出的目錄

 

注意:若重啟nfs服務時出現如下錯誤

 * Stopping NFS kernel daemon                                            [ OK ] 

 * Unexporting directories for NFS kernel daemon...                      [ OK ] 

WARNING: /etc/modprobe.conf line 1: ignoring bad line starting with 'Cannot'

WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or directory

WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or directory

WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or directory

WARNING: Could not open 'kernel/net/sunrpc/auth_gss/auth_rpcgss.ko': No such file or directory

FATAL: Could not open 'kernel/fs/nfsd/nfsd.ko': No such file or directory

 * Not starting NFS kernel daemon: no support in current kernel.

 

采用如下語句改正錯誤:

 sudo ln -s /lib/modules/3.13.0-45-generic/kernel/ /

 

結果如下:

* Stopping NFS kernel daemon                                             [ OK ] 

 * Unexporting directories for NFS kernel daemon...                      [ OK ] 

WARNING: /etc/modprobe.conf line 1: ignoring bad line starting with 'Cannot'

 * Exporting directories for NFS kernel daemon...                          [ OK ] 

 * Starting NFS kernel daemon                                                    [ OK ]

nfs配置成功

 

本機測試

(1)本機測試

現在可以在本機上試一下:

#sudo mount -t nfs localhost:/home/kevin /mnt

注:localhost為本機linux的IP地址

這樣就把共享目錄掛到了/mnt目錄,取消掛載用:

#sudo umount /mnt

 

掛在根文件系統

(1)

將制作好的文件系統放入 /nfs 中,文件系統的制作方法見http://www.cnblogs.com/apolloenterprise/p/4351408.html

(2)

kernel中要設置啟動nfs

$ make menuconfig ARCH=arm

General Setup -  取消  Initial RAM filesystem and ...

File System   選中  Network FileSystem

選中  Root file System on NfS

$ make uImage ARCH=arm CROSS_COMPILE=arm-linux-

編譯完成

(3)

啟動參數設置

開發板上電,進入uboot命令行:

$ setenv bootargs " console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.200:/nfs ip=192.168.1.100"

注意:192.168.1.200   PC IP

192.168.1.100  開發板IP

保存:

$ saveenv

(4)tftp 下載內核后,bootm啟動內核,此時文件系統會被調用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM