initrd (boot loader initialized RAM disk)

linux2.6 内核支持两种格式的 initrd,一种是 linux2.4 内核那种传统格式的文件系统镜像-image-initrd,它的制作方法同 Linux2.4 内核的 initrd 一样,其核心文件就是 /linuxrc.另外一种格式的 initrd 是 cpio 格式的,这种格式的 initrd 从 linux2.5 起开始引入,使用 cpio 工具生成,其核心文件不再是 /linuxrc,而是 /init,本文将这种 initrd 称为 cpio-initrd.尽管 linux2.6 内核对 cpio-initrd和 image-initrd 这两种格式的 initrd 均支持,但对其处理流程有着显著的区别。

第一种:gzip处理initrd.img

如果initrd.img是经过用gzip -9进行压缩过的ramdisk文件。直接用#mount initrd.img /mnt -o loop会失败,并报告你指定一个文件类型。 要先将其进行解压缩,然后再mount。具体操作如下:

#cd /boot

#mv initrd.img   initrd.gz

#gunzip initrd.gz /tmp/initrd

#mv /tmp/initrd /tmp/initrd.img

#mount /tmp/initrd.img /mnt/ -o loop

反过来生成initrd.img过程如下:

#mkcramfs /tmp/ /boot/newinitrd

#gzip -9 /boot/newinitrd

#mv /tmp/newinitrd.gz /tmp/initrd.img

第二种:cpio处理initrd.img

2.6内核中的initrd.img采用cpio压缩,不再是2.4内核使用的ext2格式,无法使用mount -o loop 挂载。需要使用gunzip解压缩,然后再使用cpio解包

cp /boot/initrd-2.6.15-prep.img initrd.img.gz
gunzip initrd.img.gz
mkdir initrd
mv initrd.img initrd
cd initrd
cpio -ivmd < initrd.img

通过以上命令就将initrd.img解压了,现在就可以对其进行编辑,完成后使用以下命令重新压制

find . | cpio -o -H newc | gzip > /mnt/sda1/boot/initrd-2.6.15-prep.img

(注:-H newc 是必须的,否则内核会认为是ramdisk,而不是initramfs)
gzip ../initrd.new.img


另外:initrd.*.img解压

今天看到些*.img文件解压的方法,于是尝试了下:
cp initrd.*.img . //拷贝*.img文件到当前文件下
mv initrd.*.img initrd.*.gz
file initrd.*.gz //查看该文件是否为gzip压缩文件
gzip -d initrd.*.gz //解压缩  如解压缩出的文件为initrd.*.i586
cpio -div < initrd.*.i586 //上一步解压出的文件
注意 “<”符号不能少。。


摘自:http://blog.csdn.net/jiazhen/article/details/4022800


相关文章推荐



Linux部分精彩文章推荐

★Linux系统初学者的常见问题解决集结

★Linux挂载U盘

★linux 下的挂载

★redhat和ubuntu系统下挂载ntfs文件系统的方法(转载)

★疯狂挂载:Linux连接常用外部设备的方法

★ubuntu 重装系统备份数据   ubuntu安装kde桌面

★ubuntu全局配置文件

★ubuntu安装rpm的方法

★ubuntu设置全攻略

★Linux 常用C函数说明-文件权限控制篇

★rpm deb命令集合

★rc.local自启动学习

★init.d,rc.d详解 Linux运行时详解

★linux下tar gz bz2 tgz z等众多压缩文件的解压方法

★tar命令用法详述

★使用tar进行磁带备份的命令汇总

★LINUX:解压问题tar: Child returned status 1

★Linux系统服务自启动设置_Tomcat

★Linux操作系统下SSH默认22端口修改方法

★Linux启动级别:init 0,1,2,3,4,5,6

★linux服务开机启动和运行级别

★linux服务自动启动功能

★新手学堂:Linux操作系统的启动步骤说明

★xinit启动X Window System过程初探

★构建小型Linux跟文件系统镜像(Ext2 或 Ext3)

