配置和编译busybox相关问题(Ubuntu 制作最小系统)

在开始之前,最好进入到root模式下。

首先配置busybox,在虚拟机的 Ubuntu 的目录“/home”下新建目录“mkdir minilinux”,这个目录可以根据个人习惯建立


拷贝 busybox-1.21.1.tar.bz2到虚拟机的 Ubuntu 系统上的目录“/home/minilinux”下,然后在目录“/home/minilinux”下,执行解压命令“tar -xvf busybox-1.21.1.tar.bz2”解压完成后如下图。


进入到 busybox-1.22.1 目录中,使用命令“make menuconfig”如下图


这时候,有人进不去如下界面,会有错误出现


错误主要时由于对库的支持不全,可以用下面的命令:

sudo apt-get install build-essential 
sudo apt-get install libncurses5 

sudo apt-get install libncurses5-dev 

这个时候基本上在make menuconfig时就可以进入上面界面了,然后选中 Busybox Settings,然后按回车进入到 BusyboxSettings 界面,如下图。


在 Busybox Settings 配置选项里面需要修改两个地方,第一个是 Build Optiions-> CrossCompiler prefix,它是指定用什么编译器来编译 Busybox,选中 Build Options 如上图,然后按回车,进入到 Build Options 配置界面,如下图


选中 Build Options 配置界面的 Cross Compiler prefix 如上图,然后按回车,进入 CrossCompiler prefix 配置界面,输入使用的交叉编译工具 arm-none-linux-gnueabi-,如下图


然后使用键盘的左右按键选中 Exit,回到 Busybox Settings 设置界面选中 Installation Options ,然后按回车,进入 Installation Options 配置界面,如下图


选中 BusyBox installation prefix 如上图所示,然后按回车进入 BusyBox installationprefix 配置界面(这个界面是设置编译完 Busybox,把最终生成的二进制文件安装到哪个目录下面),如下图


删除上图里面的./_install,然后输入“../system”(最终生成的二进制文件会安装到当前目录的上一级目录下的 system 目录里面,注意有两个点),如下图


然后Exit,一直退出,保存配置,退出到终端界面。这时候有的人会发现界面显示有一些信息如下图:


找不到文件或者是arm-linux-gcc找不到,这个时候你需要做下面事情解决

首先查看自己是否安装交叉编译环境,用arm-linux-gcc -v来查看,如下图表示正常


如不是,则需要安装编译环境,可参考此链接https://blog.csdn.net/gsh_hello_world/article/details/70237123,这里要注意,你的编译器会影响到后面编译busybox,编译器最好使用匹配的,这里需要特别注意,切记切记切记。

还有的找不到文件或者其他问题(在root下问题会减少许多),可以参考下面命令:

sudo apt-get install libstdc++6 

sudo apt-get install lib32stdc++6

安装相应库和包等。

接下来进行编译和安装 Busybox,现在 Busybox 的配置已经完成了,接下来开始编译 Busybox,终端输入make命令开始编译 Busybox,如下图。


编译过程中出现错误可以参考此链接https://blog.csdn.net/leon1741/article/details/54838924

如下图所示,编译完成


然后make install安装二进制文件到“../system”目录。如下图完成


查看system文件如下图


至此busybox配置和编译完成。

有遇到其他问题的小伙伴可以评论留言一起探讨。

猜你喜欢

转载自blog.csdn.net/lly374685868/article/details/80611741