如何使用busybox编译和生成最简lin

发布网友 发布时间:2022-04-21 09:00

我来回答

1个回答

热心网友 时间:2023-07-18 05:47

在ubuntu系统下创建一个rootfs目录,用于存放busybox生成的根文件系统,也可设置为nfs的挂载目录,直接通过网络文件系统进行挂载,便于开发。我自己就将该目录创建在/opt/FriendlyARM/mini2440/rootfs处。并在该目录下创建一些必备的子目录:

leon@Ubuntu:/opt/FriendlyARM/mini2440/rootfs$ mkdir bin dev etc proc sbin sys tmp usr leon@Ubuntu:/opt/FriendlyARM/mini2440/rootfs$ ls bin dev etc proc sbin sys tmp usr

1、修改Makefile配置

进入busybox目录,修改Makefile文件,在文件头处加入内容如下:

ARCH ?= arm CROSS_COMPILE ?= arm-linux-

2、修改配置文件

make menuconfig

选择Busybox Settings—>

1、Build Options—>,选择[*] Build Busybox as a static binary(no shared libs); 2、Installtion Options,在busybox instantlltionprefix一栏中,输入你想要创建rootfs的目录。比如我的是/opt/FriendlyARM/mini2440/rootfs。

3、去掉Coreutils—>sync选项;

4、去掉Linux System Utilities—>nsenter选项;

保存,退出。

3、编译源码

输入make,进行编译;这其中估计会遇到一些错误,可参见我的另外一篇博客(linux(ubuntu)编译busybox遇到的问题处理办法)。编译成功后,会给出以下提示:

LINK busybox_unstripped Static linking against glibc, can't use --gc-sections Trying libraries: crypt m Library crypt is not needed, excluding it Library m is needed, can't exclude it (yet) Final link with: m DOC busybox.pod DOC BusyBox.txt DOC busybox.1 DOC BusyBox.html

编译通过之后,输入make install命令进行安装,busybox会自动将rootfs根文件系统安装到之前设置的目录下。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com