首页 > 编程知识 正文

linux wcl命令详解,linux ddl 命令

时间:2023-05-03 13:16:39 阅读:159195 作者:4695

在centos 6上自行编译linux内核,完成initrd文件的创建,并根据以前的经验创建mkinitrd

# mkinitrd-v ./init ramfs-3.0.32.img3.0. 32

但是,输出的消息与以前的版本不同,好像打包了很多模块,生成也很花时间,完成后,看到initramfs文件就有100多个OMG这样的大文件

不能放弃/boot目录。 /boot挂在另一个只有100M大小的分区下。

n经过长时间的辛苦,我们发现原来的redhat/centos6用的是dracut,而不是原来的mkinitrd。 mkinitrd实际上只是调用dracut的功能。 研究dracut后发现,如果只是生成在grub引导本地硬盘上使用的linux,要避免dracut将过多不必要的模块加载到initramfs.img中,这些参数包括

da cut-f-v-- host only-k '/lib/modules/3.0.32 ' ./init ramfs-3.0.32.img3.0. 32

通过参考kernel编译并安装的make install,可以使用以下脚本执行此操作:

sh/path/to/kernel-source/Linux-3.0.32/arch/x86/boot/install.sh

3.0.32 arch/x86/boot/bzimage system.map '/boot '

浏览到调用/sbin/installkernel的arch/x86/boot/install.sh文件

、/sbin/new-kernel-pkg、/sbin/dracut

通过分析/sbin/new-kernel-pkg,第290行包含以下代码

if [ -n '$dracut' ]; then

tool='/sbin/dracut $ dracuthostonly-f $ initrd file $ version '

else

tool='/sbin/mkinitrd-- allow-missing-f $ initrd file $ version '

fi

其中变量$dracuthostonly的值为-H,在dracut参数中等效于--hostonly。

问题必须解决到此为止。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。