Linux初始化内存盘黑屏,详解linux内存磁盘初始化技术.doc
详解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相关推荐
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令
linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇 2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...
- Linux编写脚本nsum求和,详解Linux Shell脚本编写技巧,附实例说明
原标题:详解Linux Shell脚本编写技巧,附实例说明 Linux Shell是一个很难的知识板块.虽然大家都认真学,基本的语法很都掌握,但有需求时,很难直接上手编程,要么写了很久,要么写不好!对 ...
- linux 服务器拦截http请求,详解Linux屏蔽浏览器上http请求警报的方法
众所周知,在Linux系统中浏览器的页面上是不允许出现http请求的,如果出现了http请求就会发生错误,并且Linux系统会向用户发出警报.下面,U大侠小编就给大家详解Linux屏蔽浏览器上http ...
- linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解
下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...
- linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd
修改用户密码参数
nbsp - phpStudy...
详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...
- linux上传文件put,详解Linux ftp 命令行中下载文件get与上传文件put的操作方法
尽管现在有许多好的FTP应用程序,但服务器命令行ftp命令的应用程序仍然很多,下面就让电脑乐园小编带你一起来学习详解Linux ftp 命令行中下载文件get与上传文件put的操作方法. 介绍:从本地 ...
- java内存泄露direct_详解SpringCloudGateway内存泄漏问题
SpringCloudGateway内存泄漏问题 项目完善差不多,在进入压力测试阶段期间,发现了gateway有内存泄漏问题,问题发现的起因是,当时启动一台gateway,一台对应的下游应用服务,在压 ...
- Linux中光盘使用的文件类型,linux下mount命令使用详解---linux挂载光盘等文件系统...
mount 命令详解 功能:加载指定的文件系统. 语法:mount [-afFhnrvVw] [-L标签] [-o选项] [-t文件系统类型] [设备名] [加载点] 用法说明:mount可将指定设备 ...
最新文章
- javaScript 之 蚁人微任务
- springboot项目输入打印日志文件到本地
- 温故一下Linux CentOS的VI/VIM命令
- 框架学习之Hibernate 第十节 事务原理与分析
- ConcurrentHashMap能完全替代HashTable吗?
- “约见”面试官系列之常见面试题第三十二篇之async和await(建议收藏)
- SpringBoot—jasypt加解密库的使用方法
- 02-01 Python 安装与pip
- 2017CCPC哈尔滨赛区总结
- mysql(指RDS)验证pureftpd登录
- 2022年电子商务概论(农)之形考作业三
- 恶意软件分析(二)玩出花的批处理(中)
- eplan mysql_EPLAN 部署SQL部件库安装详解
- MMDETECTION微调模型
- mysql mysqld multi_MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
- c语言2级考试题下载,C语言二级考试题库
- 程序化广告(5):广告投放
- canal安装最详细教程
- top是太阳吗_top是太阳吗_每日TOP榜:泡腾片“变身记”
- 强大的同步工具FreeFileSync