剛到手的Hi3520開發板,拿來第一件事當然是搭環境,本來調了那麼多板子,這不是小菜一碟嘛,可就是掛NFS還浪費了快一個小時,郁悶的了,這倒也好,順著Hi3520的脈絡,就把這個環境搭建過程記錄一下,權當記個筆記噻。。。
買的是雅儀科技的Hi3520開發板,板子還是蠻好看滴,6800大洋。因為最多要驅動八塊sata硬盤,所以板子采用的是計算機的ATX電源。拿過來之後立馬接上串口,上電,擦,毫無反應,這是神馬情況,打電話一問才知道板子本身接出來的串口不是調試串口,UART0要我自己做根線接出來,我勒個去。。。
然後開始掛NFS,本來很簡單的一件事兒,可就因為公司的網絡折騰了我好一會兒,我自己習慣用Ubuntu,可ubuntu嚴重依賴網絡啊,公司的網絡受限,我執行sudo apt-getinstall nfs-kernel-server丫根本不能裝,麼有辦法了,只能曲線救國,換成Fedora,這下能搞的吧。
這裡把ubuntu和Fedora下NFS掛載的基本步驟說明下,後面再說明下要注意的問題:
先說ubuntu下面的:
1、安裝nfs服務
執行命令:sudo apt-get install nfs-kernel-server
安裝nfs-kernel-server時會自動安裝nfs-common和portmap
2、修改/etc/exports文件
執行命令:vim /etc/exports
一般剛安裝的nfs-kernel-server服務則這個文件內容應該為空,在文件中加上下面一行
/root/Hi3520192.168.1.244(rw,sync,no_root_squash)
這裡的/root/Hi3520表示你linux主機上的共享目錄,IP地址你可以改為你開發板的IP,後面的參數網上說的已經很多了,不必過多說明
3、設置linux主機的IP地址,這個不用多說了哎
4、重啟nfs服務
執行命令:
sudo/etc/init.d/portmap restart
sudo/etc/init.d/nfs-kernel-server restart
再說Fedora下面的:
Fedora下面稍微復雜,但是Fedora的NFS服務在安裝系統的時候已經存在,我們只需配置並將其開啟
1、開啟nfs服務
在終端下輸入setup,在彈出的菜單中選擇“系統服務”,講其中的netconsole,netplugd,nfs服務選上(按空格鍵選擇或者取消)。並按TAB鍵確認退出
在終端中輸入service nfs restart重啟nfs服務
2、修改/etc/exports文件
此處同ubuntu中的操作
3、設置linux主機端的網絡
這裡就不僅僅是設置IP了,還要設置下網絡
在虛擬機(我這裡用的是VMware)菜單中依次選擇”edit->virtual networksetting->Host virtual network mapping”,在第一個下拉菜單中選擇一個已經存在的網卡,就是你PC上真實的網卡,並按“應用”,“確認”
關閉虛擬機,確認Network connection為bridged模式
上面是linux主機端的一些設置,下面說點需要注意的問題,因為我們很多人掛NFS的時候是將PC機和開發板用一根網線直接連接,這個時候IP地址你可以隨便設,但是這樣的話在開發的時候就不能上網了,所以很多人利用一個小humble將PC機和開發板同時接入局域網中,這個時候設置IP的時候您就不要昏頭了啊,一定要先確認這個IP是能用的哎,還有就是虛擬機的network connection要選橋接呀。
再說下Hi3520開發板的設置吧,我看很多開發板是通過在uboot中設置bootargs讓linux啟動的時候就直接掛載NFS,而海思的板子都是在板子進入linux之後通過執行腳本來掛載NFS的,個人覺得後者比較靈活,我想掛就掛,前者就略顯麻煩了哎
海思的文檔裡面信誓當當的把腳本寫好啦
modprobe mmzmmz=ddr,0,0xC2000000,16M /*插入mmz模塊,網口驅動會使用該模塊*/
modprobe hiether /*插入網口驅動模塊*/
ifconfig eth0 hw ether00:10:85:18:01:84 /*配置MAC地址*/
ifconfig eth010.85.180.184 netmask 255.255.254.0 /*配置IP地址和子網掩碼*/
route add default gw10.85.180.1 /*配置默認網關*/
modprobe nfs /*插入NFS模塊*/
mount -t nfs -o nolock10.85.180.133:/home/c54122/glibc-nfs /mnt
和3515的文檔上一模一樣,可是你丫網卡驅動有變化呀,不負責任哎,改了連文檔也不更新,而且我這板子上用的是千兆網卡,還得設置一下模式,我擦,貼上我的腳本內容,IP地址和主機端的NFS目錄根據情況自己改呀
modprobemmz mmz=ddr,0,0xC2000000,16M
modprobeh2gether port_mode=1
ifconfigeth0 hw ether DC:07:C1:FE:26:D3
ifconfigeth0 192.168.1.244 netmask 255.255.255.0
routeadd default gw 192.168.1.1
modprobenfs
mount-t nfs -o nolock 192.168.1.233:/root/Hi3520 /mnt
執行這個腳本,NFS就掛載上啦,然後可以開發喽
最後還有一個問題注意下,ubuntu下安裝3520的SDK時,可能很多人會報錯,那是ubuntu將默認的shell改成了dash,改回去就是了呀,執行命令sudo dpkg-reconfigure dash,然後選擇“否”,over!