前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Busybox编译安装「建议收藏」

Busybox编译安装「建议收藏」

作者头像
全栈程序员站长
发布2022-09-13 09:53:42
2K0
发布2022-09-13 09:53:42
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

Busybox

1 Busybox介绍
在这里插入图片描述
在这里插入图片描述

Busybox 最初是由 Bruce Perens 在 1996 年为 Debian GNU/Linux 安装盘编写的。其目标是在一张软盘(存储空间只有1MB多)上创建一个GNU/Linux 系统,可以用作安装盘和急救盘

Busybox 是一个开源项目,遵循GPL v2协议。Busybox将众多的UNIX命令集合进一个很小的可执行程序中,可以用来替代GNU fileutils、shellutils 等工具集。Busybox中各种命令与相应的GNU工具相比,所能提供的选项比较少,但是也足够一般的应用了。Busybox主要用于嵌入式系统

Busybox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux 的许多工具和命令,也包含了 Android 系统的自带的shell

定制小型的Linux操作系统:linux内核+busybox

官方网站:https://busybox.net/

2 Busybox使用

busybox 的编译过程与Linux内核的编译类似

busybox的使用有三种方式:

  • busybox后直接跟命令,如 busybox ls
  • 直接将busybox重命名,如 cp busybox tar
  • 创建符号链接,如 ln -s busybox rm

busybox的安装

以上方法中,第三种方法最方便,但为busybox中每个命令都创建一个软链接,相当费事,busybox提供自动方法:busybox编译成功后,执行make install,则会产生一个_install目录,其中包含了busybox及每个命令的软链接

3 busybox编译安装
代码语言:javascript
复制
[root@centos7 ~]#yum -y install gcc gcc-c++ glibc glibc-devel make pcre pcredevel openssl openssl-devel systemd-devel zlib-devel glibc-static ncurses-devel

[root@centos7 ~]#wget https://busybox.net/downloads/busybox-1.31.1.tar.bz2

[root@centos7 ~]#tar xvf busybox-1.31.1.tar.bz2 
[root@centos7 ~]#cd busybox-1.31.1/
[root@centos7 busybox-1.31.1]#make menuconfig 
#按下面选择,把busybox编译也静态二进制、不用共享库:Settings -->Build Options -->[*] Build static binary (no shared libs)

[root@centos7 busybox-1.31.1]#make 
#如果出错,执行make clean后,重新执行上面命令
[root@centos7 busybox-1.31.1]#ls 
[root@centos7 busybox-1.31.1]#make install 
[root@centos7 busybox-1.31.1]#pwd
/root/busybox-1.31.1
[root@Centos7 busybox-1.31.1]#ls
applets                 debianutils  loginutils              qemu_multiarch_testing
applets_sh              docs         mailutils               README
arch                    e2fsprogs    Makefile                runit
archival                editors      Makefile.custom         scripts
AUTHORS                 examples     Makefile.flags          selinux
busybox                 findutils    Makefile.help           shell
busybox.links           include      make_single_applets.sh  size_single_applets.sh
busybox_unstripped      init         miscutils               sysklogd
busybox_unstripped.map  _install     modutils                testsuite
busybox_unstripped.out  INSTALL      networking              TODO
Config.in               klibc-utils  NOFORK_NOEXEC.lst       TODO_unicode
configs                 libbb        NOFORK_NOEXEC.sh        util-linux
console-tools           libpwdgrp    printutils
coreutils               LICENSE      procps
[root@Centos7 busybox-1.31.1]#ll busybox -h
-rwxr-xr-x 1 root root 2.6M May 14 09:35 busybox

[root@Centos7 busybox-1.31.1]#ls _install/
bin  linuxrc  sbin  usr
[root@Centos7 busybox-1.31.1]#ls _install/bin
arch     cttyhack       fdflush   kbd_mode  mknod       ping           run-parts     tar
ash      date           fgrep     kill      mktemp      ping6          scriptreplay  touch
base64   dd             fsync     link      more        pipe_progress  sed           true
busybox  df             getopt    linux32   mount       printenv       setarch       umount
cat      dmesg          grep      linux64   mountpoint  ps             setpriv       uname
chattr   dnsdomainname  gunzip    ln        mpstat      pwd            setserial     usleep
chgrp    dumpkmap       gzip      login     mt          reformime      sh            vi
chmod    echo           hostname  ls        mv          resume         sleep         watch
chown    ed             hush      lsattr    netstat     rev            stat          zcat
conspy   egrep          ionice    lzop      nice        rm             stty
cp       false          iostat    makemime  nuke        rmdir          su
cpio     fatattr        ipcalc    mkdir     pidof       rpm            sync

[root@Centos7 busybox-1.31.1]#find _install/ -type l |wc -l
396
[root@Centos7 busybox-1.31.1]#du -sh _install/
2.6M	_install/

[root@Centos7 busybox-1.31.1]#mkdir /mnt/sysroot/
[root@Centos7 busybox-1.31.1]#cp -a _install/* /mnt/sysroot/
在这里插入图片描述
在这里插入图片描述

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159989.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Busybox
    • 1 Busybox介绍
      • 2 Busybox使用
        • 3 busybox编译安装
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档