也許很多人都知道,ARM裸機1期加強版課程用的是ubuntu 16.04,當用這個ubuntu編譯內核和制作文件系統的時候會出現一些問題,售后團隊用了一天時間找到了如下解決方法。
更多干貨關注威信訂閱號baiwenkeji
|
1.
編譯busybox-1.23.2:
出現錯誤:
scripts/kconfig/Makefile:14: recipe for target 'menuconfig' failed
解決方法:安裝2個庫
sudo apt-get install libncurses5-dev libncursesw5-dev
2.
編譯busybox-1.7.0出現如下錯誤:
busybox-1.7.0$make menuconfigMakefile:405:*** mixed implicit and normal rules: deprecated syntaxMakefile:1242:*** mixed implicit and normal rules: deprecated syntaxmake:*** No rule to make target 'menuconfig'. Stop.
分析原因:
新版Makefile不支持這樣的組合目標:config %config(一個有通配符,另一個沒有通配符)
解決方法:
要么把config %config拆成2個規則,要么把其中一個目標去掉。
所以,
a.修改busybox-1.7.0 頂層Makefile 405行:
config%config: scripts_basic outputmakefile FORCE改為:%config:scripts_basic outputmakefile FORCE
b.修改busybox-1.7.0 頂層Makefile 1242行:
/%/: prepare scripts FORCE改為:%/:prepare scripts FORCE
3.
配置linux-2.6.22.6內核出現如下錯誤:
linux-2.6.22.6$make menuconfigMakefile:416:*** mixed implicit and normal rules: deprecated syntaxMakefile:1449:*** mixed implicit and normal rules: deprecated syntaxmake:*** 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