【问题】
折腾:
折腾:
【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译Linux内核
期间,解决了:
【已解决】Cygwin下配置Linux内核出错:Makefile:419: *** mixed implicit and normal rules. Stop.
后,又出现错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ make whgs_defconfig HOSTCC scripts /basic/docproc scripts /basic/docproc .c: In function ‘find_export_symbols’: scripts /basic/docproc .c:188:5: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:191:5: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:197:5: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:200:5: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c: In function ‘singfunc’: scripts /basic/docproc .c:267:17: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c: In function ‘parse_file’: scripts /basic/docproc .c:300:6: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:305:6: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:310:6: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:316:6: warning: array subscript has type ‘char’ [-Wchar-subscripts] scripts /basic/docproc .c:319:6: warning: array subscript has type ‘char’ [-Wchar-subscripts] HOSTLD scripts /kconfig/conf scripts /kconfig/conf : scripts /kconfig/conf : cannot execute binary file make [1]: *** [whgs_defconfig] Error 126 make : *** [whgs_defconfig] Error 2 |
如图:
【解决过程】
1.此问题,和之前的:
很类似。
所以,按照类似思路,去确认文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ ls scripts /kconfig/conf * -lha -rwxr-xr-x 1 CLi Domänen-Benutzer 75K Nov 7 2012 scripts /kconfig/conf * -rw-r--r-- 1 CLi Domänen-Benutzer 12K Oct 17 2012 scripts /kconfig/conf .c -rwxr-xr-x 1 CLi Domänen-Benutzer 135K Aug 22 17:56 scripts /kconfig/conf .exe* -rw-r--r-- 1 CLi Domänen-Benutzer 12K Aug 22 17:47 scripts /kconfig/conf .o -rw-r--r-- 1 CLi Domänen-Benutzer 17K Oct 17 2012 scripts /kconfig/confdata .c CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ file scripts /kconfig/conf scripts /kconfig/conf : ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU /Linux 2.6.9, not stripped CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ file scripts /kconfig/conf .exe scripts /kconfig/conf .exe: PE32 executable (console) Intel 80386, for MS Windows |
2.并且改名:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ mv scripts /kconfig/conf .exe scripts /kconfig/conf .exe_backup CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ mv scripts /kconfig/conf scripts /kconfig/conf_backup CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ cp scripts /kconfig/conf .exe_backup scripts /kconfig/conf CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ ls scripts /kconfig/conf * -lha -rwxr-xr-x 1 CLi Domänen-Benutzer 135K Aug 22 18:07 scripts /kconfig/conf * -rw-r--r-- 1 CLi Domänen-Benutzer 12K Oct 17 2012 scripts /kconfig/conf .c -rwxr-xr-x 1 CLi Domänen-Benutzer 135K Aug 22 17:56 scripts /kconfig/conf .exe_backup* -rw-r--r-- 1 CLi Domänen-Benutzer 12K Aug 22 17:47 scripts /kconfig/conf .o -rwxr-xr-x 1 CLi Domänen-Benutzer 75K Nov 7 2012 scripts /kconfig/conf_backup * -rw-r--r-- 1 CLi Domänen-Benutzer 17K Oct 17 2012 scripts /kconfig/confdata .c CLi@PC-CLI-1 ~ /develop/kernel/linux-2 .6.19.1 $ file scripts /kconfig/conf scripts /kconfig/conf : PE32 executable (console) Intel 80386, for MS Windows |
3.然后再去运行试试,然后就可以通过conf部分了:
【总结】
此处,当Cygwin下,交叉编译时配置出现:
scripts/kconfig/conf: scripts/kconfig/conf: cannot execute binary file |
的错误时,原因是:
虽然之前,已经通过加上-lintl,而使得conf.c正常编译,生成了对应的conf,但是其是
for GNU/Linux 2.6.9
的,所以:
如果是普通的Linux下,是正常的,可以正常运行。
但是在此Cygwin下,是无法运行的。
解决办法是:
但是由于此处另外还编译出来一个conf.exe,是可以在cygwin下运行的,
所以把conf.exe改为conf,即可。
当然,可以先备份再改名:
1 2 3 | mv scripts /kconfig/conf .exe scripts /kconfig/conf .exe_backup mv scripts /kconfig/conf scripts /kconfig/conf_backup cp scripts /kconfig/conf .exe_backup scripts /kconfig/conf |
即可。
转载请注明:在路上 » 【已解决】Cygwin下交叉编译内核在配置时出错:scripts/kconfig/conf: scripts/kconfig/conf: cannot execute binary file