|
自己转自己的文章,嘿嘿
------------------------------------
Table of Contents
1 纠结
2 grub2 的控制台分辨率设置
3 grub2 菜单页面分辨率设置
1 纠结
最近换了一台笔记本电脑,非常看重的特性就是它那块 15.4 寸 1920x1200 的超高分辨率 IPS 屏。无奈 Gentoo 和 Ubuntu 的控制台都只给我 640x480 的超低分辨率,简直是对屏幕的犯罪! 于是决定折腾一下。
首先我在 Gentoo 下重新编译了 grub2,加入 truetype 支持,grub2 启动项内核后加 vga=893 参数,重启。居然不能进入启动菜单列表,grub2 报错:
out of range pointer 0x7fea0
我仔细检查好久,终于发现,我原来的 grub 1.98 是由 stage 3 自带的 gcc 4.4.2 编译的,没有这个错误;而这个报错的 grub 版本还是 1.98,由我升级后的 gcc 4.5.2 编译。问题出在 gcc 4.5.2 编译的 grub 1.98 身上。Gentoo 论坛的帖子证实了这个结论:
http://forums.gentoo.org/viewtopic-t-829324-start-0.html
后来一怒之下 unmask 掉了 portage 里面的 grub-9999,用 gcc 4.5.2 重新编译,才终于好了。这个 grub-9999, 其实是 grub 1.99 版本。
2 grub2 的控制台分辨率设置
要确保相应显卡的 framebuffer 支持编译进内核,或者编译成模块,一般有数种选择,具体过程略去不谈。我用的是 vesa vga 驱动,直接编译n近内核。
原来启动项内核后的 vga 参数已经被 grub2 无情抛弃,不过它还算有点良心,主动在 grub 控制台下告诉我应该怎么办。
首先在 grub 控制台下查看我的硬件支持的分辨率和色深:
grub> vbeinfo
我机器查到的最大分辨率和色深是 1920x1200x32. 把这个写进 grub 启动项里:
/etc/grub.d/40_custom:
menuentry "Gentoo Linux [1920x1200x32 Console] [500GB.1]" {
insmod vbe
set gfxpayload=1920x1200x32
set root=(hd0,1)
linux /boot/bzImage root=/dev/sda1
}
其中,insmod vbe 这行一般是不需要的,因为 vbe 模块一般会默认加载。别忘了更新 grub2:
~ % sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
done
(注意,update-grub 命令已遭 grub2 无情抛弃。)
重启,就得到 1920x1200 分辨率,32 位色深的控制台了。一行超长,一屏可以显示超多内容,真细腻……
3 grub2 菜单页面分辨率设置
上面把控制台整成了我们想要的分辨率,但 grub2 菜单页面还是 640x480 的,令人不爽。如果要把这个页面的分辨率也改掉,很简单:
/etc/default/grub:
GRUB_GFXMODE=1920x1200x32
这样就得到 1920x1200 的 grub 菜单页面。不过字体超级细,不见得人人都会喜欢。
至于美化 grub 啥的,我也不会,就不折腾了。
Author: Err
Date: 2011-02-06 23:48:30 CST
HTML generated by org-mode 7.4 in emacs 24 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|