42 次浏览
ppm图片制作:
(1)在ubuntu12.04上安装netpbm工具,要求ubuntu操作系统联网。
sudo apt-get install netpbm
(2)准备bmp或者png格式的图片并命名为:logo.bmp;执行以下命令生成内核需要的ppm图片。
bmptopnm logo.bmp | ppmquant -fs 224 | pnmtoplainpnm > logo_linux_clut224.ppm
(3)将转换后的ppm图片放在内核的/drivers/video/logo下替换原有的logo_linux_clut224.ppm
(4)删除<source>/out/target/product/evk_8mm/obj/KERNEL_OBJ/drivers/video/logo目录下logo_linux_clut224.o文件,否则重新编译可能不生效
path: <source>/vender/nxp-opensource/kernel_imx
(1)使用命令行进入上述目录,输入指令make menuconfig ARCH=arm进行内核配置
Device Drivers --> Graphics support --> Bootup logo --> [*] Standard 224-color Linux logo
path: <source>/vendor/nxp-opensource/kernel_imx/drivers/video/fbdev/core/fbmem.c
(1)函数static int fb_show_logo_line中屏蔽并修改如下代码
//edited by peng
//image.dx = 0;
//image.dy = y;
image.width = logo->width;
image.height = logo->height;
image.dx=(info->var.xres/2)-(image.width/2);
image.dy=(info->var.yres/2)-(image.height/2);
(2)将fb_do_show_logo(info, &image, rotate, n)中的n改为1
fb_do_show_logo(info, &image, rotate, 1)
path: <source>/vendor/nxp-opensource/kernel_imx/drivers/video/fbdev/core/fbcon.c
(1)在函数static void fbcon_prepare_logo()中logo_height = fb_prepare_logo(info, ops->rotate);后增加如下代码
logo_height += (info->var.yres/2)-(logo_height/2);
(2)屏蔽函数static void fb_flashcursor()中所有代码使光标不闪烁
(3)屏蔽函数static void fbcon_cursor()中所有代码使光标不显示