交叉编译busybox

1、下载busybox源码

busybox官方地址:https://busybox.net/

这里示例所下载的版本是 busybox-1.32.0.tar.bz2

2、解压源码并进行配置

busybox提供了几种配置:defconfig(缺省配置)、allyesconfig(最大配置)、allnoconfig(最小配置),一般选择缺省配置即可:

# tar xvf busybox-1.32.0.tar.bz2
# cd busybox-1.32.0/
# make defconfig

完成后,还可输入make menuconfig以图形化的方式对配置进行调整,这里不过多说明。

3、添加交叉编译工具链路径到环境变量

例如我的交叉编译工具链的路径是:
/home/share/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/

那么执行:

# export PATH=$PATH:/home/share/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin

4、使用交叉编译工具进行编译

例如我的gcc编译工具名称是 aarch64-linux-gnu-gcc,则执行:

# make CROSS_COMPILE=aarch64-linux-gnu-

5、编译完成,检查文件类型

编译完成后,在当前文件夹下生成busybox文件,同时保留了未stripped的版本busybox_unstripped;

查看busybox文件信息,为64位小端arm版本:

# file busybox
busybox: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=02e7acdb21accf4ae54855defa47d93a512c7beb, stripped

6、将生成的busybox上传到板子上测试

可以使用scp、ftp、lrzsz、tftp等命令,能把文件传到嵌入式设备上就行;

例如使用tftp,PC(IP:10.5.1.86)开启tftpd程序后,在嵌入式设备获取busybox文件并添加执行权限:

# tftp -g -r busybox 10.5.1.86
# chmod +x busybox

busybox有三种使用方式:

一是执行busybox后面紧跟对应命令,例如:

# ./busybox pwd
/tmp

二是拷贝busybox成命令名称,直接执行,例如:

# cp busybox pwd
# ./pwd
/tmp

三是创建到busybox的软连接(推荐),例如:

# ln -s busybox pwd
# ./pwd
/tmp

7、查看busybox用法及支持命令列表

# ./busybox --help
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值