【內核配置】二、linux內核菜單配置make menuconfig錯誤


主    機:VMWare--Ubuntu-16.04.2-x64-100ask
開發板:JZ2440--256M NandFlash, 2M NorFlash, 64M SDRAM, LCD-4.3寸;
bootlorder:u-boot1.16, Kernel:2.6.22.6;
編譯器:arm-linux-gcc-3.4.5

2018-10-15


 

1期~2期銜接課程,linux-2.6.22.6內核菜單配置之make menuconfig錯誤及解決:
第一步:內核配置及編譯
book@www.100ask.org:~/workbook/jz2440/system/linux-2.6.22.6$ make menuconfig
Makefile:416: *** mixed implicit and normal rules: deprecated syntax
Makefile:1449: *** mixed implicit and normal rules: deprecated syntax
make: *** No rule to make target 'menuconfig'. Stop.
File: Makefile
416 config %config: scripts_basic outputmakefile FORCE
417 $(Q)mkdir -p include/linux include/config
418 $(Q)$(MAKE) $(build)=scripts/kconfig $@
...
1448 # Modules
1449 / %/: prepare scripts FORCE
1450 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
1451 $(build)=$(build-dir)
1452 %.ko: prepare scripts FORCE
1453 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
1454 $(build)=$(build-dir) $(@:.ko=.o)
1455 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
...
問題:是因為make工具的版本原因嗎?怎么修改?
答:參考韋東山老師的博客,如下:

===================================================================
配置linux-2.6.22.6內核出現如下錯誤:
linux-2.6.22.6$make menuconfig
Makefile:416:*** mixed implicit and normal rules: deprecated syntax
Makefile:1449:*** mixed implicit and normal rules: deprecated syntax
make:*** No rule to make target 'menuconfig'. Stop.
解決方法:
修改linux-2.6.22.6 頂層Makefile 416行:
config%config: scripts_basic outputmakefile FORCE
改為:
%config:scripts_basic outputmakefile FORCE

修改linux-2.6.22.6 頂層 Makefile 1449行:
/%/: prepare scripts FORCE
改為:
%/:prepare scripts FORCE

===================================================================

------------------------------------------------
第二步:
用第一步的方法修改Makefile之后,執行命令:make menuconfig;重新出現的問題:
/home/book/workbook/jz2440/system/linux-2.6.22.6/scripts/kconfig/Makefile:14: recipe for target 'menuconfig' failed
make[1]: *** [menuconfig] Segmentation fault (core dumped)
Makefile:421: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2
book@www.100ask.org:~/workbook/jz2440/system/linux-2.6.22.6$
解決方法:
sudo apt-get install libncurses*

至此,問題完全解決。


注:
1)makefile:2: *** missing separator. Stop. make 之后出現的錯誤,解決方法:
在gcc -o hello helloword.c前面用TAB鍵,而不是空格空格空格….


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM