2008-11-12 16:02:37 
 
initrd.img文件是redhat,mandrake等linux发布使用的内存镜像文件。镜像中是一个微型系统。在安装系统时,将initrd.img展开到内存中。并运行rc安装脚本。另外现在比较流行的Live CD,也可以使用initrd.img的方法来实现。
  了解initrd.img文件的制作和修改方法,可以用来制作自己的安装光盘和LIVE CD系统。
  一,解开initrd.img
  gzip –cd /root/isolinux/isolinux/initrd.img>/tmp/initrd.ext2
  mount –o loop /tmp/initrd.ext2 /mnt/
  /mnt/目录下就是initrd.img中的微型系统
  二,生成initrd.img
  umount /mnt/
  gzip –c9 /tmp/initrd.ext2>/root/isolinux/isolinux/initrd.img
 
******************************************************************
linux2.6下生成的initrd镜像(img非cpio)为何不能和linux2.4的内核配合使用?有没有一种方法使之匹配?
2010-02-21 13:31
相同的文件在redhat9做initrd文件系统没有问题,可以正常启动,但放在AS4.7(内核2.6)出现如下提示:
attempt to access beyond end of device
01:00: rw=0, want=1647259183, limit=204800
attempt to access beyond end of device
01:00: rw=0, want=1647259183, limit=204800
attempt to access beyond end of device
01:00: rw=0, want=2037609827, limit=204800
attempt to access beyond end of device
01:00: rw=0, want=2037609827, limit=204800
Kernel panic: No init found.  Try passing init= option to kernel.
 
redhat9的内核与新linux2.6对软连接的处理方式不同,修改方法参考http://lists.debian.org/debian-devel/2003/12/msg01882.html提问者评价谢谢,验证ok
 
******************************************************************
linuxsir--发表于 2003-05-24 13:54:41
initrd是内核启动映象,如果没有这个文件,有时系统启动时没有办法找到根分区 
 
initrd.img这样类似的文件,是用下面的命令创建面来。我举例说明:可以用两个方法,比如我的系统的内核版本是2.4.20-8 
 
如果我们重编了内核, 就要用下面的两个命令来生成映像文件,否则有时系统启动时会找不到/根分区。 
 
mkinitrd /boot/initrd-.2.4.20-8img 2.4.20-8 
 
这样就会在/boot 目录中看到initrd-2.4.20-8.img的文件,其实您所说的initrd.img就是initrd-2.4.20-8.img文件的链接。 
 
可以这样生成 
#cd /boot 
#ln -s initrd-2.4.20-8.img initrd.img 
其实看列一下目录就知道这是一个链接。 
用这个命令来生成新的内核映象,要使新内核启动,要改动/etc/grub.conf或者lilo.conf才能生效。 
 
[root@linuxsir001 boot]# ll initrd.img 
lrwxrwxrwx 1 root root 19 5月 24 13:46 initrd.img -> initrd-2.4.20-8.img 
 
也可以用下面的命令; 
 
new-kernel-pkg --mkinitrd --depmod --install 2.4.20-8 
 
这个命令执行的结果是会生成intrd文件,也会自动改/etc/grub.conf或者lilo.conf,这样就一步到位使新内核生效。
 
******************************************************************
如何打开/生成initrd.img 
2012-05-26 
1, 解压initrd.img
zcat /boot/initrd.img | cpio -id  
2,压缩initrd.img
find . |  cpio -H newc --create  | gzip -9 > ../initrd.img 

