1、到網站http://buildroot.uclibc,org/downloa裡載較新的buildroot版本buildroot-2009.02.tar..gz。並將該包解壓並更名為buildroot。
2、 由於我們平台所採用的核心版本是linux2。4.所以我們在配置buildroot編譯選項時,應選上linux2.4的核心。但現在buildroot預設選項中沒有linux2.4核心的選項。這需要我們修改/toolchain/kernel_header/Config.in檔案的內容
3、#vim /toolchain/kernel_header/Config.in 開啟該設定檔:
在choice這一項裡,將default BR2_KERNEL_HEADER_2_6_28用“#”注釋掉。
然後添加: default BR2_KERNEL_HEADER_2_4.32 (說明:定義了宏R2_DEPRECALED後,將BR2_KERNEL_HEADER_2_4.32定義的內容預設地顯示出來。注意,BR2_KERNEL_HEADER_2_4.32依賴於宏BR2_DEPRECALED)
4、在buildroot目錄下執行命令make menuconfig,進行配置
1) 選擇Target Architecture為armeb(大端模式)。
2) 選擇Target Architecture Variant 為Xscale。
3)在Build option下選擇 show packsges that are deprecated or oboslete。(對BR2_DEPRELATED宏所代表內容顯示的支援)。
4) 在toolchain裡選擇kernel headers 為 linux-2.4.31
5) 在toolchain裡選擇 Use software floating point be default (選擇軟浮點支援)。
6) 其他選項根據需要自行選擇。
7) 儲存推出。
5、此時,若主機若能連網,便可執行make命令,buildroot會一邊編譯一邊自動從網上下載需要的包。
6、在編譯中報錯:(1)expected specifier-qualifier-list before ‘__u32’
(2)Undefy ‘__NR_clock_gettine’
解決:在buildroot/build_armeb/string_dir/usr/include/linux/watchdog.h中添加一個標頭檔定義:#include<linux/types.h>