搜索
首页系统教程LINUX手把手教你构建linux rootfs

手把手教你构建linux rootfs

Feb 05, 2024 pm 03:51 PM
linuxlinux教程linux系统linux命令外壳脚本overflow良好的许可证linux入门linux学习

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中文网其他相关文章!

声明
本文转载于:良许Linux教程网。如有侵权,请联系admin@php.cn删除
比较和对比Linux和Windows的安全模型。比较和对比Linux和Windows的安全模型。Apr 24, 2025 am 12:03 AM

Linux和Windows的安全模型各有优势。Linux提供灵活性和可定制性,通过用户权限、文件系统权限和SELinux/AppArmor实现安全。Windows则注重用户友好性,依赖WindowsDefender、UAC、防火墙和BitLocker保障安全。

Linux和Windows之间的硬件兼容性有何不同?Linux和Windows之间的硬件兼容性有何不同?Apr 23, 2025 am 12:15 AM

Linux和Windows在硬件兼容性上不同:Windows有广泛的驱动程序支持,Linux依赖社区和厂商。解决Linux兼容性问题可通过手动编译驱动,如克隆RTL8188EU驱动仓库、编译和安装;Windows用户需管理驱动程序以优化性能。

Linux和Windows之间虚拟化支持有哪些差异?Linux和Windows之间虚拟化支持有哪些差异?Apr 22, 2025 pm 06:09 PM

Linux和Windows在虚拟化支持上的主要区别在于:1)Linux提供KVM和Xen,性能和灵活性突出,适合高定制环境;2)Windows通过Hyper-V支持虚拟化,界面友好,与Microsoft生态系统紧密集成,适合依赖Microsoft软件的企业。

Linux系统管理员的主要任务是什么?Linux系统管理员的主要任务是什么?Apr 19, 2025 am 12:23 AM

Linux系统管理员的主要任务包括系统监控与性能调优、用户管理、软件包管理、安全管理与备份、故障排查与解决、性能优化与最佳实践。1.使用top、htop等工具监控系统性能,并进行调优。2.通过useradd等命令管理用户账户和权限。3.利用apt、yum管理软件包,确保系统更新和安全。4.配置防火墙、监控日志、进行数据备份以确保系统安全。5.通过日志分析和工具使用进行故障排查和解决。6.优化内核参数和应用配置,遵循最佳实践提升系统性能和稳定性。

很难学习Linux吗?很难学习Linux吗?Apr 18, 2025 am 12:23 AM

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的薪水是多少?Linux管理员的薪水是多少?Apr 17, 2025 am 12:24 AM

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要目的是什么?Linux的主要目的是什么?Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网在Linux上运行吗?互联网在Linux上运行吗?Apr 14, 2025 am 12:03 AM

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)