当前位置: 首页 > article >正文

根文件系统ROOTFS

一、根文件系统的概述

        根文件系统rootfs仅仅就是一个代名词,什么都不是从它包含的内容角度考虑,根文件系统rootfs包含的内容如下: 也就是进入linux系统之后执行:cd /然后ls看到的内容,组成根文件系统,例如:

        bin目录:保存普通用户命令的目录

        sbin目录:保存超级用户命令的目录

        etc目录:保存系统配置文件的目录

        lib目录:保存各种库文件的目录

        等等

        注意:EXT4,NTFS,FAT32等他们都是一种文件系统格式,就是一种管理目录和文件的方式方法,例如:单个文件超过4GB,NTFS文件系统格式可以管理,而FAT32文件系统格式无法管理,说明不同的文件系统格式管理目录和文件的方式方法不一样而根文件系统rootfs就是由一堆的目录和文件组成,用户想要看到所以必须采用一种文件系统格式

        总结:根文件系统并不等价于文件系统,根文件系统是软件层面上的解释,但是根文件系统要想展示其目录和文件必须使用某一个文件系统。

必要的八大目录:

        bin目录:保存普通用户命令的目录

        sbin目录:保存超级用户命令的目录

        lib目录:保存各种库文件的目录

        etc目录:保存系统配置文件的目录

        usr目录:保存其它命令或者库文件的目录

        dev目录:保存设备文件,跟驱动相关

        proc目录:跟驱动相关

        sys目录:跟驱动相关

        注意:dev,proc,sys跟驱动相关,里面的内容由驱动自动创建!     

        所以这三个目录只要创建好即可,里面的内容无需关注!

        可选目录:

        home:作为普通用户主目录

        mnt:作为U盘,TF卡,SD卡,闪存分区的挂节点

        var:作为临时文件的存放目录

        opt:存放自己的可执行文件等 其它目录根据用户需求自行创建

二、利用busybox制作根文件系统rootfs中的bin、sbin、usr

        bin目录:保存普通用户命令的目录

        sbin目录:保存超级用户命令的目录

        lib目录:保存各种库文件的目录

        etc目录:保存系统配置文件的目录

        usr目录:保存其它命令或者库文件的目录

        dev目录:保存设备文件,跟驱动相关

        proc目录:跟驱动相关

        sys目录:跟驱动相关

        注意:dev,proc,sys跟驱动相关,里面的内容由驱动自动创建!     

获取正确的交叉编译器      

注意版本要匹配

从www.busybox.net自己下载一个busybox源码(用新的)    

修改busybox的Makefile指定处理器架构和交叉编译器    

vim Makefile +190  

        将: ARCH ?= $(SUBARCH)  

修改为: ARCH = arm   保存退出   说明:指定将来运行在ARM架构

vim Makefile +164  

        将:CROSS_COMPILE ?=  

修改:CROSS_COMPILE = arm-cortex_a9-linux-gnueabi-   保存退出   说明:指定交叉编译器

配置busybox源码,采用完整版驱动操作命令

Linux Module Utilities  --->         

//按N键去除简化版的insmod和rmmod命令       

[ ] Simplified modutils       

//一旦将上面选项去除,立马出现以下完整版的命令无脑全部选中:       

        [*]   insmod                                                                         

        [*]   rmmod                                                                         

        [*]   lsmod                                                                         

        [*]   Pretty output                                                               

        [*]   modprobe                                                                       

        [*]   Blacklist support                                                           

        [*]   depmod            

保存退出

正式交叉编译busybox

安装busybox    

make install     

何为“安装”    

答:安装就是将编译busybox生成的二进制文件统一的拷贝到指定的某个目录下busybox指定的默认安装目录为_install目录      

ls /opt/busybox/_install //查看编译生成的二进制文件内容         

        bin  sbin  usr //三大必要目录

获取三大目录后,通过命令发现三大目录里面的,busybox仅仅给你提供各种命令而已!并且这些命令都是软连接文件,最终都链接到同一个实体文件:/opt/busybox/_install/bin/busybox交叉编译busybox仅仅生成一个可执行文件bin/busybox命令就是他的链接而已。

三、根文件系统rootfs添加动态库到lib中

 


http://www.kler.cn/a/389891.html

相关文章:

  • 深入理解接口测试:实用指南与最佳实践5.0(一)
  • STM32嵌入式闹钟系统设计与实现
  • zabbix监控端界面时间与服务器时间不对应
  • 如何为电子课程创造创意
  • 测试实项中的偶必现难测bug--验证码问题
  • 【前端】JavaScript高级教程:线程机制与事件机制
  • 前端跨域~简述
  • 技术整合与生态构建:Lyft与Mobileye引领自动驾驶新纪元
  • Git核心概念
  • 解决”重复文件名重命名“问题【根据Word系统方式】
  • Qt文件系统-二进制文件读写
  • 【Django】Clickjacking点击劫持攻击实现和防御措施
  • 数组类算法【leetcode】
  • 「IDE」VS2022插件 Visual Assist X 番茄助手介绍说明
  • Python小游戏24——小恐龙躲避游戏
  • 使用 Elasticsearch 构建食谱搜索(一)
  • RSTP的配置
  • DNS Resolver解析服务器出口IP查询
  • 2024 年 Apifox 和 Postman 对比介绍详细版
  • vue3 动态路由+动态组件+缓存应用
  • 华为数通HCIA系列第5次考试-【2024-46周-周一】
  • 吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.9-4.10
  • 计算机课程管理:Spring Boot实现的工程认证框架
  • 基于FPGA FPD-Link(LVDS7:1)与FPD-Link IIIII实现与定制
  • 人才流失预测模型(机器学习)
  • SpringBoot中的响应式编程和WebFlux入门