• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard ELF 1板卡-busybox构建根文件系统之Busybox编译

06/18 11:48
751
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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

一、源码下载

进入busybox网址https://busybox.net/,下载最新版本busybox1.32.1。本人没有测试过该版本的稳定性,本教程主要讲解如何使用busybox构建文件系统,如果有同学发现该版本存在稳定性问题,请及时更换以前旧版本。然后将busybox1.32.1拷贝到Ubuntu /home/elf/work/中,解压缩。

二、编译配置

在编译busybox之前需要对busybox进行配置,配置方法如下:

(一)生成.config

进入busybox1.32.1目录后,使用命令:

elf@ubuntu:~/work/busybox-1.32.1$ make menuconfig

产生.config配置文件

注意:default为默认配置,除了defconfig默认配置,另外还有allyesconfig(全选最大系统配置)和allnoconfig(最小系统配置),我们这里使用默认配置进行。

(二)配置

使用make menuconfig命令,按需修改配置:

elf@ubuntu:~/work/busybox-1.32.1$ make menuconfig

进入图形界面之后,进入Setting目录下,添加交叉编译工具相关内容。在Cross compiler prefix中设置:

arm-poky-linux-gnueabi-

在Path to sysroot中设置:

/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi

在Additional CFLAGS中设置:

-O2 -pipe -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7

仍然在Setting目录下,选中vi-style line editing commands项:

其他配置我们使用默认值,配置选项可根据需要自行增减,一路Exit,最后Yes保存退出。

三、编译

配置完成之后,开始进行编译,使用以下命令编译,设置交叉编译:

. /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

进行编译,并将生成的rootfs安装到nfs_rootfs/rootfs文件夹下:

elf@ubuntu:~/busybox-1.32.1$ make install CONFIG_PREFIX=/home/elf/nfs_rootfs/rootfs

编译完成:

然后进入到home/elf/nfs_rootfs/rootfs目录下,可以看到生成的目录文件:

elf@ubuntu:~/nfs_rootfs/rootfs$ ls

bin ?linuxrc ?sbin ?usr

相关推荐