u boot 下載、編譯:
0 toolchain 安裝
/etc/apt/sources.list 請加入以下設定:
deb http://www.emdebian.org/debian/ squeeze main
接著執行
apt-get update
apt-get install gcc-4.4-arm-linux-gnueabi cpp-4.4-arm-linux-gnueabi g++-4.4-arm-linux-gnueabi
即可完成 toolchain 安裝。
1. U-boot 是使用在嵌入式系統的 bootloader,所謂的 bootloader 是指開機時載入
的一個小程式,在開機階段作好系統初始化並導入系統 (Linux) 核心,最後完成開機
流程將權限交給作業系統。
U-boot 的官方網頁如下:
http://www.denx.de/wiki/U-Boot
下載網址在:
ftp://ftp.denx.de/pub/u-boot/u-boot-latest.tar.bz2
下載完畢後會出現 u-boot-latest.tar.bz2 這個檔案,之後我們就可以準備解壓縮。
tar xfva u-boot-latest.tar.bz2
解開完畢後會出現 u-boot-2013.10 (最新版) 之目錄,請切換至此目錄準備編譯。
2. 編譯 u-boot
u-boot-2013.10 目錄底下有個 boards.cfg 檔案,裡面內建「所有」支援 ARM 開發板之設定,請看該檔內容,我們會看到其中有一行如下:
omap3_beagle arm armv7 beagle ti omap3
以上資訊告訴我們 u-boot 有支援 beagle 板,請執行底下指令設定編譯參數。
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap3_beagle_config
此時會出現底下訊息:
Configuring for omap3_beagle board...
接著請執行底下指令編譯:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- all -j 8
編完之後會出現幾個檔案:
MLO
u-boot
u-boot.bin
u-boot.img
3. 測試
請執行底下指令將所開機必要檔案轉至 sd.img 這個檔案
cat MLO u-boot u-boot.bin u-boot.img > sd.img
接著執行:
qemu-system-arm -M beagle -nographic -sd sd.img
我們會看到 U-boot 2012.07 已經啟動,但是因為沒有核心所以無法開機並且會在此處
當掉,我們會在之後的教學中進行說明如何繼續往下作。
U-Boot SPL 2012.07 (Oct 04 2012 - 11:43:34)
Texas Instruments Revision detection unimplemented
OMAP SD/MMC: 0
mmc_init_stream: timedout waiting for cc!
spl: mmc init failed: err - -19
### ERROR ### Please RESET the board ###
請按 Ctrl+a x 跳出 Qemu
沒有留言:
張貼留言