如何在没有initramfs的情况下启动linux?

我正在寻找一种在没有initramfs的情况下启动现有Linux内核的方法.根据this link,应该可以通过编辑/boot/grub2/grub.cfg来实现.但是,如果我尝试这个配置

menuentry 'Fedora Linux, no initramfs' {
   set root='hd0,msdos1'
   linux    /vmlinuz-3.3.4-5.fc17.i686.PAE rootfstype=ext4 root=/dev/sda2 rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8
}

在内核尝试挂载initramfs时,引导进程因内核崩溃而停止.在编译过程中我是否必须告诉我不需要initramfs?我找到的唯一配置选项是CONFIG_INITRAMFS_SOURCE,它已设置为CONFIG_INITRAMFS_SOURCE =“”.

我知道有一个similar question,但它缺乏解释如何在实践中做到这一点.

解决方法:

Initramfs具有操作系统启动系统所需的所有必需信息.
它具有所有文件系统信息(例如来自哪些设备以及哪些设备具有需要为系统启动而安装的根fs.)并且内容是针对内核生成的.
您可以从另一个应该包含所有需要信息的图像启动.

您正在尝试使用的Vmlinux是一个静态链接的图像..它不能用于系统启动.据我所知,它主要用于符号生成和调试.

它不像它不能用于启动,但它需要在使用之前使其可启动..因为它没有bootsector信息.

上一篇:升级linux内核版本


下一篇:我应该如何配置grub从USB硬盘启动linux内核?