LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3425|回复: 13

TIP: 如何安装使用uvesafb [原创]

[复制链接]
发表于 2008-1-4 20:34:32 | 显示全部楼层 |阅读模式
主要信息翻译自http://dev.gentoo.org/~spock/project/uvesafb/

uvesafb是vesafb-tng的继承者.内核从2.6.23开始不再支持vesafb-tng.如果想启用framebuffer,则需安装uvesafb.

uvesafb的主要特点:
1. 可在非x86系统上工作;
2. 视频BIOS(Video BIOS)代码由一个帮助程序运行与用户空间;
3. 可编译成模块;
4. 结合兼容VBE 3.0的显卡可以调整刷新率;

相关知识点:
uvesafb::v86d
v86d是在模拟环境下运行x86代码的的用户空间帮助程序.没有它uvesafb就无法工作.v86d当前支持x86和amd64(x86-64)架构.

安装步骤:
1. cd /usr/src/linux && make menuconfig;
2. Device Drivers
        <*>Connector - unified userspace<->kernelspace linker ->
       Graphic support ->
           <*> Userspace VESA VGA graphics support
3. make;
4. emerge -av klibc;
5. emerge -av v86d;
6. make menuconfig;
7. General Setup
        <*> Initial RAM filesystem and RAM disk (initramfs/initrd) support
              (/usr/share/v86d/initramfs) Initramfs source file(s)
8. 重编内核。make;
9. 编辑引导程序的配置文件。对于grub,在内核参数上加上 video=uvesafb:1024x768-32,mtrr:3,ywrap.
我的grub.conf是这样的:
titile Gentoo Linux
root hd(0,0)
kernel=/boot/bzImage root=/dev/hda1 video=uvesafb:1280x1024-32,mtrr:3,ywrap
10. 重启.

如果有什么地方写得不对,请大家指点。谢谢!
发表于 2008-1-6 10:34:07 | 显示全部楼层
Post by sephinroth;1803205
主要信息翻译自http://dev.gentoo.org/~spock/project/uvesafb/

uvesafb是vesafb-tng的继承者.内核从2.6.23开始不再支持vesafb-tng.如果想启用framebuffer,则需安装uvesafb.

uvesafb的主要特点:
1. 可在非x86系统上工作;
2. 视频BIOS(Video BIOS)代码由一个帮助程序运行与用户空间;
3. 可编译成模块;
請問如果译成模块也可以透过kernel boot parameter来开动吗?
4. 结合兼容VBE 3.0的显卡可以调整刷新率;

相关知识点:
uvesafb::v86d
v86d是在模拟环境下运行x86代码的的用户空间帮助程序.没有它uvesafb就无法工作.v86d当前支持x86和amd64(x86-64)架构.

安装步骤:
1. cd /usr/src/linux && make menuconfig;
2. Device Drivers
        <*>Connector - unified userspace<->kernelspace linker ->
       Graphic support ->
           <*> Userspace VESA VGA graphics support
3. make;
4. emerge -av klibc;
5. emerge -av v86d;
6. make menuconfig;
7. General Setup
        <*> Initial RAM filesystem and RAM disk (initramfs/initrd) support
              (/usr/share/v86d/initramfs) Initramfs source file(s)
是否一定用这个initrd source file?
8. 重编内核。make;
9. 编辑引导程序的配置文件。对于grub,在内核参数上加上 video=uvesafb:1024x768-32,mtrr:3,ywrap.
我的grub.conf是这样的:
titile Gentoo Linux
root hd(0,0)
kernel=/boot/bzImage root=/dev/hda1 video=uvesafb:1280x1024-32,mtrr:3,ywrap
10. 重启.

如果有什么地方写得不对,请大家指点。谢谢!
回复 支持 反对

使用道具 举报

发表于 2008-1-6 12:36:37 | 显示全部楼层
<*> Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs) Initramfs source file(s)
直接在内核中使用这个initram file,就不用在grup.conf中进行配置了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-7 01:01:02 | 显示全部楼层
Post by mathfeel;1803576
請問如果译成模块也可以透过kernel boot parameter来开动吗?

是否一定用这个initrd source file?


1. 如果编译成模块,也可通过kernel boot parameter来启动。
这个主要是通过initramfs实现的。

2. 一定需要这个initrd source file。这个是因为uvesafb会由initramfs启动,即在加载内核之前就启动,所以必需有这个initrd source file.
回复 支持 反对

使用道具 举报

发表于 2008-1-7 10:02:15 | 显示全部楼层
为了解决framebuffer的问题google了好几个小时,昨天没看到这个帖子,网上其他帖子都是2.6.23以前的,不过最后也google到了英文原文,解决了
自己的小过失,走了更多弯路
1 grub一定记得修改!video=uvesafb 跟原来的不一样了
2 1024x768不要打成1024*768
回复 支持 反对

使用道具 举报

发表于 2008-2-7 20:57:09 | 显示全部楼层
看到了,原来现在是这个了。
刚才搜到英文原版了
回复 支持 反对

使用道具 举报

发表于 2008-2-8 09:25:54 | 显示全部楼层
开uvesa还要编译两次内核,真够麻烦的。如果是第一次装gentoo,能一次性解决这个问题吗?
回复 支持 反对

使用道具 举报

发表于 2008-2-8 14:36:16 | 显示全部楼层
为什么我现在用vesa还可以呢?这个我是选了,可是没有按LZ说的initrd做,谁呢告诉我下,这有什么区别呢?不用行吗?
回复 支持 反对

使用道具 举报

发表于 2008-2-8 19:27:20 | 显示全部楼层
不用当然可以。能不用尽量不用吧。uvesa应该是在vesa不能用的情况下才用的吧。
反正我用了之后,在top中看到v86d占不少资源。
回复 支持 反对

使用道具 举报

发表于 2008-2-8 19:44:34 | 显示全部楼层
第二次编译很快的说
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表