linux系统根文件系统构建

简介: linux系统根文件系统构建

根文件系统构建

一、根文件系统简介

  • 根文件系统是 Linux 内核启动以后挂载(mount)的第一个文件系统,
  • 从根文件系统中读取初始化脚本,比如 rcS,inittab 等。
  • 根文件系统和 Linux 内核是分开的,单独的 Linux 内核是没法正常工作的,必须要搭配根文件系统。如果不提供根文件系统,Linux 内核
    在启动的时候就会提示内核崩溃(Kernel panic)的提示

二、根文件系统组成

  • 嵌入式 Linux 根文件系统布局,按照FHS标准来安排
  • 嵌入式系统可能并不需要全部目录,对系统进行精简,以简化Linux的使用。
  • 通常不会放置内核源码因而存放源码的 /usr/src目录是不必要的, 甚至连头文件也不需要,即/usr/include目录也不必要;
  • 但是 /bin、/dev 、/etc、/lib 、/proc 、/sbin、/usr几个目录是不可或缺的。

典型嵌入式Linux根文件系统目录

514f053e48394cd29e15781f7667b6a7.png

三、BusyBox构建根文件系统

1.获取BusyBox码源

2.配置BusyBox(图形化配置)

  • 选择编译静态库
  • 选择交叉编译工具链
  • 选择安装目录

3.编译BusyBox到指定目录(只有bin、sbin、usr三个目录)

4.完善目录结构

  • 添加c运行库,复制动态连接文件(.so文件)到 /lib目录
  • 创建 /etc/init.d/rcS 文件 , 是一个shell脚本, rcS 就是规定启动哪些文件的脚本文件
  • 创建 /etc/fstab 文件,fstab在 Linux开机以后自动配置哪些需要自动挂载的分区
  • 创建/etc/inittab 文件,是init进程解析的配置文件,通过这个配置文件决定执行哪个进程

5.制作根文件系统镜像(或者网络nfs挂载)


相关文章
|
1天前
|
关系型数据库 MySQL Linux
在Linux系统中安装MySQL数据库
在Linux系统中安装MySQL数据库
25 3
|
1天前
|
存储 Linux vr&ar
Linux文件系统
Linux文件系统
12 4
|
1天前
|
运维 关系型数据库 MySQL
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
|
1天前
|
运维 Linux Shell
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
|
1天前
|
运维 Linux Shell
day02-Linux运维-系统介绍与环境搭建_硬件 系统核心 解释器shell 外围操作系统
day02-Linux运维-系统介绍与环境搭建_硬件 系统核心 解释器shell 外围操作系统
|
1天前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
1天前
|
Web App开发 运维 安全
最全构建属于自己的 Linux 发行版_定制自制linux(3),开发人员必学
最全构建属于自己的 Linux 发行版_定制自制linux(3),开发人员必学
最全构建属于自己的 Linux 发行版_定制自制linux(3),开发人员必学
|
4天前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
6天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
278 0
|
6天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
27 0