Linux系统-根文件系统
基于内核6.10版本讲解。1. 根文件系统从何而来Linux用户接触到的根文件系统只是挂载在根目录“/”下的一个真实的文件系统 我们习惯上把它称为真实根文件系统。内核初始化时会挂载一个rootfs文件系统伪文件系统只存在内存中rootfs是Linux内核启动后第一个挂载的文件系统所以它才是Linux的根文件系统。真实根文件系统启动流程分为三步1挂载rootfs伪文件系统创建 根目录 解决文件系统从0到1的问题2解析initramfs并将initramfs中的文件保存至rootfs文件系统3执行initramfs中的init脚本init脚本将完成真实根文件系统如ext4挂载。2. 根文件系统挂载流程2.1 挂载rootfs伪文件系统rootfs文件系统定义structfile_system_typerootfs_fs_type{.namerootfs,.init_fs_contextrootfs_init_fs_context,.kill_sbkill_litter_super,};rootfs_init_fs_context函数staticintrootfs_init_fs_context(structfs_context*fc){if(IS_ENABLED(CONFIG_TMPFS)is_tmpfs)returnshmem_init_fs_context(fc);returnramfs_init_fs_context(fc);}rootfs实际上是一个tmpfs或ramfs文件系统实例。ramfs和tmpfs都是Linux系统中基于内存的文件系统。它们将数据直接存储在RAM物理内存中因此读写速度极快但数据在系统重启后会丢失。文件系统挂载可以阅读这篇文章从ext4文件系统到Linux文件树2.2 解析initramfs至rootfsinitramfs详解initramfs是Linux启动过程中使用的临时文件系统其本质上是一个cpio归档文件包含了挂载真实根文件系统需要用到的所有文件。initramfs是压缩如lz4、gzip、zstd等压缩格式了的cpio归档文件。cpioCopy In and Out是一种在Unix和Linux系统中广泛使用的归档工具用于将多个文件和目录打包成一个单独的归档文件同时保留文件的元数据如权限、所有者、 时间戳 等cpio中的文件记录将一条条被解析并存储 在rootfs文件系统中。cpio支持多种归档格式bin、odc、newc、crc、tar等。initramfs采用的是newc格式。initramfs由一条条文件记录构成每条文件记录格式为文件头110字节文件名0-3字节填充文件数据0-3字节填充文件头包含文件的元数据固定大小为110字节测试脚本(demo.sh)#!/bin/bash #创建文件树 mkdir bin conf etc lib touch etc/test.txt #创建init脚本 echo#!/bin/shinit #打包为newc格式 find bin conf etc lib init-depth|cpio-o-H newcinitramfs.cpio执行./demo.sh cpio-tinitramfs.cpio #文件清单 hexdump-C initramfs.cpio #查看归档文件记录/init脚本/init脚本是initramfs的核心它将完成以下关键任务挂载/proc、/sys、/dev等虚拟文件系统并创建必要的设备节点。加载访问存储设备和文件系统所需的内核模块。挂载真实根文件系统。将系统根目录切换到真实根文件系统并启动/sbin/init进程1号进程。实际的/init脚本一般都比较复杂为了便于讲解我们只关注根文件系统挂载相关的内容如图3所示内核调用run_init_process(/init)函数将会执行init脚本run_init_process函数主要任务是执行用户空间的第一个进程从而完成从内核态到用户态的切换。真实根文件系统如ext4未挂载之前系统执行文件相关的操作都是在rootfs文件系统中进行。1/init脚本会挂载伪文件系统proc、sysfs、devtmpfs等至rootfs。2内核会读取块设备并挂载块设备中的真实根文件系统挂载至rootfs挂载点由用户自行定义。3将已挂载的伪文件系统移动至真实根文件系统以及执行initramfs中的switch_root命令将运行环境切换至真实根文件系统。switch_root命令的核心功能包括将新根目录设置为系统的根文件系统。执行新根文件系统中的init程序通常是 /sbin/init。清理并释放initramfs占用的内存空间。switch_root语法格式如下switch_root[-c /dev/console]NEW_ROOT NEW_INIT[ARGUMENTS_TO_INIT]NEW_ROOT已经挂载好的真正根文件系统挂载点例如 /newroot。NEW_INIT真正根文件系统中的init程序路径通常是/sbin/init软链接指向init或systemd。-c可选重定向新系统的控制台设备。2.3 挂载真实根文件系统initramfs解析完毕后rootfs根目录下会有一个init脚本init脚本将会完成真实文件系统挂载并将系统运行环境也 切换 至真实文件系统。对应的初始化路径为start_kernel() - vfs_caches_init() - rest_init() - kernel_init() - run_init_process(“/init”)。run_init_process函数将会执行init脚本。

相关新闻

ESP32双时间源系统:NTP与GPS授时融合的嵌入式时钟设计

ESP32双时间源系统:NTP与GPS授时融合的嵌入式时钟设计

1. 项目缘起:当GPS时间成为你的第二块表 在嵌入式开发和物联网项目中,获取精确、可靠的时间戳是一个基础但至关重要的需求。无论是记录传感器数据、同步设备日志,还是实现定时任务,一个“准点”的系统时钟都是项目稳定运行的基石。…

2026/8/21 4:15:57 阅读更多 →
端侧部署大模型落地思考

端侧部署大模型落地思考

