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

交叉编译busybox相关推荐

  1. 深度剖析E680G开发二.交叉编译BusyBox与图形化程序

    深度剖析E680G开发二.交叉编译BusyBox,图形化程序 草木瓜 20060917 一.前言         很多人看到这个剖析系列,觉得难了,其中不乏热衷于刷机的人.刚刚接触 E680g的普通人 ...

  2. 深度剖析E680G开发二.交叉编译BusyBox,图形化程序

    一.前言         很多人看到这个剖析系列,觉得难了,其中不乏热衷于刷机的人.刚刚接触 E680g的普通人理解起来固然有些困难,然对于一个经常刷来刷去的"高手",就 说不过去 ...

  3. android 的交叉编译连,Android交叉编译busybox 1.8,dropbear 0.53

    网上下的busybox多半是1.4的 新编译的BusyBox v1.18.4的多了不少命令,ash还能显示颜色,非常好用. 网上找到的dropbear是多半是0.4的,0.52那个交叉编译相关的文章里 ...

  4. BusyBox 的配置

    BusyBox ( http://www.busybox.net) 将数以百计的常用Unix/Linux命令集成到一个可执行文件中(名为busybox).它体积小巧, 功能却不失强大. 常用Linux ...

  5. 交叉编译知识解析(一) —— 交叉编译和交叉工具链

    一.交叉编译简介 1.什么是交叉编译 1.1 本地编译 解释什么是交叉编译之前,先要明白一个概念:本地编译 我们之前常见的软件开发,都是属于本地编译:在当前的PC下,x86的CPU下,直接编译出来程序 ...

  6. 【交叉编译】什么是交叉编译,为何要有交叉编译?

    一.交叉编译简介 1.什么是交叉编译 1.1 本地编译 解释什么是交叉编译之前,先要明白一个概念:本地编译 我们之前常见的软件开发,都是属于本地编译:在当前的PC下,x86的CPU下,直接编译出来程序 ...

  7. 使用BusyBox制作linux根文件系统(CramFS+mdev)

    摘自:http://m.blog.chinaunix.net/uid-23089249-id-34501.html 操作系统:Ubuntu9.04 内核版本:linux-2.6.24.7   开发板: ...

  8. 使用BusyBox制作linux根文件系统

    操作系统:Ubuntu9.04 内核版本:linux-2.6.24.7 开发板:博创arm2410s 交叉编译工具:arm-linux-gcc-4.1.1 BusyBox:busybox-1.11.1 ...

  9. android 编译busybox,给android添加busybox

    默认状况下,android使用的是精简的toolbox工具,相对习惯了busybox的朋友来讲,使用toolbox 简直没法忍受.网上介绍了一些移植busybox到android平台的文章,可是用起来 ...

最新文章

  1. 牛客多校3 - Sort the Strings Revision(笛卡尔树+分治)
  2. 2018-2019-2 20175230 实验三《Java面向对象程序设计》实验报告
  3. Python搭建环境
  4. cmd命令打开文本文档_Windows常用CMD网络命令
  5. c语言写法方法加_void,c语言加法程序怎么写
  6. 关于如何提取仙剑奇侠传4的模型
  7. 中望cad文字显示问号怎么办_中望CAD钢筋符号显示为问号怎么办?
  8. 精准目标群体,精确博客选择——谈feedsky经典博客Market力作
  9. 微博话题墙 html,Js仿微博插入话题功能
  10. c# chart 各个属性_C# Chart各个属性详细解析、应用
  11. 傻瓜式脱壳保姆级教学
  12. 文献阅读笔记怎么写?
  13. 如何在Mac系统上查看端口占用和释放端口的情况?
  14. antv G6 + react umi(vue,ng) 实现节点红点(badges)
  15. 罗技c270摄像头支持linux,电信局点使用罗技C270摄像头调试指导
  16. mdio clause22 clause45以及marvell直接寻址/间接寻址的使用说明--基于mv88e6390 交换机
  17. 超牛逼的性能调优神器 — 火焰图
  18. 安装OBS搭建录屏和直播间遇到的问题及处理解决(版本24.0.3)汇总
  19. 计算机网络毕业论文搭建服务,网络搭建毕业论文
  20. 如何制作9.png图片

热门文章

  1. import java.awt.BorderLayout;_AWT BorderLayout
  2. Error mounting /dev/sda2 at /media/mk90/F: Command-line `mount -t ntfs -o
  3. activemq中的selector
  4. GCC Arm 12.2编译提示 LOAD segment with RWX permissions 警告
  5. mysql8 1251错误_navicat错误1251
  6. windowsphone8资料整理
  7. ansible 的常用模块操作
  8. Windos上安装VirtualBox和Vagrant
  9. 教你做IOS推送 包会!
  10. 先电openstack云计算比赛个人记录