如何制作initrd.img文件的更多相关文章

  1. 编译linux kernel及制作initrd ( by quqi99 )

    编译linux kernel及制作initrd ( by quqi99 ) 作者:张华  发表于:2013-01-27    ( http://blog.csdn.net/quqi99 ) 运行一个l ...

  2. linux下如何制作initrd镜像?

    1. 准备文件 加入已经准备好了所有文件在/home/initrd-base目录下 2. 制作initrd镜像 cd /home/initrd-base/ ;find . | cpio --quiet ...

  3. [转]如何制作tizen镜像文件(图文教程)?

    http://blog.csdn.net/flydream0/article/details/9163119 之前已讲解了如何下载及编译tizen源码(http://blog.csdn.net/fly ...

  4. 制作静态库文件(.a文件)

    制作静态库文件(.a文件) 1.创建静态库工程: 在Xcode中new一个新的project,选择IOS下面的Framework&Library,下面有一个Cocoa Touch Static ...

  5. 嵌入式:使用dd命令制作烧写文件

    1. 使用dd命令制作烧写文件 环境: bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtd ...

  6. NSIS:静默释放文件并运行 制作绿色单文件软件

    原文 NSIS:静默释放文件并运行 制作绿色单文件软件 现在所谓的绿色单文件软件,大多与以下代码原理相似:把软件运行需要的文件封装为一个EXE文件,双击时释放到某个目录(大多是TEMP)并运行主程序文 ...

  7. 利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe)

    原文:利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe) 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了.这 ...

  8. 问题:UltraISO:这个软件有问题,它制作的iso文件会造成无法正确识别。用PowerISO吧

    最近研究硬盘安装 centos7.6 (rhel 7.6)的 硬盘安装,因为原版dvd超过4G了,所以通过删除java-open-jdk的方式减少dvd光盘的大小. 但是前期用UltraISO制作的i ...

  9. UltraISO制作大于4G文件的光盘映像可启动U盘

    1.使用常规方法 制作 u盘启动 启动-->写入硬盘映像-->写入 2.制作成功后U盘 是FAT32格式 对于FAT32文件系统,其缺点不能存储超过4G的文件,而对于NTFS文件系统,则没 ...

随机推荐

  1. AOJ 2249 Road Construction (dijkstra)

    某国王需要修路,王国有一个首都和多个城市,需要修路.已经有修路计划了,但是修路费用太高. 为了减少修路费用,国王决定从计划中去掉一些路,但是需要满足一下两点: 保证所有城市都能连通 所有城市到首都的最 ...

  2. UOJ Round #1 题解

    题解: 质量不错的一套题目啊..(题解也很不错啊) t1: 首先暴力显然有20分,把ai相同的缩在一起就有40分了 然后会发现由于原来的式子有个%很不方便处理 so计数题嘛 考虑一下容斥 最终步数=初 ...

  3. BZOJ1207 [HNOI2004]打鼹鼠 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1207 题目概括 n*n的方阵上,一开始你可以在任何地方. 你每秒可以移动一格,接下来有m只地鼠冒出 ...

  4. 高德地图web端笔记;发送http请求的工具类

    1.查询所有电子围栏 package com.skjd.util; import java.io.BufferedReader; import java.io.InputStream; import ...

  5. 021 使用join()将数组转变为字符串

    1.定义用用法 join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. 语法 arrayObject.join(separator) 返回值 返回一个字符串.该字 ...

  6. STL容器底层数据结构的实现

    C++ STL 的实现: 1.vector      底层数据结构为数组 ,支持快速随机访问   2.list            底层数据结构为双向链表,支持快速增删   3.deque     ...

  7. 用mybatis的代码自动生成工具,炒鸡好用,推荐一下别人的操作

    http://www.cnblogs.com/smileberry/p/4145872.html

  8. 从零搭建ES搜索服务(一)基本概念及环境搭建

    一.前言 本系列文章最终目标是为了快速搭建一个简易可用的搜索服务.方案并不一定是最优,但实现难度较低. 二.背景 近期公司在重构老系统,需求是要求知识库支持全文检索. 我们知道普通的数据库 like ...

  9. SSID 已经一个路由器设多个SSID

    SSID(Service Set Identifier)   SSID,AP唯一的ID码,许多人认为可以将SSID写成ESSID,其实不然,SSID是个笼统的概念,包含了ESSID和BSSID,用来区 ...

  10. python-docx

    pip install python-docx 注意不要直接下载docx包 from docx import Document from docx.shared import RGBColor,Inc ...