2013-06-22 78 views
2

我的问题是关于linux内核。当framebuffer设备初始化时(我猜它是vesafb),屏幕上充满黑色。我怎样才能改变这种颜色?我应该编辑哪个文件?我想这是在司机/视频/更改Linux framebuffer背景色

我只知道更改控制台背景(drivers/tty/vt/vt.c),但这不是我所需要的。 VGA控制台已关闭。

如果我的描述不清楚,我有一个video显示我的系统启动在虚拟机中。内核加载后,QEMU窗口将其大小更改为640x480并变为全黑(0:03-0:04)。这是我想要修改的。在我的init启动之后。它将文本输出到帧缓冲区,然后死亡,导致内核恐慌并在1秒内重新启动。然后一切都开始了。

回答

1

vt.c中的控制台实现从前作为VGA控制台开始,但它现在用于所有控制台。 ('属性字节'映射到底层硬件驱动程序实际支持的任何内容。)

vc_def_color的初始化更改为vc_init()

从版本3.12开始,这也可以通过内核参数vt.color进行更改。

+0

我将它改为'vc-> vc_def_color = 0x07;',但没有结果。 顺便说一句,它的工作原理,如果我启用VGA控制台,但结果通常是相同的:在一开始屏幕充满了黑色。 – CYB3R

+0

'0x07'是旧的默认值。在GPU驱动程序初始化之前,您将获得由BIOS设置的文本模式,该模式始终具有黑色背景。 –

+0

好的。这是否意味着内核甚至没有屏幕填充代码?如果是这样,我需要添加它。 仍然有人填满屏幕(请参阅我的视频0:07,屏幕从旧数据清除),也许它是BIOS。 – CYB3R