Kernel 使用xen内核(gentoo)的根ext4分区

Kernel 使用xen内核(gentoo)的根ext4分区,kernel,xen,gentoo,ext4,Kernel,Xen,Gentoo,Ext4,我刚刚尝试使用xen内核安装GentooLinux。问题是在文件系统部分的内核配置中没有ext4选项。但是我的根分区是ext4。我试图忽略假设ext4支持是在ext3支持或类似的东西中构建的。我的启动和主分区是分开的。在我的grub.cfg中,我有: Found Gentoo Base System release 2.0.3 on /dev/sda9 menuentry "Gentoo Base System release 2.0.3 XEN" { i

我刚刚尝试使用xen内核安装GentooLinux。问题是在文件系统部分的内核配置中没有ext4选项。但是我的根分区是ext4。我试图忽略假设ext4支持是在ext3支持或类似的东西中构建的。我的启动和主分区是分开的。在我的grub.cfg中,我有:

    Found Gentoo Base System release 2.0.3 on /dev/sda9
    menuentry "Gentoo Base System release 2.0.3 XEN" {
            insmod ext2
            set root='(hd0,4)'
            search --no-floppy --fs-uuid --set 8d2cb7cd-4d4e-402a-a133-1b09054ed851
            multiboot /xen.gz
            module /vmlinuz-2.6.18-xen root=/dev/sda9
    }
当我的系统启动时。我得到以下信息:

   Kernel panic - not syncing:VFS: Unable to mount root fs
所以我想这是因为ext4没有启用,但我可能错了。如果这是真的-有没有办法在xen内核上获得ext4支持?有没有什么简单的方法可以将ext4转换成ext3而不需要改变东西


谢谢你的回答

如果ext4分区使用默认启用的扩展数据块,则不能将该分区装载为ext3。缺少ext4支持的原因是该内核太旧。我不建议在2.6.30以下的版本上使用ext4。它之所以给您提供旧内核,是因为这是“稳定”的包版本。“不稳定”软件包版本将为您提供2.6.38。如果您不希望在整个系统中使用“不稳定”的包,那么可以在/etc/portage/package.keywords中添加覆盖。假设你在amd64上

sys-kernel/xen-sources ~amd64

Xen现在包含在Linux内核3.0以上的上游版本中,因此您可以直接使用gentoo源代码(或git源代码,如您所愿)来获得支持Xen的内核

还要告诉您,如果某些模块没有编译到内核中(如ata支持),那么启动过程也会因死机而停止。为了防止这种情况发生,您可以首先创建一个initramfs,引导它一次,然后查看哪些模块被自动加载,确保它们被编译到内核中,然后您可以重新编译内核而不使用initramfs