




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
make menuconfig 常见错误分析 一: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/kernel/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 toolchain 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/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 rtc_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 configured 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_vmlinux1 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即可 六:如果大家遇到一下几个问题可以参考本文:a make menuconfig 1) /usr/bin/ld: cannot find -lncurses 解决办法: sudo apt-get install libncurses5-dev 2) 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/kevin/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 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 not to prefix executables # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile ARCH := arm CROSS_COMPILE := /usr/local/arm/bin/arm-linux-2kevinkevin-desktop:/ARMSystem/linux-2.6.12$ make distclean# distclean#.PHONY: distcleandistclean: mrproper find $(srctree) $(RCS_FIND_IGNORE) ( -name *.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 menuconfig HOSTCC scripts/basic/fixdepscripts/basic/fixdep.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-includescripts/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: 警告: 传递参数 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.h HOSTCC 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/kconfig/conf.c:188: 警告: 对指针赋值时目标与指针符号不一致scripts/kconfig/conf.c: 在函数conf_sym中:scripts/kconfig/conf.c:236: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:236: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:236: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:236: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:236: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:236: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:248: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:248: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:248: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:248: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:248: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:248: 警告: 传递参数 1 (属于_builtin_strcmp) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c: 在函数conf_choice中:scripts/kconfig/conf.c:350: 警告: 传递参数 1 (属于fgets) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:360: 警告: 传递参数 1 (属于atoi) 给指针时,目标与指针符号不一致scripts/kconfig/conf.c:384: 警告: 传递参数 1 (属于strlen) 给指针时,目标与指针符号不一致 HOSTCC scripts/kconfig/kxgettext.o HOSTCC scripts/kconfig/mconf.oscripts/kconfig/mconf.c: 在函数cprint1中:scripts/kconfig/mconf.c:337: 警告: 对指针赋值时目标与指针符号不一致scripts/kconfig/mconf.c:339: 警告: 传递参数 1 (属于vsprintf) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数cprint中:scripts/kconfig/mconf.c:357: 警告: 对指针赋值时目标与指针符号不一致scripts/kconfig/mconf.c:359: 警告: 传递参数 1 (属于vsprintf) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数search_conf中:scripts/kconfig/mconf.c:550: 警告: 传递参数 1 (属于sym_re_search) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数conf中:scripts/kconfig/mconf.c:761: 警告: 传递参数 2 (属于strcpy) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c:765: 警告: 传递参数 1 (属于sscanf) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数conf_choice中:scripts/kconfig/mconf.c:915: 警告: 传递参数 1 (属于sscanf) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c:920: 警告: 传递参数 1 (属于sscanf) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数conf_string中:scripts/kconfig/mconf.c:961: 警告: 传递参数 2 (属于sym_set_string_value) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数conf_load中:scripts/kconfig/mconf.c:990: 警告: 传递参数 1 (属于conf_read) 给指针时,目标与指针符号不一致scripts/kconfig/mconf.c: 在函数conf_save中:scripts/kconfig/mconf.c:1019: 警告: 传递参数 1 (属于conf_write) 给指针时,目标与指针符号不一致 SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/lex.zconf.c HOSTCC scripts/kconfig/zconf.tab.oIn file included from scripts/kconfig/zconf.tab.c:2125:scripts/kconfig/confdata.c: 在函数conf_expand_value中:scripts/kconfig/confdata.c:39: 警告: 传递参数 1 (属于_builtin_strchr) 给指针时,目标与指针符号不一致scripts/kconfig/confdata.c:39: 警告: 对指针赋值时目标与指针符号不一致scripts/kconfig/confdata.c:40: 警告: 传递参数 2 (属于_builtin_strncat) 给指针时,目标与指针符号不一致scripts/kconfig/confdata.c:51: 警告: 传递参数 2 (属于strcat) 给指针时,目标与指针符号不一致scripts/kconfig/confdata.c: 在函数conf_get_default_confname中:scripts/kconfig/confdata.c:62: 警告: 传递参数 1 (属于conf_expand_value) 给指针时,目标与指针符号不一致scripts/kconfig/confdata.c: 在函数conf_read中:scripts/kconfig/confdata.c:88: 警告: 传递参数 1 (属于conf_expand_value) 给指针时,目标与指针符号不一致 HOSTLD scripts/kconfig/mconf/usr/bin/ld: cannot find -lncursescollect2: ld 返回 1-e Unable to find the Ncurses libraries. You must install ncurses-devel in order to use make menuconfigmake2: * scripts/lxdialog/ncurses 错误 1make1: * menuconfig 错误 2make: * menuconfig 错误 2分析, make menuconfig 机制linux内核配置界面make config是有问必答的方式,每个内核选项它都会问你要、不要、模块,选错了一个就必须从头再来一遍;make menuconfig提供一个基于文本的图形界面,它依赖于ncurses5这个包,键盘操作,可以修改选项,一般推荐用这个;make xconfig需要你有x window system支持,就是说你要在KDE、GNOME之类的X桌面环境下才可用,好处是支持鼠标,坏处是X本身占用系统周期,而且X环境容易引起编译器的不稳定缺少相应的文件kevinkevin-desktop:/ARMSystem/linux-2.6.12$ dpkg -l |grep ncursesii libncurses5 5.6+20071124-1ubuntu2 Shared libraries for terminal handlingii libncursesw5 5.6+20071124-1ubuntu2 Shared libraries for terminal handling (wideii mtr-tiny 0.72-2ubuntu1 Full screen ncurses traceroute toolii ncurses-base 5.6+20071124-1ubuntu2 Descriptions of common terminal typesii ncurses-bin 5.6+20071124-1ubuntu2 Terminal-related programs and man pageskevinkevin-desktop:/ARMSystem/linux-2.6.12/scripts$ find . -type f |xargs grep N,ncurses./lxdialog/dialog.h: * Colors in ncurses 1.9.9e do not work properly since foreground and./lxdialog/dialog.h: * of dialog was hacked to work with ncurses 1.9.9e, making it incompatible./lxdialog/Makefile:HOST_LOADLIBES := -lncurses./lxdialog/Makefile:ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h)./lxdialog/Makefile: HOST_EXTRACFLAGS += -I/usr/include/ncurses -DCURSES_LOC=./lxdialog/Makefile:ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h)./lxdialog/Makefile: HOST_EXTRACFLAGS += -I/usr/include/ncurses -DCURSES_LOC=./lxdialog/Makefile:ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h)./lxdialog/Makefile: HOST_EXTRACFLAGS += -DCURSES_LOC=./lxdialog/Makefile:always := ncurses $(hostprogs-y)./lxdialog/Makefile:.PHONY: $(obj)/ncurses./lxdialog/Makefile:$(obj)/ncurses:./lxdialog/Makefile: echo Unable to find the Ncurses libraries. ;./lxdialog/Makefile: echo You must install ncurses-devel in order ;二进制文件 ./kconfig/mconf 匹配二进制文件 ./kconfig/mconf.o 匹配./kconfig/mconf.c:export those variables via /etc/profile. Some ncurses programs cann在文件中调用:.PHONY: $(obj)/ncurses$(obj)/ncurses: echo main() lxtemp.c if $(HOSTCC) lxtemp.c $(HOST_LOADLIBES); then rm -f lxtemp.c a.out; else rm -f lxtemp.c; echo -e 007 ; echo Unable to find the Ncurses libraries. ; echo ; echo You must install ncurses-devel in order ;HOST_LOADLIBES := -lncurses.tw/viewtopic.php?t=1544&sid=75aadf515141417d196e6e05d3209bffsudo apt-get install libncurses5-dev继续scripts/lxdialog/lxdialog.c:211: 警告: 传递参数 2 (属于fprintf) 给指针时,目标与指针符号不一致 HOSTCC scripts/lxdialog/menubox.o HOSTCC scripts/lxdialog/msgbox.o HOSTCC scripts/lxdialog/textbox.o HOSTCC scripts/lxdialog/util.o HOSTCC scripts/lxdialog/yesno.o HOSTLD scripts/lxdialog/lxdialogscripts/kconfig/mconf arch/arm/Kconfigdrivers/char/Kconfig:587: cant open file drivers/char/watchdog/Kconfig make1: * menuconfig 错误 1make: * menuconfig 错误 2重新解压kevinkevin-desktop:/ARMSystem/linux-2.6.12$ make menuconfigscripts/kconfig/mconf arch/arm/Kconfig# using defaults found in .config#Your display is too small to run Menuconfig!It must be at least 19 lines by 80 columns.make1: * menuconfig 错误 1make: * menuconfig 错误 2呵呵,原来窗口需要最大化导入配置文件make zImagekevinkevin-desktop:/ARMSystem/linux-2.6.12$ make zImage CHK include/linux/version.hmake1: “arch/arm/kernel/asm-offsets.s”是最新的。make1: “include/asm-arm/mach-types.h”是最新的。 CHK include/linux/compile.h CHK usr/initramfs_list GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1/usr/local/arm/bin/arm-linux-ld:arch/arm/kernel/vmlinux.lds:782: parse errormake: * .tmp_vmlinux1 错误 1ld链接时产生错误对应行:/home/kevin/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_inf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版在线教育平台培训服务合同
- 2025版手机品牌专卖店抵押融资合同
- 2025年度生态住宅代理销售与生态环保合作协议
- 2025版教育培训机构合作合同到期续签范本
- 2025年度土地储备项目施工场地清理平整与土地平整工程合同
- 2025版环保处理设备转让与技术服务协议
- 2025年度商住两用房产代理销售执行协议
- 2025版智能电网外委施工安全责任协议书
- 2025年物流行业短信通知服务合作合同
- 2025年度影视广告制作与摄影摄像服务合同
- 流动式起重机械检验记录表
- 大学信息与网络安全保密管理办法
- 汽车保养基础知识优秀课件
- 青少年运动员 运动损伤的预防 课件
- 音乐《上学歌》课件
- 绿色校园创建资料
- 污水处理池 (有限空间)作业安全告知牌及警示标志
- 2022年十部经典的三级片电影
- 六三制新青岛版四年级科学上册第一单元《动物王国》全部课件(一共5课时)
- 顶推法钢箱梁安装施工方案
- 中国诗词协会入会申请表
评论
0/150
提交评论