【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译Linux内核

【背景】

已经折腾完了:

【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译Uboot

此处再去,在Cygwin下,用arm-xscale-linux-gnueabi的交叉工具链,交叉编译Linux的kernel。

其中,之前已经在Ubuntu下用类似的arm-xscale-linux-gnueabi,交叉交叉编译过了:

【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译linux-2.6.19.1内核

此处,只是尝试在Cygwin下,是否可以正常编译。

尤其是:

Cygwin下,解压kernel源码的话,以后编译期间,产生的各种软链接等东西,是否可以正常支持。

如果支持:

则以后,嵌入式Linux开发,完全都在Cygwin下折腾,就基本是可以实现的了。

【折腾过程】

1.已有的源码:

CLi@PC-CLI-1 ~/develop/kernel
$ ls -lha
total 47M
drwxr-xr-x+ 1 CLi            Domänen-Benutzer   0 Aug 22 13:33 ./
drwxr-xr-x+ 1 Administrators Domänen-Benutzer   0 Aug 22 13:33 ../
-rwxr-xr-x  1 CLi            Domänen-Benutzer 47M Aug 22 13:33 linux-2.6.19.1.tar.bz2*

2.在Cygwin下解压kernel的源码:

CLi@PC-CLI-1 ~/develop/kernel
$ tar xjf linux-2.6.19.1.tar.bz2

CLi@PC-CLI-1 ~/develop/kernel
$ ls -lha
total 47M
drwxr-xr-x+ 1 CLi            Domänen-Benutzer   0 Aug 22 13:33 ./
drwxr-xr-x+ 1 Administrators Domänen-Benutzer   0 Aug 22 13:33 ../
drwxr-xr-x+ 1 CLi            Domänen-Benutzer   0 Nov 21  2012 linux-2.6.19.1/
-rwxr-xr-x  1 CLi            Domänen-Benutzer 47M Aug 22 13:33 linux-2.6.19.1.tar.bz2*

3.继续去参考:

【记录】Ubuntu下用arm-xscale-linux-gnueabi交叉编译linux-2.6.19.1内核

去修改Makefile:

#ARCH		?= $(SUBARCH)
ARCH            ?=arm
#CROSS_COMPILE	?=arm-linux-
#CROSS_COMPILE	?=arm-xscale-linux-gnu-
CROSS_COMPILE   ?=arm-xscale-linux-gnueabi-

 

4.然后就是先去make xxx_defconfig去调用默认配置:

【记录】Cygwin下交叉编译Linux内核时用make xxx_defconfig去调用默认配置

 

5.再去用make menuconfig去真正确认和修改配置:

【记录】Cygwin下交叉编译Linux内核时用make menuconfig去确认和修改配置

 

6.然后再真正去交叉编译内核:

【记录】Cygwin下交叉编译Linux内核在配置后去make编译

最后编译成功的结果是:

【总结】

总的来说,在Cygwin下,用arm-xscale-linux-gnueabi交叉编译Linux内核,从配置到编译,都相对还是有点麻烦的。

其中最多的问题,处在调用配置的时候,会出现很多错误,主要都是和cygwin平台(和Linux有些东西不一样)而导致的。

但是问题最终都还是可以解决的。

即:

在Cygwin下交叉编译Linux,虽然有问题,但是还是可以解决的。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量