Linux下为什么会有initrd initramfs这种虚拟文件系统

CRPR的三种关键影响:从SI、OCV到Min Pulse Width的时序优化实践 本文深入探讨了CRPR(时钟重汇聚悲观度消除)在芯片时序优化中的三种关键影响:信号完整性(SI)、片上变异(OCV)和最小脉宽检查。通过实际案例分析和技术细节,展示了CRPR如何有效修正时序分析中的过度保守估计,提升设计精度。文章特别强调了SI-aware CRPR的调试技巧和OCV补偿的最佳实践,为芯片设计工程师提供了宝贵的时序优化指导。 阅读详情

我们知道,在分析linux 启动过程的时候,我们总绕不过 虚拟文件系统,initrd 也好,initramfs也好,为什么会现有这些暂时的虚拟文件系统呢?为什么不直接挂载根文件系统呢?


1.首先说下,initrd 和initramfs的作用,他们同属虚拟文件系统,包含有各种可执行程序和驱动程序,这些驱动程序中包括 即将加载的真正的文件系统的存储介质的驱动。

2.其次,我们知道根文件系统可以存储在包括IDE、SCSI、USB在内的多种介质上,如果我们不使用initrd和initramfs虚拟文件系统,我将要将这些存储介质的驱动都编译进内核,可 以想象内核会多么庞大、臃肿。

因linux 发行版必须适应各种不同的硬件架构,将所有的驱动编译进内核是不现实的,所以initrd 技术是解决该问题的关键技术。

Linux 发行版在内核中只编译了基本的硬件驱动,在安装过程中通过检测系统硬件,生成包含安装系统硬件驱动的 initrd,在内核引导过程中在先加载initrd 虚拟文件系统,然后由initrd 挂载真正的文件系统,完成后initrd 在从RAM中退出,并不消耗内存,initrd只是一个暂时的文件系统。可见这是一种即可行又灵活的解决方案。

  体会:在一项大的项目工程中,实际编码的工作量应该只是 项目开发周期的一小部分,更多的是设计,设计能够灵活开发,灵活维护的架构。高内聚低耦合

【电磁场计算】磁偶极子在外磁场中的受力 最近在总结电磁场计算公式的时候发现,关于磁偶极子受力的计算公式,在不同文献中的说明有点出入,在此特地写一篇博客澄清一下。 阅读详情

相关推荐

Qt多线程实战:如何优雅地处理Modbus设备通信中的线程安全问题

本文深入探讨了在Qt框架下实现Modbus设备通信时的多线程安全问题,提供了优雅的解决方案。通过生产者-消费者模型、任务队列与锁机制等设计模式,有效解决了界面卡顿、数据包错乱等问题。文章还详细介绍了对象生命周期管理、信号槽连接类型选择等关键实现细节,帮助开发者构建稳定可靠的Modbus通信模块。

weixin_30897233的博客 483

linux修改内核命令,Linux教程:用内核命令行修改启动顺序

在这些情况下,可以让内核避开/sbin/init,运行一个交互式Shell 作为它的初始进程。给内核命令行添加参数init=/bin/sh 可以达到这本文根据RHCE6官方教材文档整理在 GRUB 引导程序那一章中,我们提到了内核命令行的作用,以及如何在引导机器时修改这个命令行。既然已经讨论了红帽企业版Linux 的启动顺序,现在我们返回到这个话题上来。启动时,内核查看内核命令行,对任何识别出来的...

weixin_35207054的博客 805

代码实现ROS2bag录制数据和回放数据(C++)

ROS2的ROS2bag功能可以将指定Topic中的数据以.db3的格式(不同于ROS)保存到本地文件中。读取文件数据可以实现数据回放。

m0_57124501的博客 3256

linux内核不识别分区,linux – 如何在没有initramfs / initrd的情况下通过UUID识别根分区...

如果没有initramfs / initrd支持,以下内核命令行将不起作用:linux /bzImage root=UUID=666c2eee-193d-42db-a490-4c444342bd4e ro如何在不需要initramfs / initrd的情况下通过UUID识别我的根分区?我也不能使用像/ dev / sda1这样的设备名称,因为分区驻留在USB-Stick上,需要在不同的机器上...

