我刚刚尝试使用xen内核安装gentoo linux。问题是在文件系统部分的内核配置中没有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而不需要随意移动?
感谢您的回答!
答案 0 :(得分:0)
如果该分区使用的是默认启用的扩展区,则无法将ext4分区挂载为ext3。缺少ext4支持的原因是因为这个内核太旧了。我不建议在低于2.6.30的任何地方使用ext4。它给你的原因如旧内核是因为这是“稳定”的包版本。 “unstable”包版本将为您提供2.6.38。如果您不希望在整个系统中使用“unstable”软件包,则可以在/etc/portage/package.keywords中添加覆盖。假设你在amd64 ......
sys-kernel/xen-sources ~amd64
答案 1 :(得分:0)
Xen现已包含在大于3.0的Linux内核的上游版本中,因此您可以直接使用gentoo-sources(或git-sources)来获取启用xen的内核。
另外要通知您,如果某些模块未编译到内核中(如ata支持),启动进度也会因恐慌而停止。为了防止这种情况,你可以先创建一个initramfs,启动它一次,看看哪些模块是自动加载的,确保它们被编译到内核中,然后你可以重新编译内核,不用initramfs。