1. 程式人生 > >跟著iMX28x開發套件學linux-01

跟著iMX28x開發套件學linux-01

一、配置及掛載NFS

買了iMX280開發板,準備開始學linux,主要是想學linux驅動開發,看見iMX28x系列開發套件比較新,就先買了最便宜的一款嘗試一下。第一步就先將虛擬機器的Ubuntu和開發板連線起來,我選用了NFS。

NFS掛載好了之後,從Ubuntu編譯好的檔案上傳到開發板就方便多了。

 

Ubuntu安裝相關軟體(以下命令在Ubuntu上執行)

1) sudo apt-get install net-tool  :因為預設安裝的Ubuntu用不了ifconfig命令,無法檢視或者修改網路,NFS又需要檢視Ubuntu的IP地址,所以就需要安裝net-tool。

2) sudo apt-get install vim : 配置NFS需要修改配置檔案,我習慣用vim。

3) sudo apt-get install NFS-kernel-server : 安裝NFS服務端。

4) sudo apt-get install NFS-common : 可能有的系統已經安裝了,就不必再安裝。

配置NFS(以下命令在Ubuntu上執行)

1) sudo vi /etc/export : 在最後新增“/nfsroot  *(rw,sync,no_root_squash)”,前面是要用於共享的目錄,可以用別的目錄。*表示任何IP段的裝置都能通過NFS掛載。rw表示掛載方式為讀寫,sync表示檔案同步,no_root_squash表示當通過NFS掛載的裝置是root使用者登入時,該使用者操作共享目錄的許可權不壓縮,仍是root許可權。

2) sudo mkdir /nfsroot : 創共享載目錄,要跟步驟1)配置的共享目錄一致。

3) sudo chmod 777 /nfsroot : 給與共享目錄最寬鬆的許可權。

4) sudo chown nobody /nfsroot : 給予共享目錄最寬鬆的許可權。

5) Sudo /etc/init.d/nfs-kernel-server start : 啟動NFS服務。

自掛載測試(以下命令在Ubuntu上執行)

1) sudo mount -t nfs 192.168.115.130:/nfsroot /mnt -o nolock : 將共享目錄掛載到/mnt目錄,注意地址要用ifconfig查詢Ubuntu的實際IP。出錯,無法找到掛載點。檢查上述步驟有沒有出錯,沒有出錯的話,可能是檔案系統掛載點配置有問題,解決方法看2)。

2) sudo vi /etc/fstab : 在檔案最後加上“192.168.115.130:/nfsroot  /mnt  nfs  rw  0  0”,前面的目錄對應Ubuntu實際的IP以及上面步驟實際建立的共享目錄。/mnt表示掛載到哪個目錄。nfs表示掛載方式為nfs。rw表示掛載方式為讀寫。後面兩個0不用管。這樣修改的目的是讓系統知道,當掛載這樣一個共享目錄的時候,可以通過何種方式掛載到何處,可以解決找不到掛載點的問題。

3) 若上面的步驟都沒有問題,可以在/nfsroot目錄下用mkdir命令建立一個名為NFStest的目錄,然後到/mnt目錄下檢視是否也有這個目錄,如果有就代表NFS的配置正確。

開發板掛載測試(以下命令在開發板上執行)

 1) mount -t nfs 192.168.115.130:/nfsroot /mnt -o nolock : 將網路上的共享目錄掛載到本機的/mnt目錄。在我自己的電腦上報錯了,顯示無法連線到該地址。解決步驟如下。

2) ping 192.168.115.130 : 測試網路是否通暢。ping不通。最後發現是因為電腦用wifi連線到路由器,而開發板是通過網線連線到路由器的,兩者的IP地址不在一個網段。將電腦wifi斷開,通過網線連線,再將虛擬機器的網路配置改為“橋接模式:直接連線物理網路”,並複製物理網路連線狀態,之後在Ubuntu上用sudo ifcongfig down斷開連線,再用sudo ifcongfig up重新連線,最後IP地址變成了192.168.1.108,與開發板處於同一網段。要把上述所有的配置都改成192.168.1.108。開發板重複步驟1),不報錯,進入/mnt目錄,發現自掛載測試時建立的/NFStest目錄,掛載就成功了。

 

掛載成功之後,在Ubuntu上交叉編譯的程式可以直接複製到/nfsroot裡,然後到開發板的/mnt目錄下執行即可。開發板可以直接用putty,通過ssh登入進行操作。而且開發板還支援ssh file,可以通過ssh傳輸檔案到開發板上,然後開發板再通過NFS將檔案上傳到Ubuntu,還是挺方便的。