下源码编译-编译安装Busybox源码

目录

Busybox 是一个遵循 GPL v2 合约的开源项目。 Busybox将许多UNIX命令集成到一个小的可执行程序中,可以用来替代GNU fileutils、shellutils和其他工具集。 与相应的GNU工具相比,Busybox中的各种命令可以提供的选项较少,但对于常见的应用来说已经足够了。 Busybox主要应用于嵌入式系统。

Busybox在编译过程中对文件大小进行了优化,并考虑了有限的系统资源(如显存等)。 与通常的GNU工具集通常有几M的体积相比,动态链接的Busybox只有几百K,即使是静态链接也只有1M左右。 Busybox按照模块进行设计,可以方便地添加或删除单个命令,或者增加或减少命令的单个选项。

创建根文件系统时源码编译,如果使用Busybox,只需要在/dev目录下创建必要的设备节点,并在/etc目录下减少一些配置文件即可。 当然,如果Busybox使用动态链接源码编译,还需要将库文件包含在/lib目录下。

wget https://busybox.net/downloads/busybox-1.27.1.tar.bz2 

tar -xjf busybox-1.27.1.tar.bz2 

cd busybox-1.27.1/
export TERM=vt100 

sudo make

编译错误:

util-linux/lib.a(fallocate.o): In function `fallocate_main':
fallocate.c:(.text.fallocate_main+0x88): undefined reference to `posix_fallocate'
collect2: ld returned 1 exit status
Note: if build needs additional libraries, put them in CONFIG_EXTRA_LDLIBS.
Example: CONFIG_EXTRA_LDLIBS="pthread dl tirpc audit pam"
make: *** [busybox_unstripped] Error 1

错误原因:未定义对“posix_fallocate”的引用

编译fallocate.c文件时提示我们没有找到posix_fallocate的声明或定义。 可能是我们的交叉编译器版本太旧了。

解决方案:

方法一、升级自己的交叉编译器;

方法2.不要在配置文件中启用该模块。 (前提是以后不会用到这个模块)

方法2的实现过程:

1.首先找到编译错误的c文件(fallocate.c)

find -iname fallocate.c

2.查看错误文件,找出错误函数

vim fallocate.c

3.查看配置文件

vim .config

下源码编译-编译安装Busybox源码

4.再次make menuconfig更改busybox配置

5.保存退出

6.再次编译

7. 须藤进行安装

好的!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 下源码编译-编译安装Busybox源码 https://www.wkzy.net/game/153113.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务