★linux内核源码目录结构

★简述 Linux 文件系统的目录结构

★Linux目录结构及解释

★Linux 内核源代码的结构

★linux文件系统的目录结构

★linux 端口 操作

★Linux操作系统下软件的安装与卸载

★vim 实用的经验

★网络管理:超级详细Tcpdump 的用法

★Linux系统下网卡网络配置基础

★用vsFTPd自架Linux网络安装服务器,以及Redhat局域网安装的解决办法

★网络管理:超级详细Tcpdump 的用法

★[转]tcpdump 教程 用法 使用

★Linux下telnet配置

★linux 任务计划 cron

★YUM 库的安装

★Linux环境变量的设置和查看方法

★Linux命令速查手册

★关于linux系统中命令的使用详解

★简单而常用的shell 命令

★rpm常用命令集合

★[常用命令]diff

★vi指令大全

★LINUX/UNIX vi全屏幕编辑器

★Linux操作系统Ifconfig命令详细解析

★linux top命令详解

★chmod命令使用详解

★Linux主要shell命令详解

★linux ps命令使用详解

★Linux下设置和修改IP

★Linux中find用法整理

★Fedora 中的 Yum 命令详解

★rpm常用命令集合

★Linux cat 命令用法

★chmod命令详细用法

★linux redhat命令大全

★Linux操作系统下/etc/hosts文件

★LINUX PATH环境变量

★如何安装无签名认证的rpm包

★LINUX关于休眠、待机和睡眠的问题

★initrd.img处理

★Linux字符集的修改方法

★Awk学习笔记

★shell取得文件行数6法

★正则表达式

★shell中单引号、双引号、反引号、反斜杠的使用

★Linux开机过程(转)

★LINUX中注销其他已登陆帐户

★学习 Linux LVM

★shell 中的参数替换

mkswap 把一个分区格式化成为swap交换区

★rsh的配置

修复GRUB

★Linux自动注销登录的帐户

★linux下的/dev/shm/  以及与swap目录的区别

★Redhat Linux配置远程桌面

★Linux截图工具import使用说明

★Linux、UNIX下磁带机的管理和使用

★Linux 磁带机备份完全攻略

★gnome桌面环境 kde桌面环境的区别

★linux i18n修改,中文版英文版体现

★linux命令-locale字符显示

★linux命令-locale字符显示

★RedHat 8.0软件包组--桌面类

★让英文版的LINUX 支持中文显示

★Linux  shell内核使用

★在RedHat Enterprise Linux 上Oracle 9i的安装配置与调优

★Linux下安装mysql后无法启动的解决方法

★百度最全的LINUX和Redhat学习教程下载帖大全

★Redhat linux 安装 gcc编译器,Gcc源码包,rpm包安装方法!

★RHCE题库

★Redhat Enterprise Linux 6 正式版已经发布!

★VMWare虚拟机安装RedHat Linux全过程

