嵌入式linux内核编译错误的一些解决办法

上传人:子 文档编号:43335171 上传时间:2018-06-05 格式:DOC 页数:24 大小:20.84KB
返回 下载 相关 举报
嵌入式linux内核编译错误的一些解决办法_第1页
第1页 / 共24页
嵌入式linux内核编译错误的一些解决办法_第2页
第2页 / 共24页
嵌入式linux内核编译错误的一些解决办法_第3页
第3页 / 共24页
嵌入式linux内核编译错误的一些解决办法_第4页
第4页 / 共24页
嵌入式linux内核编译错误的一些解决办法_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《嵌入式linux内核编译错误的一些解决办法》由会员分享,可在线阅读,更多相关《嵌入式linux内核编译错误的一些解决办法(24页珍藏版)》请在金锄头文库上搜索。

1、嵌入式嵌入式 linuxlinux 内核编译错误的一些解决办法内核编译错误的一些解决办法一:invalid option abi=aapcs-linux选项错误scripts/kconfig/conf -s arch/arm/KconfigCHK include/linux/version.hSYMLINK include/asm-arm/arch - include/asm-arm/arch-s3c2410make1: include/asm-arm/mach-types.h is up to date.CHK include/linux/utsrelease.hCC arch/arm/ke

2、rnel/asm-offsets.scc1: error: invalid option abi=aapcs-linuxmake1: * arch/arm/kernel/asm-offsets.s Error 1make: * prepare0 Error 2解决方法:Youre building an EABI kernel with an OABI compiler. You can either turn off the EABI option in your config file (Kernel Features-Use EABI),or, you can use an EABI t

3、oolchain such as the ARM/GNU Linux one from .I recommend the latter, because then you can run Arjans new images.上述的关掉 EABI 选项可以通过测试二:drivers/video/console/vgacon.o:987:warning:comparison is always true due to limited range of data typemake3:*drivers/video/console/vgacon.o error 1make2:*drivers/video

4、/console2 error 2make1:*drivers/video1 error 2make:*drivers error 2解决方法:在 make menuconfig 时选哪个设备驱动的选项进去在选 Graphics support -console display driver support-vga text console(不选这个)再编译就行了!三:rtc_lock未定义错误(未完全解决)方法:drivers/built-in.o(.text+0x281e4):drivers/char/nvram.c:350: more undefined references to rt

5、c_lock follow查找 drivers/char/nvram.c 有关的 rtc_lock 定义,发现 2.6.21 与以往的 kernel 不同,于是在包含文件中查找,在include/linux/mc146818rtc.h 中发现了 rtc_lock 的定义,但是有一个_KERNEL_的条件编译选项,去掉这个条件编译选项,再 make zImage,但是问题好像依然存在,继续在 drivers/char/nvram.c 中增加这个定义 spinlock_t rtc_lock;再编译,发现编译通过。四:make zImage 和 make xipImageKernel configu

6、red for XIP (CONFIG_XIP_KERNEL=y)Only the xipImage target is available in this casemake1: * arch/arm/boot/zImage Error 1make: * zImage Error 2解决方法:好象是 make menuconfig 的时候 Boot options-Kernel Execte-In-Place from ROM 选项问题,去掉这个选项编译通过(如果是make xopImage 时則需要将这个选项选上) ,最终成功编译了 make zImage。五:出现 make:*.tmp_v

7、mlinux1 Error 1 这类错误解决方法:修改 arch/arm/kernel/vmlinux.ldsarmlocalhost linux2.6.14$vi arch/arm/kernel/vmlinux.lds将文件尾 2 条的 ASSERT 注释掉(1439 行)/* ASSERT(_proc_info_end _proc_info_begin), “missing CPU support“) */* ASSERT(_arch_info_end _arch_info_begin), “no machine record defined“) */然后重新 make zImage 即可

8、六:如果大家遇到一下几个问题可以参考本文:a make menuconfig1) /usr/bin/ld: cannot find -lncurses解决办法:sudo apt-get install libncurses5-dev2) Your display is too small to run Menuconfig!解决办法: 窗口最大化b/usr/local/arm/bin/arm-linux-ld:arch/arm/kernel/vmlinux.lds:782: parse errormake: * .tmp_vmlinux1 错误 1ld 链接时产生错误对应行:/home/kev

9、in/ARMSystem/linux-2.6.12/arch/arm/kernel/vmlinux.lds/* those must never be empty */ASSERT(_proc_info_end - _proc_info_begin), “missing CPU support“)ASSERT(_arch_info_end - _arch_info_begin), “no machine record defined“)解决办法: 注释掉这两行下面是编译时产生的一些信息1 cross compile# CROSS_COMPILE specify the prefix used

10、for all executables used# during compilation. Only gcc and related bin-utils executables# are prefixed with $(CROSS_COMPILE).# CROSS_COMPILE can be set on the command line# make CROSS_COMPILE=ia64-linux-# Alternatively CROSS_COMPILE can be set in the environment.# Default value for CROSS_COMPILE is

11、not to prefix executables# Note: Some architectures assign CROSS_COMPILE in their arch/*/MakefileARCH := armCROSS_COMPILE := /usr/local/arm/bin/arm-linux-2kevinkevin-desktop:/ARMSystem/linux-2.6.12$ make distclean# distclean#.PHONY: distcleandistclean: mrproperfind $(srctree) $(RCS_FIND_IGNORE) ( -n

12、ame *.orig -o -name *.rej -o -name * -o -name *.bak -o -name #*# -o -name .*.orig -o -name .*.rej -o -size 0 -o -name *% -o -name .*.cmd -o -name core ) -type f -print | xargs rm -f只是找到一些残存文件并删除;3kevinkevin-desktop:/ARMSystem/linux-2.6.12$ make menuconfigHOSTCC scripts/basic/fixdepscripts/basic/fixd

13、ep.c: 在函数parse_config_file中:scripts/basic/fixdep.c:245: 警告: 传递参数 1 (属于use_config) 给指针时,目标与指针符号不一致scripts/basic/fixdep.c: 在函数parse_dep_file中:scripts/basic/fixdep.c:299: 警告: 传递参数 1 (属于_builtin_strchr) 给指针时,目标与指针符号不一致scripts/basic/fixdep.c:299: 警告: 对指针赋值时目标与指针符号不一致HOSTCC scripts/basic/split-includescri

14、pts/basic/split-include.c: 在函数main中:scripts/basic/split-include.c:113: 警告: 对指针赋值时目标与指针符号不一致HOSTCC scripts/basic/docprocscripts/basic/docproc.c: 在函数find_export_symbols中:scripts/basic/docproc.c:184: 警告: 对指针赋值时目标与指针符号不一致scripts/basic/docproc.c:185: 警告: 对指针赋值时目标与指针符号不一致scripts/basic/docproc.c:202: 警告: 传

15、递参数 2 (属于add_new_symbol) 给指针时,目标与指针符号不一致scripts/basic/docproc.c: 在函数singfunc中:scripts/basic/docproc.c:274: 警告: 对指针赋值时目标与指针符号不一致scripts/basic/docproc.c: 在函数parse_file中:scripts/basic/docproc.c:296: 警告: 对指针赋值时目标与指针符号不一致SHIPPED scripts/kconfig/zconf.tab.hHOSTCC scripts/kconfig/conf.oscripts/kconfig/conf.c: 在函数strip中:scripts/kconfig/conf.c:46: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c: 在函数conf_askvalue中:scripts/kconfig/conf.c:94: 警告: 传递参数 1 (属于fgets) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c: 在函数conf_string中:scripts/kconfig/conf.c:187: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致scripts/k

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号