最近做的4412板子终于经过测试形成产品,在这之前需要把内核启动过程中的打印信息去掉,并且更换启动LOGO,下面讲讲自己去掉打印信息的过程。
一 去掉打印信息方法很多,我使用一个相对比较简单的,就是将下面选项的[*]去掉
Device Drivers --->
Character devices --->
[* ] Support for console on virtual terminal
这样printk的打印信息就不会输出在显示器或LCD上。
将打印信息去掉后,莫名其妙的会出现因为读取文件系统失败而启动不了的情况,报错:Kernel panic - not syncing: VFS。根据网上查找到的资料,因为系统启动过程中,磁盘EMMC的初始化和读取文件系统是在两个不同的线程中进行的,屏蔽掉打印信息后,主线程,及挂在文件系统的线程执行时间缩短,以至于当主线程准备挂载文件系统的时候,EMMC的初始化还没有完成,所以启动会失败。这个时候我们可以再uboot的启动参数中加入rootdelay=1,延迟系统挂在文件系统的时间,从而使系统顺利启动。
其实还有一种更简单的方法,不仅能将内核的打印信息屏蔽掉,而且用户态的配置打印信息也能屏蔽,就是在uboot参数中将显示器console=/dev/null,注意不要改动串口的console,否则无法使用串口看到打印信息进行调试。
二 去掉字符界面的光标
在内核的当前目录进入到drivers/video/console/fbcon.c 文件
将static void fb_flashcursor(void *private) 和 static void f