编译&更新busybox

测试速度时候需要使用time命令,现在使用的busybox没有提供,自己重新编译新的busybox。

1. 从www.busybox.net下载最新版本1.7.2;
2. 解压缩,进入目录;
3. 执行"make menuconfig"发现默认大多数cmd都选中了,就按照默认的来编译吧,除了
miscutil->taskset
    导致错误miscutils/taskset.c:17: error: parse error before '*' token
linuxmod->kernel-2.4 support
    导致错误In function `insmod_main': undefined reference to `query_module'
应该是arm-linux-gcc的glibc版本和busybox版本的匹配出了问题;
4. 修改Makefile内容,令CROSS_COMPILE ?=arm-linux- ARCH ?= arm;
这里必须在Makefile中指定ARCH=arm,如果只是在编译的时候指定"make CROSS_COMPILE=arm-linux- ARCH=arm",那么make install的时候会重新编译,得到的busybox是i386架构的,从而导致cp生成的cmd到rootfs处时,系统启动时候会提示:
    “request_module: runaway loop modprobe binfmt-464c”
5. 执行make得到busybox,执行make install在"busybox_$(VERSION)/_install"下得到bin, sbin, usr/bin, usr/sbin等。
6. 拷贝_install/下的所有内容到/data/rootfs2.6下替换原来的东西。
7. 在/data/rootfs2.6下执行
    mknod dev/null c 1 3
    chmod 666 dev/null
否则启动时候提示:
    init: can't open '/dev/null': No such file or directory
不知道why新编译出来的需要访问/dev/null设备。

参考文档:
 http://weibing.blogbus.com/logs/4453804.html
 http://www.hhcn.com/cgi-bin/topic.cgi?forum=3&topic=380&start=0&show=50
BusyBox 是一个集成了一百多个最常用 Linux 命令和工具(如 ash、awk、sed、grep、mount 等)的单一可执行文件。它非常适合用于嵌入式系统,因为它的体积小且功能强大。编译 BusyBox 可以根据需要进行配置和裁剪,以适应特定的需求。以下是编译 BusyBox 的基本步骤: 1. **获取源码**: 首先,从官方网站或 Git 仓库下载 BusyBox 的源码包。 ```bash wget https://busybox.net/downloads/busybox-<version>.tar.bz2 tar -xvjf busybox-<version>.tar.bz2 cd busybox-<version> ``` 2. **配置**: 使用 `make menuconfig` 命令进入配置界面,根据需要进行配置。 ```bash make menuconfig ``` 在配置界面中,可以选择需要编译的命令和功能。 3. **编译**: 配置完成后,使用 `make` 命令进行编译。 ```bash make ``` 编译完成后,会生成一个 `busybox` 可执行文件。 4. **安装**: 将编译好的 `busybox` 文件安装到目标系统的目录中,通常是 `/usr/bin` 或 `/bin`。 ```bash make install ``` 这将把 `busybox` 文件和相关符号链接安装到指定的目录中。 5. **部署**: 将编译好的 BusyBox 部署到目标设备上,可以通过挂载文件系统或使用其他传输方式。 6. **测试**: 在目标设备上测试 BusyBox 的功能,确保所有命令都能正常工作。 ```bash # 示例:编译并安装 BusyBox wget https://busybox.net/downloads/busybox-<version>.tar.bz2 tar -xvjf busybox-<version>.tar.bz2 cd busybox-<version> make menuconfig make make install ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值