如何在端侧部署大模型落地指南端侧大模型部署全流程:从性能评估到小型化落地,解锁离线AI新范式。随着生成式AI技术飞速迭代,大模型正从云端走向终端。手机、机器人、车载系统、嵌入式设备等端侧硬件,正成为AIl落地的新主战场。端侧部署大模型…

2026/8/21 0:07:23 阅读更多 →
Prompt-scrub:本地化PII脱敏工具,保障LLM应用隐私安全

Prompt-scrub:本地化PII脱敏工具,保障LLM应用隐私安全

这次我们来看一个专门解决大语言模型(LLM)应用隐私安全痛点的开源工具:Prompt-scrub。它不是一个生成模型,而是一个“清洁工”,核心任务是在本地、无网络依赖的环境下,自动识别并脱敏(Redact&am…

2026/8/21 5:38:52 阅读更多 →

最新新闻

STM32-输入捕获

STM32-输入捕获

目录 输入捕获 测量频率的方法 主从触发模式 一、输入捕获测频率 程序 注意事项: 二、PWMI模式测频率和占空比 程序 注意事项: 三、编码器测速 程序 注意事项: 输入捕获 定义:输入捕获模式下,当通道输入引…

2026/8/21 6:54:36 阅读更多 →
最短路径问题【各顶点间的最短路径——Floyd算法(带权图、无权图)】

最短路径问题【各顶点间的最短路径——Floyd算法(带权图、无权图)】

文章目录核心思想算法实现注意Floyd 算法(弗洛伊德算法) 是解决 “多源最短路径” 问题的经典算法。它可以一次性求出图中 任意两个顶点之间的最短路径,并且 允许边权为负值(只要图中不含负权回路)。核心思想 Floyd算…

2026/8/21 6:54:36 阅读更多 →
STM32F103 + FreeRTOS 桌面温湿度闹钟项目全流程分享

STM32F103 + FreeRTOS 桌面温湿度闹钟项目全流程分享

一、项目概述本项目是基于 STM32F103C8T6​ 主控芯片,搭载 FreeRTOS​ 实时操作系统开发的一款桌面温湿度闹钟。项目集成了 DHT11 温湿度采集、DS1302 RTC 实时时钟、TC5020EJ LED 灯板显示、NV020D 音频提示以及按键、触摸和声控交互功能。项目摒弃了传统的裸机轮询…

2026/8/21 6:54:36 阅读更多 →
电梯内电瓶车数据集 YOLO26进行检测识别 并构建基于深度学习yolov8电瓶车检测系统

电梯内电瓶车数据集 YOLO26进行检测识别 并构建基于深度学习yolov8电瓶车检测系统

深度学习目标检测如何使用Yolov8训练电梯内电瓶车数据集进行检测识别 并构建基于深度学习yolov8电瓶车检测系统 电瓶车数据集 yolo目标检测 电梯内电瓶车检测 该数据集包含3933张图片,标签为bicycle好的,我们将使用YOLO(You Only Look Once&a…

2026/8/21 6:54:36 阅读更多 →
Qwen2-VL 视觉编码器源码拆解:从像素到 Token 的完整数据流

Qwen2-VL 视觉编码器源码拆解:从像素到 Token 的完整数据流

引言多模态大模型的视觉编码器通常被视为一个"黑盒"——图像进去,token 出来;但是当我们需要回答"为什么 Qwen2-VL 能处理任意分辨率的图像"或"它和 Swin Transformer V2 的本质差异在哪"等这样细致的问题,我们…

2026/8/21 6:54:36 阅读更多 →
深入解析BERT预训练:从掩码语言模型到工程实践全流程

深入解析BERT预训练:从掩码语言模型到工程实践全流程

1. 项目概述:从“炼丹”到“造炉”的认知跃迁 在自然语言处理这个行当里混了十几年,我见过太多朋友一上来就想直接“开炉炼丹”——拿着别人训练好的BERT模型,在自己的数据上微调一下,就期待能解决所有问题。结果往往是模型表现平…

2026/8/21 6:53:36 阅读更多 →

日新闻

机场边检旅客定位系统国产化白皮书:算法、硬件、底座平台全程自主

机场边检旅客定位系统国产化白皮书:算法、硬件、底座平台全程自主

前言随着国家数字基础设施信创替代、关键技术自主可控战略持续深化,口岸智慧安防、边检智能管控领域正全面进入国产化、自主化、安全可控升级周期。当前国内机场边检旅客识别与定位体系长期依赖国外商用视觉算法、进口成像硬件、闭源通用计算平台,存在核…

2026/8/21 0:00:42 阅读更多 →
别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱

别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱

别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱当下数字化建设浪潮中,很多项目将三维可视化、视频贴图叠加的数字孪生等同于空间智能。传统数字孪生更多停留在三维场景复刻,擅长把物理世界“画出来、展示出来”,…

2026/8/21 0:00:42 阅读更多 →
105、车载温度范围-40°C到85°C的影像质量一致性——ISP参数温漂补偿与产线标定策略

105、车载温度范围-40°C到85°C的影像质量一致性——ISP参数温漂补偿与产线标定策略

105、车载温度范围-40C到85C的影像质量一致性——ISP参数温漂补偿与产线标定策略 去年冬天在北方某车厂做A样评审,凌晨四点的黑河试验场,零下三十三度。客户拿了一台冷启动的车,中控屏上倒车影像全是雪花噪点,暗部细节直接糊成一片。我第一反应是sensor温度没上来,暗电流…

2026/8/21 0:00:42 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 0:02:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/20 6:11:08 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/20 21:46:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/21 0:14:22 阅读更多 →