weixin_35974392的博客 542

高等数学第五章---定积分(§5.3定积分的计算方法)

这篇博客详细讲解定积分的计算方法,包括直接法、凑微分法、变量代换法和分部积分法。通过典型例题演示如何运用这些技巧计算定积分,特别强调换元必换限的原则和奇偶函数的简化处理。内容涵盖代数变形、三角代换、分段函数积分等常见题型,并附有详细的解题步骤和常见错误分析。适合微积分学习者系统掌握定积分计算技巧,提升解题效率。文中还包含积分等式证明和变限积分函数求导等进阶内容,帮助读者深入理解定积分的应用。

2302_77045867的博客 4332

用LTspice仿真CMOS反相器功耗?这份避坑指南能省你3天调试时间

本文详细介绍了如何使用LTspice准确仿真CMOS反相器的功耗,包括动态功耗、短路功耗和静态功耗的测量技巧。通过工程实践指南,帮助电子工程师避开常见陷阱,优化仿真参数设置,提升仿真结果的可靠性,节省调试时间。

w7x8y9z的博客 188

linux启动流程——initrd和initramfs

Linux 启动的过程就像是在一个空荡荡的场地上(裸机),开办并运营起一家功能齐全的大型超市(完整的 Linux 用户空间)。

网络安全研究 8495

深度学习环境搭建以及DeepLabCut安装过程

文章目录 一、查询电脑硬件 安装GeForce驱动程序 二、环境搭建与软件安装 1.安装CUDA运算平台软件 2.安装cuDNN支持包 3.配置环境变量 三、 DeepLabCut环境配置 1.安装Anaconda 2.创建容器环境 3.激活容器环境 4.安装TensorFlow 5.验证TensorFlow是否安装成功 6...

m0_51136557的博客 3157

Linux 发行版不使用 initramfs,直接启动

重新编译内核,不需要 initramfs

m0_57309959的博客 1502

工程制图习题集张大庆课后习题答案解析

所以,我想向大家求助,希望能得到一些学习资料、学习方法和学习经验,帮助我更好地理解和掌握这门课程。在寻找学习资料的过程中,我发现了一款叫做资小料的APP,它里面有很多关于工程制图的学习资料,包括视频教程、习题解答和考试真题等。通过使用资小料,我逐渐掌握了工程制图的基本理论和方法,解决了很多学习中遇到的问题。在这里,我想推荐给和我一样在学习《工程制图习题集》这门课的同学们,希望大家也能从这款APP中受益,共同进步。上传者: 『Consentesdei』蒼迷穀。出版社: 清华大学出版社。

weixin_58833001的博客 925

Palantir解密:“本体”的建模逻辑及其扩展方向

上一篇重点从对现实世界建模的角度探讨了“本体”在数字化架构中的核心意义。这里借Palantir的“本体”概念、解析Palantir只是起点,目标旨在以他山之石攻玉——探索数字世界的底层架构逻辑,最终为构建自主体系提供思考。Palantir以“本体论”为核心的建模方案是否代表终极答案,不宜过早下结论,但其思路值得深入剖析。

SZSDQJC的博客 2634

linux生成initramfs,在Arch Linux中禁止生成/boot/initramfs-linux-fallback.img以节省/boot分区空间...

在Arch Linux中linux软件包安装或更新时会生成两个initramfs:initramfs-linux.img和initramfs-linux-fallback.img,后者顾名思义,就是个后备的,而其文件大小也远大于前者,足足有28MB。对于将EFI分区直接挂在到/boot的分区方案而言(用于让UEFI直接加载内核而不用通过Bootloader),预装的Windows所自带的EFI分区...

weixin_32751907的博客 1403

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

解决对linux根文件系统的疑惑 initrd和initramfs的区别 以及对linux文件系统ext格式的疑惑 虚拟根文件系统和真根文件系统

抽空

dianqicyuyan的博客 985

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux--根文件系统的挂载过程分析

【转自 http://blog.youkuaiyun.com/guopeixin/article/details/5962482】 前言: 本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中所有提及的名词和数据都是以该环境为例,所有的代码流程也是以该环境为例来进行分析。哈哈。如果有不正确或者不完善的地方,欢迎前来拍砖留言或者发邮件到guopeixin

