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>