• 如何制作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 
  • 相关阅读:
    12.1
    我的火车头
    头文件优化时间
    一些姿势
    CodeForces
    CodeForces
    [SDOI 2015] 约数个数和
    BZOJ
    [国家集训队] middle
    鹅的问题
  • 原文地址:https://www.cnblogs.com/huapox/p/3516312.html
Copyright © 2020-2023  润新知