busybox文件系统制作

arm-linux下busybox文件系统制作

一、使用busybox制作rootfs

1.下载busybox源码

//源码下载地址、版本可根据自己需求来进行下载
https://www.busybox.net/downloads/

2.安装及相应配置

//将下载好的源码放入我们虚拟机中我这里使用的是乌班图18并进行解压

在这里插入图片描述

编译工具进行检查,在解压目录下makefile文件中进行修改,添加以下内容

在这里插入图片描述

3.make menuconfig配置

Busybox Settings--->
	Build Options--->
		[*]Build BusyBox as a static binary(no shared libs)
	
Busybox Library Tuning--->
	[*]vi-style line editing commands
	[*]Fancy shell prompts
	
	
Linux Module Utilities--->
	[ ]Simplified modutils
	[*]insmod
	[*]rmmod
	[*]lsmod
	[*]modprobe
	[*]depmod
Linux System Utilities--->[*]mdev
	[*]Support /etc/mdev.conf
	[*]Support subdirs/symlinks
	[*]Support regular expressions substitutions when renaming dev
	[*]Support command execution at device addition/removal
	[*]Support loading of firmwares

4.make

在进行make 编译时出现了以下错误,下面是错误的解决方法

错误1
networking/libiproute/ipaddress.c: In function 'print_addrinfo':
networking/libiproute/ipaddress.c:345: error: 'IFA_F_DADFAILED' undeclared (first use in this function)
networking/libiproute/ipaddress.c:345: error: (Each undeclared identifier is reported only once
networking/libiproute/ipaddress.c:345: error: for each function it appears in.)
scripts/Makefile.build:197: recipe for target 'networking/libiproute/ipaddress.o' failed
make[1]: *** [networking/libiproute/ipaddress.o] Error 1
Makefile:751: recipe for target 'networking/libiproute' failed
make: *** [networking/libiproute] Error 2

在这里插入图片描述

4.1解决方法

vim networking/libiproute/ipaddress.c 在345行加入条件编译

在这里插入图片描述

错误2
util-linux/lib.a(nsenter.o): In function `nsenter_main':
nsenter.c:(.text.nsenter_main+0x180): undefined reference to `setns'

在这里插入图片描述

4.2解决方法

在make menuconfig下去掉相应的配置选项

在这里插入图片描述

在这里插入图片描述

以上就是在make编译中遇到的问题,如果大家遇到了其他问题,也可按上述解决方式,如果报错的文件我们没有用到就在make menuconfig中去掉该配置选项

5.make install安装

在进行make install 时如果我们不指定安装路径则会在当前路径下生成一个_install 安装在该文件夹中,但一般来说我们在进行安装时会安装在自己选择的路径中,我们可以在Make menconfig中进行安装路径的更改。

在这里插入图片描述

在这里插入图片描述

出现下面内容则说明安装成功了

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我会尽力回答你的问题。首先,busybox是一个非常小巧的程序集合,它集成了许多常用的Linux工具,可以用来替代传统的Linux命令行工具,从而使得系统的启动时间更快、占用的空间更小。基于busybox的根文件系统可以使得系统更加轻量级,并且可以方便地定制。下面是实现基于busybox的根文件系统的步骤: 1. 下载busybox源代码,并编译生成busybox可执行文件。你可以从busybox的官网上下载源代码,然后使用make命令进行编译。 2. 创建一个新的目录作为根文件系统的挂载点。你可以使用mkdir命令创建一个空目录。 3. 将busybox可执行文件复制到根文件系统目录中。你可以使用cp命令将busybox可执行文件复制到根文件系统目录中。 4. 在根文件系统目录中创建必要的目录和文件。根据你的需求,你可以使用mkdir和touch命令创建必要的目录和文件。 5. 创建一个init脚本来启动系统。init脚本是系统的启动脚本,用来初始化系统并启动其他进程。你可以使用vi或者nano等编辑器创建init脚本。 6. 将根文件系统目录打包成一个镜像文件。你可以使用tar命令将根文件系统目录打包成一个tar包,然后使用mkfs命令将tar包转换成一个镜像文件。 7. 将镜像文件烧录到SD卡或者其他存储介质中。你可以使用dd命令将镜像文件写入到SD卡或者其他存储介质中。 以上就是基于busybox的根文件系统制作的基本步骤,你可以根据你的需求进行定制和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小殷学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值