ubuntu:
1.關閉防火牆
sudo ufw disable
2.涉及檔案
portmap hosts.deny hosts.allow
涉及操作(按順序如下)
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-common restart
sudo /etc/init.d/nfs-kernel-server restart
安裝 server 和 client
ubuntu上預設是沒有安裝nfs伺服器的,首先要安裝nfs服務程式:
$ sudo apt-get install nfs-kernel-server
(安裝nfs-kernel-server時,apt會自動安裝nfs-common和portmap)
這樣,宿主機就相當於nfs server。
同樣地,目標系統作為nfs的客戶端,需要安裝nfs客戶端程式。如果是debian/ubuntu系統,則需要安裝nfs-common。
$ sudo apt-get install nfs-commmon
nfs-common和nfs-kernel-server都依賴於portmap!
這樣就安裝完了,下面進行配置
配置 nfs
配置/etc/hosts.deny
(禁止任何host(主機)能和你的nfs伺服器進行nfs連線),加入:
### nfs daemons
portmap:all
lockd:all
mountd:all
rquotad:all
statd:all
配 置/etc/hosts.allow
允許那些你想要的主機和你的nfs伺服器建立連線。下列步驟將允許任何ip位址以192.168.197開頭的主機(連線到nfs伺服器上),也可以指定特定的ip位址。參看man頁hosts_access(5), hosts_options(5)。加入:
### nfs daemons
portmap: 192.168.197.
lockd: 192.168.197.
rquotad: 192.168.197.
mountd: 192.168.197.
statd: 192.168.197.
/etc/hosts.deny 和 /etc/hosts.allow設定對portmap的訪問. 採用這兩個配置檔案有點類似"mask"的意思.現在/etc/hosts.deny中禁止所有使用者對portmap的訪問. 再在/etc/hosts.allow中允許某些使用者對portmap的訪問.
配置/etc/exports
nfs掛載目錄及許可權由/etc/exports檔案定義
比如我要將將我的home目錄中的/home/liliming/arm2410目錄讓192.168.197.*的ip共享,則在該檔案末尾新增下列語句:
/home/liliming/arm2410
192.168.197.*(rw,sync,no_root_squash)
或者:/home/liliming/arm2410
192.168.197.0/24(rw,sync,no_root_squash)
注意這裡,這樣寫有可能你的nfs還不能用,你可以允許所以ip共享你的目錄,語句如下:
/home/liliming/arm2410
*(rw,sync,no_root_squash)
至此配置完成,下面啟動nfs
啟動nfs
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-common restart
sudo /etc/init.d/nfs-kernel-server restart
測試 nfs
ubuntu 下
sudo mount localhost:/home/liliming/arm2410 /mnt
ls /mnt
看是否已經掛載成功
開發板 下
mount 192.168.197.75:/home/liliming/arm2410 /mnt
ls /mnt
看是否已經掛載成功(192.168.197.75 是ubuntu的ip位址)
可能出現的錯誤:
1. 掛載不成功,具體提示資訊不記得了,可以這樣試試
配置/etc/exports
/home/liliming/arm2410
*(rw,sync,no_root_squash)
也就是允許所有的ip 訪問
2. 提示 mount rpc unable to receive errno connection refused
說明你的伺服器端(ubuntu)服務沒設定好,原因可能如下:
a. nfs 沒啟動,按照上面的啟動步驟 再重新啟動一下
b. 看一下 檔案 /etc/exports 和檔案 /etc/hosts.allow 裡面的ip是不是 包含 你的開發板 ip,
不包含的話,把你的網段寫上,重新啟動 nfs
1 nfs安裝
nfs原理是通過網路,將遠端主機共享的檔案系統,掛載到本機。ubuntu10.04上預設是沒有安裝nfs伺服器的,首先要安裝nfs服務程式:
# sudo apt-get install nfs-kernel-server
(安裝nfs-kernel-server時,apt會自動安裝nfs-common和portmap) 這樣,宿主機就相當於nfs server。
也可以通過軟體管理包來安裝nfs-kernel-server
2
宿主機nfs的配置
2.1 修改配置檔案/etc/exports
在終端下用# sudo gedit /etc/exports開啟exports檔案。
如果你沒有配置過這個檔案的話此檔案應該是空的。在開始部分寫入
/hhm
*(rw,sync,no_root_squash)
/hhm -- 是要與目標板共享的目錄;
* -- 表示允許任意使用者使用,也可以使用具體ip;
(rw,sync,no_root_squash)
-- rw,掛載此目錄的客戶機對此目錄有讀寫權利;
sync,……;
no_root_squash,掛載此目錄的客戶機享有主機root的權利;
我是將主機的根目錄設定為共享目錄 / *(rw,sync,no_root_squash)
ok,儲存,退出。
修改完成之後輸入:# exportfs–rv來使配置檔案生效
2.2
配置宿主機的ip
配置宿主機的ip,在命令列中輸入 # ifconfig
來檢視本機的ip位址。如果沒有設定,可以用命令 # ifconfig eth0 192.168.0.18來設定ip。其中的ip位址可以根據具體情況來設定。設定完成後在通過ifconfig來再次檢視是否已經設定成功。
2.3
啟動宿主機nfs服務
安裝完nfs服務後就可以通過 # /etc/init.d/nfs-kernel-serverrestart(/etc/init.d/nfs-kernel-serverstart)來重新開啟網路檔案系統服務,以便後面的開發板掛載。也可以通過# /etc/init.d/nfs-kernel-server stop來停止。
3
目標板的掛載操作
給你的目標機上電,目標板上的linux作業系統起來以後,在pc機上ubuntu作業系統上開啟minicom,通過串列埠向目標板傳送shell命令。
像主機操作一樣,首先檢查目標板(客戶機)的ip是否與宿主機的ip再同乙個位址段上,否則用上面用過的命令進行檢查和設定本地ip。
設定完ip之後可以ping一下檢查網絡卡、網線是否連線正確。
既在minicom中輸入# ping 192.168.0.18 (主機ip位址)連線成功會不斷的列印資訊。
接下來就是在開發板上進行掛載mount
# mount -t nfs -o nolock192.168.0.18:/ /mnt
其中:後是客戶機掛載的共享目錄; /mnt是開發板的掛載目錄
ok,掛在完成。
通過# cd /mnt
# ls
可以發現主機的根目錄被掛載進了開發板mnt目錄中。
如果你想取消掛在可以使用命令# umount /mnt就可以了。
檔案系統製作 NFS
1.核心怎樣啟動第乙個應用程式 1 開啟乙個裝置 open dev console sys dup 0 sys dup 0 注釋 open函式開啟乙個檔案 第乙個檔案標號為0 sys dup 0 表示複製第乙個檔案,所以printf,scanf,err三個都指向終端 dev console。2 通過...
NFS檔案系統製作
在前面的一章中已經實現了initramfs檔案系統,但是由於開發的需要,nfs檔案系統更加適合,因此,需要使用nfs檔案系統。那需要怎麼做呢?1 配置linux核心以支援nfs檔案系統,同時需要將initramfs的選項去掉 make menuconfig general setup initial...
製作ubuntu根檔案系統
1 參照firefly的wiki教程,製作出了系統映象檔案,需要注意的是,在 mkfs.ext4 linuxroot.img格式化時,要輸入y。2 製作完成後,發現圖形介面無法啟動 3 製作完成後,發現分割槽資訊不對,未能利用全部儲存空間 4 製作完成後,發現無法上網,只有本地回環 5 安裝xubu...