linux2.6.34编译安装,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

9da73c92d905a66f768f8484aa5235b7.png

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 翻译为中文:混合的和隐含普通规则(下图不是我的,只是拿来表示状态)

7fa8be21036f27c8577c9625ae0ef364.png

看完博客之后发现可以这样解决:

1在makefile中将416行代码(不同的版本有所差异,不够都在附近)

config %config:scripts_basic outputmakefile FORCE

改为

%config:scripts_basic outputmakefile FORCE

2在makefile中将1449行代码(不同的版本有所差异,不够都在附近)

/%/:prepare scripts FORCE

改为

%/: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就解决了我的问题!!

209b65f6e108c34ca3d745343d1c003b.png

sudo apt-get install libncurses5-dev

交叉编译器区别和概念:

busybox编译错误:

根文件系统制作:

ramdisk只读文件系统制作:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值