昨天拿到了OK6410的開發闆,闆子還是不錯的,就是資料有點亂,今天通過SD卡和DNW燒寫了CD光牒裡給的3.0的Linux系統,晚上打算運作一個簡單的交叉編譯小程式。
我的開發環境:
開發闆:OK6410,Linux 3.0.1
主控端:VMware Ubuntu 11.10
直接說我的個人了解,NFS就是網絡檔案系統,用NFS可以實作把主控端的目錄挂載到開發闆上,這樣用主控端進行交叉編譯時就不用用USB或者SD卡将編譯好的檔案拷貝到開發闆上運作了,調試程式非常友善。常用的NFS有兩種,一種是做NFS根檔案系統,及Linux的根檔案系統就是網絡上的NFS,也就是說開發闆的啟動檔案全部是通過NFS從主控端讀取的,沒有網絡系統都啟動不起來,目前網上找了很多都是這一種。這一種需要在U-boot中設定好同僚還需要在核心中進行相應的配置。
第二種是将主控端的某個目錄映射到開發闆的某個目錄,這個操作是在linux系統中配置的,比較之下先用第二種,本文就介紹這一種。
由于nfs是基于網絡的,是以ip設定是首要的。首先是主機,虛拟機運作的linux要把網絡改為橋接的方式。如圖所示。
<a href="http://images.cnblogs.com/cnblogs_com/emouse/201203/201203262041049110.png"></a>
然後通過ifconfig檢視位址。
開發闆進入linux系統後連接配接網絡通過ifconfig檢視位址。如果不和主機在一網段内需要設定
ifconfig eth0 121.248.202.168 netmask 255.255.255.0 up
或者可以通過DHCP自動配置設定
超級終端裡面輸入:
udhcpc –i eth0
指令,用來動态擷取IP 位址,-i 參數用來指定網卡名稱。
闆子預設的配置适合連接配接路由使用,剛開始也納悶是不是必須使用路由,實際上隻要是一個網段内的都可以。
設定好之後互相ping一下。
開發闆ping主控端,如圖所示。按ctrl+C結束,如圖所示,表示ping通。
<a href="http://images.cnblogs.com/cnblogs_com/emouse/201203/201203262041055357.png"></a>
主機ping開發闆也一樣。
互相能夠ping通是前提,這一步搞不通一是檢視網絡,是不是防火牆啥的,為了确定不是虛拟機的問題,可以用虛拟機ping同一網段其他電腦試試,來排除虛拟機的問題。
如果這個不同就看看闆子的核心和網卡設定。
ubuntu中預設是沒有安裝nfs的,安裝非常簡單,聯網情況下運作
apt-get install nfs-kernel-server
如果安裝不成功在試試安裝nfs-common和portmap,我是裝這一個就可以了。
接下來需要編輯一下配置檔案:
修改/etc/exports,在末尾添加:/armnfs *(rw,sync,no_root_squash)可以使用vi修改,vi怎麼使用這裡就不說了自己百度一下。
/armnfs 表示我需要設定的主控端共享目錄 * 和前面中間有個空格,*表示任意ip均可連接配接,同理可以設定成某一個ip段,如192.168.0.* rw 表示可讀可寫 no_root_squash允許客戶機享有主機root身份
儲存後在根目錄下對應建立armnfs檔案夾
mkdir armnfs
修改目錄權限
chmod 777 -R /armnfs
好了,啟動nfs
service nfs-kernel-server start
開發闆上挂載nfs
mount –t nfs –o nolock 121.248.202.163:/armnfs /mnt
含義為主控端IP:主控端nfs目錄 開發闆挂載目錄
挂載之後在主控端上的目錄下建立個檔案看看是否在開發闆中能夠看到。
下面可以在主控端上利用交叉編譯工具鍊編譯個小程式在闆子上跑了。
<a href="http://images.cnblogs.com/cnblogs_com/emouse/201203/201203262041091057.png"></a>
至此,第一個小程式就這樣了,繼續研究!
重新開機後IP位址又恢複預設了,找到一個方法,更改配置檔案,設定固定ip
vi /etc/eth0-setting
打開後更改對應的設定,儲存即可。
本文轉自emouse部落格園部落格,原文連結:http://www.cnblogs.com/emouse/archive/2012/03/26/2418496.html,如需轉載請自行聯系原作者