zoukankan      html  css  js  c++  java
  • 如何制作initrd.img文件

    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 
  • 相关阅读:
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    SVN分支
    SVN分支
    SVN 版本回退
    SVN 版本回退
    如何在excel中取消合并单元格后内容自动填充?
    如何在excel中取消合并单元格后内容自动填充?
    如何让自己像打王者荣耀一样发了疯、拼了命的学习?
  • 原文地址:https://www.cnblogs.com/huapox/p/3516312.html
Copyright © 2011-2022 走看看