initrd.img处理相关推荐

  1. 制作initrd(2):update-initramfs和mkinitramfs脚本分析

    前一篇文章<制作initrd(1):向initrd内部更新驱动模块>提到更新initrd.img镜像时需要运行update-initramfs命令.起初以为是二进制文件,网上胡乱搜索一通发 ...

  2. linux内核生成img,linux内核探索:定制自己的initrd.img-转载并修改

    1. 什么是initrd.img,它有什么用? initrd.img是Linux启 动过程中很重要的一个文件,如果你编译内核时将一部分功能编译为可加载模块.如果系统的一些设备的驱动编译为可加载模,那么 ...

  3. linux 替换内核 img,查看更改linux内核initrd.img-Go语言中文社区

    2.6以前的版本采用的是ext2格式的initrd,2.6及以后是cpio包形式,具体来看下吧 2.6及以后版本内核 解包 查看ubuntu的grub.cfg文件 红框是root文件系统,挂载在根目录 ...

  4. linux xz 解压initrd.img,2016-8-28 linux基础学习——压缩解压缩及归档 while脚本

    文件管理命令----压缩解压缩及归档基本工具 压缩.解压缩命令 压缩格式:gz, bz2, xz, zip, Z 压缩算法:算法不同,压缩比也会不同: 早期 压缩: compress(压缩比很小): ...

  5. initrd映像文档的作用和制作

    RePrint:http://hi.baidu.com/wangpeng1314/blog/item/212e9e1752377f064b90a7f5.html 我们在安装新内核的时候,通常都会编辑l ...

  6. 解压Ubuntu的initrd.img的方法

    Ubuntu的initrd.img可以在/boot中找到,通常文件名后面还跟有很长的一串版本号. 为了保险起见,不直接操作原文件,而是把它复制到自己的家目(home)录中.如果你是用root帐号登录的 ...

  7. 详解Linux Initrd

    在Linux操作系统中,有一项特殊的功能--初始化内存盘INITRD(INITial Ram Disk)技术,而且内核支持压缩的文件系统映像.有了这两项功能,我们可以让Linux系统从小的初始化内存盘 ...

  8. 【每日一记3.21】initrd

    initrd,既initial RAM disk(Linux出事RAM磁盘),实在系统引导过程中挂载的一个临时根文件系统.用来支持两阶段的引导过程.initrd文件中包含了各种可执行的程序和驱动,用来 ...

  9. 修改initrd做miniLinux

    开始试着修改initrd做miniLinux,需要向其中添加命令,慢慢完善.但是用ldd命令查看哪些大串的库再拷贝实在是纠结~ 自动实现一下: 描述: 输入命令后,自动寻找命令位置,将命令拷到对应根位 ...

  10. fedora利用vmlinuz和initrd制作linux启动u盘,Fedora 17的U盘安装方法

    使用U盘来安装Fedora 17,并使用Windows引导.以前写过U盘安装Fedora 16,http://www.linuxidc.com/Linux/2011-11/47296.htm .但是这 ...

最新文章

  1. jmeter测试webservice接口
  2. Linux last命令后面的时间
  3. 关于System.Web.Caching的“未将对象引用设置到对象的实例”错误
  4. 国内勒索病毒疫情严重 每天十多万台电脑被感染
  5. SAP-ABAP三种定义嵌套型结构的方法
  6. Rearrange an array of positive and negative integers
  7. linq 动态拼接where条件 类似 T_SQL And Or
  8. HashMap原理剖析
  9. 谭浩强C语言(第三版)习题5.7
  10. 前端在H5页面唤起微信支付(H5支付)
  11. Matlab如何多行添加注释和取消注释
  12. python条形堆积图_python – 带有中心标签的堆积条形图
  13. cdrom是什么意思_开启电脑时出现CDROM是什么意思
  14. 机器学习中的数学——点估计(三):极大似然估计/最大似然估计(Maximum Likelihood Estimate,MLE)
  15. Revit 项目基点和测量点
  16. 以index.wxml为例解析WXML
  17. 微信浏览器网页点击图片缩放
  18. 道周中学2012年高三地理寒假作业答案
  19. linux c alarm系统调用入门
  20. 不使用第三个变量,交换两个变量值

热门文章

  1. 百度,你拿什么和谷歌争?| 畅言
  2. 技术人不会学习,35 岁必然要焦虑!
  3. Google 亚马逊又双叒叕打架了!用户:我只想安静地用产品
  4. 第 25 章 策略模式
  5. linux chmod命令数字,菜鸟学Linux命令:chmod命令和数字文件权限
  6. java调用打印机打印excel linux_手把手教你嵌入式Linux系统驱动hp1020打印机
  7. java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园
  8. python发送邮件有逗号_Python发送邮件
  9. 学python编程好就业吗_学好python编程就业真的没有压力吗?
  10. python模型训练框架_Pytorch-Transformers 1.0发布,支持六个预训练框架,含27个预训练模型...