我已按照手册成功安装了 Gentoo 作为 VirtualBox Guest VM(http://www.gentoo.org/doc/en/handbook/handbook-x86.xml)。一切正常,但我想在 grub2 加载后更改控制台的默认分辨率。
但是,当更改我的/etc/default/grub
文件并添加时:
GRUB_GFXPAYLOAD_LINUX=keep
.. 系统成功启动 grub2,但在加载内核时挂起。屏幕上只显示“正在加载某某内核”。
由于 liveCD 映像在以较高分辨率运行控制台时没有问题,因此似乎我缺少驱动程序,或者在编译内核时忘记了某些东西。但是阅读了一段时间的 Grub2 和 Gentoo 文档后,我还是搞不清楚缺少了什么,以及如何进一步排除此问题。
并且,需要记录的是:
- Gentoo 基础系统版本 2.2
- Linux 内核 3.10.25-gentoo
- 更改
/etc/default/grub
文件后,我当然会运行grub2-mkconfig -o /boot/grub/grub.cfg
并检查消息“Found linux image [..]
”。)以确定更改grub.cfg
已成功完成 - 当我仅为 grub2 配置更高的分辨率并省略该
GRUB_GFXPAYLOAD_LINUX=keep
选项时,系统正常启动(默认为低分辨率)。并且 grub2 正确使用更高的分辨率 - 我想要使用的分辨率(
1024x768x32
)列在 grub2vbeinfo
输出中 - 当我配置任何值时
GRUB_GFXPAYLOAD_LINUX
,例如640x480x32
,系统在加载内核时也会冻结
如能得到任何帮助或提示我将非常感激!
答案1
它正在工作:)我修复了两件事:
首先,/etc/conf.d/modules
缺少几行,最重要的是:
modules="vboxsf"
modules="vboxvideo"
modules="vboxguest"
.. 添加这些内容后,grub2 最终会加载内核,rc 会自动启动 kdm。(我以为我有这些行,但显然,之前保存该文件时出了点问题。)
最后,我重新编译了内核并启用了以下选项:
Device Drivers -> Graphics support
-> Enable Support for frame buffer devices -> VESA VGA Graphics support
.. 之后,我看到了标准的 Linux 启动输出(启动所有服务等),但这次分辨率更高。
顺便说一句,我发现这篇文章非常有用:
http://blog.jolexa.net/2008/07/howto-gentoo-guest-os-in-virtualbox/
总而言之,这是一次非常有用的 Grub、Gentoo 和编译练习 :)