详解linux内存磁盘初始化技术

详解linux内存磁盘初始化技术

/5502266.html

关键词: HYPERLINK "/tag/initrd" \n _blankinitrd ?? HYPERLINK "/tag/%A3%AC%C4?%E6%C5?%AC%B3%F5?%BB%AF" \n _blank,内存盘,初始化 ?? ??????????????????????????????????????

正文:

linux 内存初始化技术(initrd)用于支持两阶段的系统引导过程,是在系统启动过程中被挂载的临时root文件系统(译者注:这里的root文件系统是指的 根文件系统)。initrd包含很多可执行程序和驱动,并允许在临时的内存磁盘根文件系统被卸载,内存被释放后挂载真实的root文件系统。在许多嵌入式 linux文件系统中,initrd是最终的根文件系统。这篇文章主要讲解了linux2.6内核的initrd技术,包括在内核中的创建及使用。

1 什么是内存磁盘初始化?

initrd挂载优先级高于真实根文件系统,它被邦定在内核上,做为内核启动过程的一部分被加载(load)。然后,做为两阶段引导过程的第一部分,内核挂载(mount)initrd,用于获得并加载真实有效的文件系统。

为了达到这个目的,initrd包含有最起码的目录与程序,例如insmod,来安装内核模块到内核中。

对于桌面或服务器linux,initrd是临时文件系统,它的生存周期很短,仅仅是做为到达真实根文件系统的桥梁。但对于没有存储设备的嵌入式系统来说,它才是永久性的根文件系统。本篇文章对这两方面均有涉及。

2 深入分析initrd

initrd 包含有必须的程序和系统文件,用于支持系统的启动的第二阶段过程。创建初始化内存的方法,是随着你所使用的系统版本而改变的。从Fedora Core3以后,initrd就由回送设备(loop device)建立。什么是回送设备?它是一个设备驱动,允许你将一个文件挂载为块设备,并对其文件系统做出描述。也许loop device并不存在与你的内核中,但是你能够通过内核的配置工具(make menuconfig)打开它。路径是:Device Drivers-》Block Devices-》LoopBack Device support。下面为检查命令:

# mkdir temp ; cd temp

# cp /boot/initrd.img.gz .

# gunzip initrd.img.gz

# mount -t ext -o loop initrd.img /mnt/initrd

# ls -la /mnt/initrd

#

现在,你可以通过查看/mnt/initrd的子目录来查看initrd的内容。需要注意的是,即使你的initrd镜像文件并不是以.gz做为后缀名,但是你同样可以通过增加此后缀名来让gunzip打开它。

从Fedora Core3开始,默认的initrd镜像就是一个压缩的gpio归档文件。除了用挂载文件的方式以外,你同样可以通过cpio归档的方式来将其挂载成使用了回送设备的压缩镜像。你可以通过以下的指令来检查这个cpio归档文件的内容:

# mkdir temp ; cd temp

# cp /boot/initrd-.img initrd-.img.gz

# gunzip initrd-.img.gz

# cpio -i --make-directories < initrd-.img

??? 你看到的结果将是一个小型根文件系统,如下所示:

# ls -la

#

drwxr-xr-x? 10 root root??? 4096 May 7 02:48 .

drwxr-x---? 15 root root??? 4096 May 7 00:54 ..

drwxr-xr-x? 2? root root??? 4096 May 7 02:48 bin

drwxr-xr-x? 2? root root??? 4096 May 7 02:48 dev

drwxr-xr-x? 4? root root??? 4096 May 7 02:48 etc

-rwxr-xr-x? 1? root root???? 812 May 7 02:48 init

-rw-r--r--? 1? root root 1723392 May 7 02:45 initrd-.img

drwxr-xr-x? 2? root root??? 4096 May 7 02:48 lib

drwxr-xr-x? 2? root root??? 4096 May 7 02:48 loopfs

drwxr-xr-x? 2? root root??? 4096 May

Linux初始化内存盘黑屏,详解linux内存磁盘初始化技术.doc相关推荐

  1. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  2. linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令

    linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇  2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...

  3. Linux编写脚本nsum求和,详解Linux Shell脚本编写技巧,附实例说明

    原标题:详解Linux Shell脚本编写技巧,附实例说明 Linux Shell是一个很难的知识板块.虽然大家都认真学,基本的语法很都掌握,但有需求时,很难直接上手编程,要么写了很久,要么写不好!对 ...

  4. linux 服务器拦截http请求,详解Linux屏蔽浏览器上http请求警报的方法

    众所周知,在Linux系统中浏览器的页面上是不允许出现http请求的,如果出现了http请求就会发生错误,并且Linux系统会向用户发出警报.下面,U大侠小编就给大家详解Linux屏蔽浏览器上http ...

  5. linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解

    下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...

  6. linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd 修改用户密码参数 nbsp - phpStudy...

    详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...

  7. linux上传文件put,详解Linux ftp 命令行中下载文件get与上传文件put的操作方法

    尽管现在有许多好的FTP应用程序,但服务器命令行ftp命令的应用程序仍然很多,下面就让电脑乐园小编带你一起来学习详解Linux ftp 命令行中下载文件get与上传文件put的操作方法. 介绍:从本地 ...

  8. java内存泄露direct_详解SpringCloudGateway内存泄漏问题

    SpringCloudGateway内存泄漏问题 项目完善差不多,在进入压力测试阶段期间,发现了gateway有内存泄漏问题,问题发现的起因是,当时启动一台gateway,一台对应的下游应用服务,在压 ...

  9. Linux中光盘使用的文件类型,linux下mount命令使用详解---linux挂载光盘等文件系统...

    mount 命令详解 功能:加载指定的文件系统. 语法:mount [-afFhnrvVw] [-L标签] [-o选项] [-t文件系统类型] [设备名] [加载点] 用法说明:mount可将指定设备 ...

最新文章

  1. javaScript 之 蚁人微任务
  2. springboot项目输入打印日志文件到本地
  3. 温故一下Linux CentOS的VI/VIM命令
  4. 框架学习之Hibernate 第十节 事务原理与分析
  5. ConcurrentHashMap能完全替代HashTable吗?
  6. “约见”面试官系列之常见面试题第三十二篇之async和await(建议收藏)
  7. SpringBoot—jasypt加解密库的使用方法
  8. 02-01 Python 安装与pip
  9. 2017CCPC哈尔滨赛区总结
  10. mysql(指RDS)验证pureftpd登录
  11. 2022年电子商务概论(农)之形考作业三
  12. 恶意软件分析(二)玩出花的批处理(中)
  13. eplan mysql_EPLAN 部署SQL部件库安装详解
  14. MMDETECTION微调模型
  15. mysql mysqld multi_MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
  16. c语言2级考试题下载,C语言二级考试题库
  17. 程序化广告(5):广告投放
  18. canal安装最详细教程
  19. top是太阳吗_top是太阳吗_每日TOP榜:泡腾片“变身记”
  20. 强大的同步工具FreeFileSync

热门文章

  1. 关于UDP-读这篇就够了(疑难杂症和使用)
  2. 五金徽章视觉上色机——维度自动化
  3. 打印机出现另存为xps_win7系统打印机打印文件弹出另存为xps/pdf的解决方法
  4. C. Obtain The String(二分)
  5. php获取当天第一秒和最后一秒的时间戳
  6. Mysql 常用统计语句
  7. 中山大学转专业过程及心得
  8. maven php mysql,Hibernate+maven+mysql
  9. 使用Docker Nginx部署vue项目
  10. python超轻量级kv数据库dbm