利用nfs下載linux核心
利用路由器,將主機,虛擬機器,開發板在橋接環境下組建區域網
(1)設定主機,虛擬機器為同一個網段(這裡虛擬機器為ubuntu 12.04 發現採用橋接後,網路設定為自動獲取就沒問題了,
當我想手動設定固定ip的時候,出現一個問題:參照主機的網路引數設定ip,閘道器等,也設定好了dns,發現主機與虛擬機器之間能相互ping通
虛擬機器能直接ping通外網的ip,卻不能進行dns解析,不知道該怎麼才能有效的設定ubuntu的dns服務了!!!)
(2)針對需要的核心原始碼執行:make uImage (之前已經 make 生成了vmlinux了,所以此處較快,期間提示需要 mkimage工具,
按照提示:安裝 u-boot-tools工具包)
(3)在編譯工作目錄下的 arch/arm/boot/ 目錄下生成了 uImage檔案,併產生如下資訊:
Image Name: Linux-2.6.32.65
Created: Thu Jan 29 21:20:45 2015
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2488528 Bytes = 2430.20 kB = 2.37 MB
Load Address: 80008000 // !! nfs 啟動的時候,記憶體載入地址
Entry Point: 80008000 // !! uboot 啟動核心的 記憶體地址
Image arch/arm/boot/uImage is ready
得到如上資訊:Load Address和Entry Point 資訊重要
(4)啟動開發板,進入uboot管理配置模式
(5)在uboot環境下,配置開發板的網路環境引數:
u-boot>setenv etnaddr 11:22:33:44:55:66 // 是設定板子的mac地址,板子已經寫好了,無需設定
u-boot>setenv ipaddr 192.168.0.102//是設定板子的IP地址。
u-boot>setenv serverip 192.168.0.101//是設定提供核心下載的伺服器IP地址。
u-boot>setenv gatewayip 192.168.0.1 //設定閘道器
u-boot>setenv netmask 255.255.255.0 //設定子網掩碼
u-boot>saveenv // !!! 儲存環境變數 重要!!
(5)uboot下啟動nfs服務下載核心uImage檔案:
# nfs 0x80008000 192.168.0.101:/work/nfs_root/uImage
uboot開始進入下載模式,出現進度條 #########
(6)從uboot下啟動核心:
# bootm 0x80008000
(7)許可權開始交接給核心,uboot任務基本結束 ……