【SEP4020】Linux開發推薦掛載NFS作為根檔案系統

來源:互聯網
上載者:User

轉載自:http://hi.baidu.com/aokikyon/blog/item/86d1640fb3b7ca226059f390.html

以前陸陸續續寫過很多掛載NFS相關的內容,現在把他們整理一下,看起來方便些。

 

之前使用cramfs或yaffs作為根檔案系統,開發起來很不方便,需要修改一點檔案都要重新燒寫nand,在開發時推薦掛載虛擬機器下的nfs分區作為根檔案系統。
NFS檔案系統可以虛擬pc機的一個目錄作為嵌入式linux的檔案系統,非常適合開發時使用:

1)首先要能夠正確配置虛擬機器的NFS服務,將檔案系統放在虛擬機器/NFS目錄裡。
我們提供的虛擬機器已經配置好了,新安裝虛擬機器設定見附錄。

2)IP分配:
虛擬機器採用橋接模式設定IP!見參考文章2
主機XP:192.168.0.1
SEP4020開發板:192.168.0.2
vmware虛擬機器Linux:192.168.0.3


3)正確設定u-boot的啟動參數(如果有興趣可以學習一下Linux傳參機制和參數的含義):
set bootargs root=/dev/nfs rw nfsroot=192.168.0.3:/nfs ip=192.168.0.2:192.168.0.3:255.255.255.0 console=ttyS0,115200 mem=32mb

4)Linux核心要支援NFS分區,編譯時間在File system裡面選擇,我們提供的SEP4020 Linux2.6.16已經選好了;

5)載入vmlinux.img,才能從u-boot裡正確傳遞資訊,zimage不可以;

啟動時出現若出現如下資訊,說明載入成功:
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Gateway not on directly connected network.
Looking up port of RPC 100003/2 on 192.168.0.3
Looking up port of RPC 100005/1 on 192.168.0.3
VFS: Mounted root (nfs filesystem).
Mounted devfs on /dev
Freeing init memory: 104K
init started: BusyBox v1.9.2 (2008-08-15 10:15:54 CST)
starting pid 701, tty '': '/etc/init.d/rcS'

********************************
SEU 4020 ARM Linux-2.6.16    
********************************

# mount all...........
# Starting mdev.........
starting pid 709, tty '': '/bin/sh'
/ # 


附錄 NFS分區掛載及使用方法

[技術]
為何要掛載NFS分區?
答:可以將PC機的一個目錄虛擬,通過網際網路共用給2410開發板載linux使用,省去了將程式燒入flash的煩惱

介紹下如何掛載NFS分區
準備工作
1)安裝nfs-kernel-server 
ubuntu下執行apt-get install nfs-kernel-server
2)在根目錄建立nfs檔案夾,也可以建立在其他地方
3)Linux的IP為192.168.0.3
4) 開發板的IP為192.168.0.2

開始
1)修改 /etc/exports檔案
添加以下內容

/nfs 192.168.0.2(rw,sync,no_root_squash)

2)在終端中執行以下指令
#exportfs -rav

# '/etc/init.d/nfs-kernel-server' restart

第二條指令我是把那個檔案拖到終端上才能執行的,奇怪

返回如下
* Stopping NFS kernel daemon                                                                                  [ OK ] 
* Unexporting directories for NFS kernel daemon...                                                             [ OK ] 
* Exporting directories for NFS kernel daemon...                                                                      exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.1.241:/nfs".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x

                                                                                                               [ OK ]
* Starting NFS kernel daemon                                                                                  [ OK ] 
root@kyon-desktop:/etc/init.d# 

NFS服務啟動完畢

3)進入開發板控制台操作
輸入
mount -t nfs -o nolock 192.168.0.3:/nfs /tmp

意思是把nfs目錄虛擬到開發板的tmp目錄中
如果沒有錯誤提示,恭喜你成功了
去看看tmp目錄有沒有原來nfs目錄裡的東西吧,比如我就在nfs目錄裡建立了一個helloworld文體

4)結束掛載,使用命令
umount /tmp





其他參考文章:


1)[NFS]VM虛擬機器下掛載NFS分區
http://hi.baidu.com/aokikyon/blog/item/a6b418f58a1ffe23bd3109e1.html
2) [ubuntu]如何在VM虛擬Ubuntu中同時使用雙網卡

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.