红联Linux门户
Linux帮助

编译内核后为什么不能用mkinitrd生成.img的文件

发布时间:2011-03-03 17:27:28来源:红联作者:superherogood
我在编译完内核后不能在/boot下生成initrd的文件,这是什么原因啊?
文章评论

共有 7 条评论

  1. 相思爱文 于 2011-03-04 22:06:56发表:

    6# robertbs


    先读官方文档,比较系统和权威。各发行版配置方法不同

  2. pallana 于 2011-03-04 21:11:23发表:

    6# robertbs


    不需要的,编译内核只需要
    make menuconfig
    make
    sudo make modules_install
    sudo make install
    四条命令,其中
    make 会把内核以及模块都编译了,不需要make modules命令单独编译模块。
    make modules_install 安装模块
    make install安装内核,可以参看这里
    我的系统是fedora14

  3. robertbs 于 2011-03-04 00:54:20发表:

    这个问题其实用debian或ubuntu的,基本上都会遇到,几年前当我第一次编译内核时就困惑不已,因为一般内核编程的书都是只介绍mkinitrd的,貌似2.6以后都要用mkinitramfs来生成initrd.img。好久没接触内核方面的,下面的内容是抄来的,希望对你有帮助。

    在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mkinitrd,而在Ubuntu/Debian下是用mkinitramfs.它们的用法稍微有些不一样,如下所示:

    mkinitrd /boot/initrd.img 2.6.26

    mkinitramfs 2.6.xx -o /boot/initrd.img

    其中2.6.xx为/lib/modules下的目录名称.

  4. 相思爱文 于 2011-03-03 21:02:54发表:

    需要安装相应工具,具体看官方文档介绍。

  5. pallana 于 2011-03-03 17:53:34发表:

    [i=s] 本帖最后由 pallana 于 2011-3-3 17:55 编辑 [/i]

    我用Fedora14,没有mkinitrd这个命令的。
    其实不用这个命令生成的,直接make install 就可以自动生成你所需要的所有文件

  6. debian4.0 于 2011-03-03 17:38:11发表:

    mkinitrd -o initrd-2.6.18.img /lib/modules/2.6.18

  7. debian4.0 于 2011-03-03 17:33:51发表:

    编译成功了?