busybox linux-2.6.2 編譯安裝中碰到的若干問題


Q1   /busybox-1.18.4/scripts/gcc-version.sh: line 11: arm-linux-gcc: command not found

1.問題:/home/ubuntu-mm/HardWare/S3C2440_Board/Linux_uImage/busybox-1.18.4/scripts/gcc-version.sh: line 11: arm-linux-gcc: command not found

2.解決方法:修改Makefile文件

進入busybox目錄

vim  Makefile

將ARCH  ?= $(SUBARCH) 修改為

ARCH   ?= arm

將CROSS_COMPILE ?=   修改為

CROSS_COMPILE ?= arm-linux-

(這里一定要注意的是arm和arm-linux-后面不能有空格,在編譯內核源代碼的時候也一定要注意這個問題)

3. 執行source /etc/profile使編譯器生效

4. make menuconfig配置busybox選項:

a.進入 Busybox Settings à

build Options->

選中 “Build busybox as a static binary”, 靜態鏈接
   Cross Compiler prefix (arm-linux-)
   Installation Options->
   Busybox Installation Prefix (/xxx/rootfs)

該選項表明編譯后的busybox的安裝位置

5.最重要的問題:

一定要用root權限來做busybox和linux kernel的編譯,也就是說在你開發編譯這些文件之前,首先的事情是su

su

passwd:

root@ubuntu:/home/ubuntu-mm/HardWare/S3C2440_Board/Linux_uImage/busybox-1.18.4# make CONFIG_PREFIX=/home/ubuntu-mm/HardWare/S3C2440_Board/Linux_uImage/RootFileSys/rootfs install

這樣進入到root權限之后就沒啥問題了!

Q2 linux-2.6.22.6/Makefile:416: *** mixed implicit and normal rules: deprecated syntax

后面我在Ubuntu Kylin版本下安裝 交叉編譯環境arm-linux-gcc 安裝了libncourses*等內核編譯的庫 安裝了cmake&make

結果在我編譯內核文件和busybox都出現了同樣的錯誤:

linux-2.6.22.6/Makefile:416: *** mixed implicit and normal rules: deprecated syntax

linux-2.6.22.6/Makefile:1449: *** mixed implicit and normal rules: deprecated syntax  翻譯為中文:混合的和隱含普通規則(下圖不是我的,只是拿來表示狀態)

看完博客之后發現可以這樣解決:

1在makefile中將416行代碼(不同的版本有所差異,不夠都在附近)

  1. config %config: scripts_basic outputmakefile FORCE
改為
  1. %config: scripts_basic outputmakefile FORCE
2在makefile中將1449行代碼(不同的版本有所差異,不夠都在附近)
  1. / %/: prepare scripts FORCE
改為
  1. %/: prepare scripts FORCE

Q3 libstdc++.so.6: cannot open shared object file

改完上面的Q1Q2之后我的編譯還是不能通過,告訴我說缺少了lib32stdc++的庫,錯誤如下:

 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 。好吧那我安裝總該可以了吧:

sudo apt-get install lib32stdc++6

安裝完之后再make就解決了我的問題!!

sudo apt-get install libncurses5-dev

 

交叉編譯器區別和概念:

https://www.cnblogs.com/xiaotlili/p/3306100.html

busybox編譯錯誤:

https://www.cnblogs.com/softhal/p/5769121.html

根文件系統制作:

https://blog.csdn.net/qq_16777851/article/details/82056774

ramdisk只讀文件系統制作:

https://www.cnblogs.com/electronic/p/11146614.html


免責聲明!

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



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