一.系統配置
主機:ubuntu8.04LTS案頭版 開發板:友善之臂QQ2440V3
主機IP:192.168.1.10 子網路遮罩:255.255.255.0 廣播位址:172.16.53.255
開發板IP:192.168.1.10 廣播位址:172.16.53.255 子網路遮罩 255.255.255.0
二.串口配置minicom
2.1安裝
UBUNTU預設未安裝minicom
sudo apt-get install minicom
2.2配置
進入到minicom
Ctrl+A:進入配置介面
cOnfigure Minicom..O:配置串口
Serial port setup :
配置方法:
A - Serial Device : /dev/ttyS0
B - Lockfile Location : /var/lock
C - Callin Program :
D - Callout Program :
E - Bps/Par/Bits : 115200 8N1
F - Hardware Flow Control : No
G - Software Flow Control : No
(斷行符號進入上一級菜單)儲存設定:
Save setup as dfl
重啟minicom
三.建立NFS
3.1配置主機和開發板IP
1.主機 (雙網卡,下面是與開發板串連的網卡設定)
$sudo ifconfig eth1 192.168.1.10 netmask 255.255.255.0
設定主機IP地址:192.168.1.10,子網路遮罩:255.255.255.0
重啟網卡eth1,使配置生效
$ sudo ifconfig eth1 down
$ sudo ifconfig eth1 up
2.開發板
開發板IP和主機IP必須在同一個網段才能建立起網路連接
進入到/etc/init.d/目錄下會看到一個rcS檔案,這個檔案包含arm-linux系統啟動時的初始化資訊。
[root@FriendlyARM init.d]# cd /etc/init.d/
修改開發板IP地址的
[root@FriendlyARM init.d]# ls #顯示檔案夾內容。
rcS
[root@FriendlyARM init.d]#cp rcS rcS.bak #備份rcS檔案
[root@FriendlyARM init.d]# vi rcS
修改以下欄位,表示設定開機開發板IP是192.168.1.100與主機IP:192.168.1.10在一個網段內
/sbin/ifconfig eth0 192.168.1.100 up
改完後就重啟一下開發板
[root@FriendlyARM /]# reboot
3.2配置NFS服務
1.準備工作
sudo chmod 777 /home/armnfs
mkdir ~/arm
在/home下建立armnfs目錄,作為NFS的目錄,為了開發的方便,把許可權設為drwxrwxrwx。
把root_nfs.tgz (arm-linux的核心)解壓到/home/armnfs目錄下,開發板將從這裡啟動。
2.安裝NFS
Ubuntu上預設是沒有安裝NFS伺服器的,首先要安裝NFS服務程式:
$ sudo apt-get install nfs-kernel-server
安裝nfs-kernel-server時,apt會自動安裝nfs-common和portmap
這樣,宿主機就相當於NFS Server
3.配置NFS
(1)配置portmap (此斷抄xhylyx兄弟的,我電腦裡預設被注釋掉了,xhylyx兄弟文章中說為防止其他非法使用者登入nfs,還對 /etc/hosts.deny
和 /etc/hosts.allow 進行了設定,其實沒必要,可在後面 /etc/exports 裡設定。xhylyx的設定好像也有問題,/etc/host.deny優先順序高些,全部deny了,allow也沒有用了)
方法1: 編輯/etc/default/portmap, 將 -i 127.0.0.1 去掉.
方法2: $ sudo dpkg-reconfigure portmap , 對Should portmap be bound to the loopback address? 選N.
(2)配置/etc/exports
NFS掛載目錄及許可權由/etc/exports檔案定義
/home/armnfs 192.168.1.*(rw,sync,no_root_squash)
讓IP地址為192.168.1.*的nfs用戶端都能訪問/home/armnfs目錄
(3)查看NFS server的export list.
$showmount -e
miao@miao-desktop:/usr/local/arm$ showmount -e
Export list for miao-desktop:
/home/armnfs 192.168.1.*
(4)更新 /etc/exports
sudo exportfs -r
(5)重啟nfs服務
$ sudo /etc/init.d/nfs-kernel-server restart
(6)測試NFS
掛載本地磁碟
主機IP是192.168.1.10,把/home/armnfs目錄掛載到/mnt目錄下
$sudo mount -t nfs 192.168.1.10:/home/armnfs /mnt
成功的掛載上的話你會在/mnt目錄下看到root_nfs這個檔案夾下的內容
3.3.通過NFS啟動開發板
當NFS 服務設定好並啟動後,我們就可以把NFS 作為根檔案系統來啟動開發板了
(1)設定目標板啟動模式跳線J1 為Nand Flash 啟動。
(2)進入Supervivi菜單,按q進入shell命令模式。手動開啟 vivi自動換行功能,先按ctrl+a鍵,再按W鍵,後面的命令很長不換行輸不下。
(3)輸入命令(紅色部分不用改)
<Supervivi>param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.10:/home/armnfs ip=192.168.1.100:192.168.1.10:192.168.1.10:255.255.255.0:sbc2440.arm9.net:eth0:off"
說明:
nfsroot=192.168.1.10, 是主機IP ,/home/armnfs是nfs共用資料夾目錄
ip=192.168.1.100:192.168.1.10:192.168.1.10:255.255.255.0
第一個IP是開發板的IP(開發板的IP不要與區域網路內其它IP衝突),第二個是主機的IP,第三個也是主機的IP,第四個是開發板的子網路遮罩
(4)啟動linux
Supervivi>boot
linux將從宿主機/home/armnfs目錄下的核心,開始啟動。
參考資料:
xhylyx
http://forum.ubuntu.org.cn/viewtopic.php?t=109904
water2007
http://forum.ubuntu.org.cn/viewtopic.php?t=138051