u012891948的博客 2820

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

关于ramfs、tmpfs、rootfs和initramfs以及initrd

ramfs ramfs是一种基于linux磁盘缓存机制的文件系统,它是在页缓冲和目录缓冲之上的一层很薄的封装,代码量极少。ramfs的底层存储是ram,ramfs在mount时可以指定size,但是你仍然可以往其上写入一个很大的文件,由此导致ram被吃光。ramfs只能被root访问。 tmpfs tmpfs算是ramfs的加强版,它可以使用内存或swqp分区作为存储,它使用了虚拟内存的...

The_K_is_on_the_way的博客 2688

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

linux根文件系统的挂载过程详解

前言 前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。 rootfs的种类 总的来说,rootfs分为两种:虚拟rootfs和真实rootfs.现在kernel的发展趋势是将更多的功能放到用户空间完成。以保持内核的精简。虚拟rootfs也是各linux发行厂商普遍采用的一种方式。可以将一部份的初始化工作放在虚拟的rootfs里完成。然后

u014426028的博客 2585

linux编译启动文件系统,从linux启动到rootfs的挂载分析(转)

简单的来说,根文件系统包括虚拟根文件系统和真实根文件系统。在Kernel启动的初始阶段,首先去创建虚拟根文件系统,接下来再去调用do_mount来加载真正的文件系统,并将根文件系统切换到真正的文件系统,也即真实的文件系统。一.什么是根文件系统在传统的Windows机器上目录结构中,可能会包括C:或者D:盘,而他们一般就称之为特定逻辑磁盘的根目录。从文件系统的层面来说,每一个分区都包含了一个根目录区...

weixin_35744067的博客 528

虚拟的根文件系统及其作用和工作机理

为什么需要虚拟根文件系统: Linux内核加载真正根文件系统执行/sbin/init程序前,需要找到根设备位置,如果根文件系统所在设备需要驱动的支持,内核有可能无能为力,通过提供一个过渡的临时根文件系统可以使得内核的设计更灵活简单.通常过渡的临时根文件系统基本上是内存文件系统. 内核总是能安装ramdisk的(注:这是因为ramdisk临时文件系统和内核一样,也是由bootloader通过低级...

weixin_38812277的博客 855

ramdisk与 initrd、initramfs的关系

问题答案收集:1、ramdisk、initrd是什么?ramdisk是一种基于内存的虚拟文件系统,通常用于放置内核的中间数据。而initrd全称为"boot loader initialized RAM disk",也就是由启动加载器所初始化的RamDisk设备,它的作用是完善内核的模块机制,让内核的初始化流程更具弹性;内核以及initrd,都由bootloader在机子启动后被加载至内存

cherryloo的专栏 5306

剖析linux根文件系统的挂载过程

前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。

m0_74282605的博客 1756

Linux系统文件挂载合并到根,linux根文件系统的挂载过程详解

st1\:*{behavior:url(#ieooui) }一:前言前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。二:rootfs的种类总的来说,rootfs分为两种:虚拟rootfs和真实rootfs.现在kernel的发展趋势...

weixin_39543655的博客 532

linux根文件系统地址分配,解析linux根文件系统的挂载过程

本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------st1\:*{behavior:url(#ieooui) }一:前言前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载...

weixin_39991148的博客 174

Linux根文件系统的挂载过程详细分析

简单的来说,根文件系统包括虚拟根文件系统和真实根文件系统。在Kernel启动的初始阶段,首先去创建虚拟的根文件系统,接下来再去调用do_mount来加载真正的文件系统,并将根文件系统切换到真正的文件系统,也即真实的文件系统。 一.什么是根文件系统 在传统的Windows机器上目录结构中,可能会包括C:或者D:盘,而他们一般就称之为特定逻辑磁盘的根目录。从文件系统的层面来说,每一个分区都包含了一

lp542718520的专栏 2905

文件系统(initramfs中间过渡用文件系统)

Linux内核启动 ------- initrd/initramfs(包含有根文件系统的设备驱动)------- Real Root Filesystem。

qq_42611237的博客 937
上一篇: linux 命令中的 -v 参数
下一篇: dd
丁老师的技术随笔
博客等级 码龄15年 390粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值