首页 > 系统教程 > LINUX > 正文

手把手教你构建linux rootfs

王林
发布: 2024-02-05 15:51:16
转载
666人浏览过

busybox概述

众所周知,在linux环境下,一切皆文件,文件可以表示一切。而文件系统则是这些普通组件的集合。在嵌入式领域中,常常使用基于busybox构建的rootfs来构建文件系统。

busybox诞生至今已有近20年的历史,如今已成为嵌入式行业中主流的rootfs构建工具。

busybox的代码是完全开源的。你可以进入官方网站,点击”Get BusyBox”下面的”Download Source”进入源码下载界面。

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

手把手教你构建linux rootfs

2. busybox的配置及编译

下载源码之后将源码拷贝到编译环境中,在编译前需要对busybox进行配置,主要涉及三方面的内容:

\1. 编译工具链设置

\2. 编译模式设置

\3. 文件系统支持的功能

前两项为必须完成的,而第三点根据用户自己的需求自行制定。
执行make menuconfig进入配置界面。

手把手教你构建linux rootfs

编译工具链设置

设定的交叉编译工具链要同kernel编译时使用的工具链一样,例如将交叉编译工具链设置为arm-linux-gnueabi-,则进入到build options中进行设置。手把手教你构建linux rootfs

当然,也可以进入到根目录下的Makefile文件中修改对应的交叉编译工具链以及平台信息等。手把手教你构建linux rootfs

编译模式设置

设置编译出的镜像文件是静态还是动态的,若是动态编译,需要手动将交叉编译工具链下的lib库拷贝到最终的_install文件夹下面,反之则不需要。静态编译的配置如下,可以看到括号内的提示是不包含共享库。该项不使能则编译方式为动态的。手把手教你构建linux rootfs

**设定rootfs支持的功能

**

busybox可以支持上百种命令行及其他功能,根据自己的需求可进行增减,例如增加devmem命令行,则勾选上对应的使能框。

手把手教你构建linux rootfs手把手教你构建linux rootfs

编译

执行make、make install后,在编译路径下会生成_install文件夹,里面包含bin、sbin、usr等文件。查看刚添加的devmem命令,发现已经编译出来了。手把手教你构建linux rootfs

此时将busybox下编译出来的_install拷贝出来,作为rootfs的基本框架,然后再增添其他必须的组件即可。

3.构建rootfs

将_install下的所有文件拷出并创建lib、etc文件夹,然后将交叉编译工具链arm-linux-gnueabi下的lib库拷贝到创建的lib文件夹下。

手把手教你构建linux rootfs

然后再依次创建home、opt、run、sys、var、boot、dev 、media、proc、tmp、usr

手把手教你构建linux rootfs

配置etc目录

  • 创建fstab文件
手把手教你构建linux rootfs
  • 创建inittab文件
手把手教你构建linux rootfs
  • 创建rcS文件

在创建rcS文件前需要在etc目录下手动创建init.d文件夹,并在init.d文件夹下创建rcS。

手把手教你构建linux rootfs

至此,执行下面的命令,就可以打包生成一个最轻量级的rootfs了。

tar -jcvf rootfs.tar.bz2 *
登录后复制
手把手教你构建linux rootfs

4.文件系统验证

使用mfgtools将压缩好的rootfs.tar.bz2下载到mmc中,再次启动系统,可以看到制作的根文件系统已经可以正常工作,我们之前添加的devmem命令也可以正常执行。

手把手教你构建linux rootfs

以上就是手把手教你构建linux rootfs的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:良许Linux教程网网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号