第一步:主機nfs服務配置
a. 確定虛擬機器IP
[duli@] ifconfig //查看eth的IP,一般為192.168.1.*
也可以自己配置虛擬機器IP
[duli@] ifconfig eth0 192.168.1.123
b. 建立nfs目錄 假設為/home/duli/nfs_root
[duli@] sudo mkdir /home/duli/nfs_root
c. 將開發板根檔案系統目錄內容拷貝到nfs目錄,並設定777的許可權 //假設你的utc100_root在目錄/home/duli/android2.3 下面
[duli@] sudo cp -r /home/duli/android2.3/utc100_root/* /home/duli/nfs_root
[duli@] sudo chmod /home/duli/nfs_root 777
d. 配置nfs目錄
添加nfs目錄及配置root的讀寫權限,修改 /etc/exports,新增內容
/home/duli/nfs_root 192.168.1.* (rw,sync,no_root_squash)
/*###############################################################*/
第二步: 首先要跑到u-boot命令列(一般是啟動的時候幾秒內按某個鍵)
假設你已經到u-boot命令列(u-boot有哪些命令可以敲help顯示)
a. 設定開發板IP,要與虛擬機器同一個網段
u-boot# set ipaddr 192.168.1.122
b. 設定開發板伺服器IP
u-boot# set serverip 192.168.1.123
c. 檢查開發板IP和伺服器IP設定是否正常
u-boot# echo $ipaddr
u-boot# echo $serverip
d. 檢查開發板跟伺服器是否連通,ping主機ip,看結果正確麼
u-boot# ping 192.168.1.123
e. 儲存現有的核心啟動參數
保險起見,先儲存之前的啟動參數
u-boot# echo $bootargs
把顯示的東西複製下來儲存,供網路啟動不了的時候,需要設定原來的啟動方式用
設定原先的啟動參數方法為:
u-boot# setenv bootargs 上面複製的內容
u-boot# saveenv
f. 設定核心啟動參數(指定網路啟動的關鍵)
u-boot# setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.123:/home/duli/nfs_root init=/init ip=192.168.1.122:192.168.1.123:192.168.1.1:255.255.255.0:utc100:eth0:off console=ttySAC0,115200
一定要儲存環境參數
u-boot# saveenv
g. 檢查網路參數設定是否正確,即跟上面設定的一致
u-boot# echo $bootargs
d.重啟開發板
/*###############################################################*/
第三步:調試init.rc (以下的操作需要迴圈操作)
a. 一步一步修改init.rc
b. 儲存到nfs_root目錄下
c. 重啟開發板,看啟動情況及日誌
d. 針對log修改init.rc 重複以上的動作