全部博文(668)
分类:
2009-09-25 10:52:36
索性自己研究了一下Linux的配置项,终于可以完全按照自己的意愿实现 LCD+USB键盘的 console了:
第一步,进入“Character devices”:
勾选“[*] Support for console on virtual terminal”:
第二步,进入“Console drivers ”-->“Frame-buffer support”:
取消选择“Support only 8 pixels wide fonts”,并选择“Select compiled-in fonts”下的某一款字体,参考下图。这一步是为了改善LCD上的显示字体,默认的字体太小了,不好看。
第三步,进入“General setup”:
选择“Support CONSOLE_PM”。这一步是为了打开光标,否则当使用LCD作为console的时候,没有光标,非常不好用。这一点在网上找了很久都没有找到,非常遗憾。后来索性去读kernel的代码,才发现光标的显示与否,竟然是跟“CONSOLE_PM”选项有关的,一直没想明白为什么~(PM是Power Management的所写吧?)
最后一步,修改kernel的启动参数。以vivi作为bootloader为例,通常我们使用的启动参数如下:
vivi>param set linux_cmd_line "noinitrd root=/dev/mtdblock/1 init=/linuxrc console=ttyS0"
这里,console=ttyS0表示使用串口0作为console终端。需要修改为:
vivi>param set linux_cmd_line "noinitrd root=/dev/mtdblock/1 init=/linuxrc console=tty0"
tty0是一个比较特别的设备,它将lcd framebuffer0作为stdout,而将keyboard做为stdin,当选择tty0做为console的时候,kernel的命令行就可以在LCD上显示了,同时可以接受USB Keyboard的输入,美哉~~~