从编译工具链、内核到文件系统,完全重新打造一个属于自己的系统是不是很爽呢?
前几天抽时间DIY了一下英飞凌arm6410单板的系统,成功进入单板的busybox。
下面的附件是在ubuntu 0810上编译整个系统的脚本:
在编译过程中要注意几个地方:
1、指定好下面两个参数,我试了一下,指定hard浮点,编译工具链有点问题:
export CLFS_FLOAT="soft"
export CLFS_FPU=""
2、建议使用英飞凌官方的3.0.1内核
3、在配置binutils时,一定要指定-werror参数,如下:
../binutils-2.21/configure --disable-werror \
--prefix=${CLFS}/cross-tools \
--target=${CLFS_TARGET} --with-sysroot=${CLFS} --disable-nls \
--enable-shared --disable-multilib
4、在配置uclibc时,要执行如下脚本:
if [ "${CLFS_FLOAT}" == "soft" ]; \
then sed -i s/"UCLIBC_HAS_FPU=y"/"# UCLIBC_HAS_FPU is not set"/g .config; fi
如果不执行的话,最终的makefile存在UCLIBC_HAS_FPU参数,这会与前面指定的soft浮点参数冲突,导致最终编译出来的busybox进入不了串口控制台。
5、在编译busybox-1.18.4时,请在make menuconfig时指定静态编译,同时指定soft-linker方式。
6、/etc/inittab要根据实际情况调整一下,比如我调整了一行:
::respawn:/sbin/getty -L ttySAC0 115200 vt100
7、libnl,hostap,wireless_tools这几个包有点问题,可不编译。
8、.bash_profile文件中最好加上/usr/local/bin路径,我的ubuntu系统没有gawk,默认安装路径是在/usr/local/bin:
PATH=${CLFS}/cross-tools/bin:/bin:/usr/bin:/usr/local/bin
参考链接:
阅读(6133) | 评论(0) | 转发(1) |