如何为嵌入式开发建立交叉编译环境(2)

建立内核头文件

把你从 下载的内核源代码放入 $PRJROOT /kernel 目录

进入你的 kernel 目录:


$cd $PRJROOT /kernel  

解开内核源代码


$tar -xzvf linux-2.4.21.tar.gz  


$tar -xjvf linux-2.4.21.tar.bz2  

小于 2.4.19 的内核版本解开会生成一个 linux 目录,没带版本号,就将其改名。


$mv linux linux-2.4.x  

给 Linux 内核打上你的补丁


$cd linux-2.4.21 $patch -p1 < ../patch-2.4.21-rmk2  

编译内核生成头文件

$make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig

你也可以用 config 和 xconfig 来代替 menuconfig,但这样用可能会没有设置某些配置文件选项和没有生成下面编译所需的头文件。推荐大家用 make menuconfig,这也是内核开发人员用的最多的配置方法。配置完退出并保存,检查一下的内核目录中的 include/linux/version.h 和 include/linux/autoconf.h 文件是不是生成了,这是编译 glibc 是要用到的,version.h 和 autoconf.h 文件的存在,也说明了你生成了正确的头文件。

还要建立几个正确的链接


$cd include $ln -s asm-arm asm $cd asm $ln -s arch-epxa arch $ln -s proc-armv proc  

接下来为你的交叉编译环境建立你的内核头文件的链接


$mkdir -p $TARGET_PREFIX/include $ln -s $PRJROOT/kernel/linux-2.4.21/include/linux $TARGET_PREFIX/include/linux $in -s $PRJROOT/kernel/linux-2.4.21/include/asm-arm $TARGET_PREFIX/include/asm  

也可以把 Linux 内核头文件拷贝过来用


$mkdir -p $TARGET_PREFIX/include $cp -r $PRJROOT/kernel/linux-2.4.21/include/linux $TARGET_PREFIX/include $cp -r $PRJROOT/kernel/linux-2.4.21/include/asm-arm $TARGET_PREFIX/include  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwszs.html