Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
修改kernel logo
am335x查找源码:bitbake linux-ti -c devshell,
i.MX6查找源码:bitbake linux-mainline -c devshell,
logo图片的要求:
- png格式,最大颜色数223,可通过gimp转换
kernel的logo支持的最大颜色数量为224, 可以使用gimp软件(或者其他画图软件)的调色板将png图片的颜色最大数量设置为223, 才能保证转换成kernel logo的图片后不失真:
gimp菜单: 图像 --> 模式 --> 索引(I) --> 索引颜色变换 --> 最大颜色数量
- 图片默认显示在左上角,需要将图片转换为与显示屏横向(x轴)一样的分辨率
- 为了将图片居中显示,需要生成一张图片,放在左上角时,刚好要显示的logo在中间。
- 图片不能完全占满Y轴,需要裁切一些,否则会显示不出来。
linux logo的存放位置在内核源码目录下:drivers/video/logo, logo的格式为.ppm,
png图片转为ppm格式
pngtopnm picture.png | ppmquant -fs 223 | pnmtoplainpnm > logo_name_clut224.ppm
1、复制.ppm文件到drivers/video/logo目录下
cp $YOUR_IMAGE.ppm drivers/video/logo/logo_name_clut224.ppm
2、修改drivers/video/logo目录下的Kconfig文件,增加.ppm文件的配置,在Kconfig文件增加以下几行
config LOGO_NAME_CLUT224 bool "Logo description" default y
3、修改 drivers/video/logo/logo.c文件
diff --git a/drivers/video/logo/logo.c b/drivers/video/logo/logo.c index 4d50bfd13e7c..669995bcca3f 100644 --- a/drivers/video/logo/logo.c +++ b/drivers/video/logo/logo.c @@ -74,6 +74,10 @@ const struct linux_logo * __ref fb_find_logo(int depth) } if (depth >= 8) { +#ifdef CONFIG_LOGO_NAME_CLUT224 + /* Some comments */ + logo = &logo_name_clut224; +#endif #ifdef CONFIG_LOGO_LINUX_CLUT224 /* Generic Linux logo */ logo = &logo_linux_clut224;
4、修改drivers/video/logo/Makefile文件,增加下面一行
obj-$(CONFIG_LOGO_NAME_CLUT224) += logo_name_clut224.o
5、修改include/linux/linux_logo.h文件,增加一行
extern const struct linux_logo logo_name_clut224;
6、使用以下命令进入内核菜单,修改启动logo图片配置,在Kernel configuration -> Device Drivers -> Graphics support -> Bootup logo 中选择新创建的logo,其他的logo取消选中,然后保存退出。
bitbake linux-ti -c menuconfig //AM335X bitbake linux-mainline -c menuconfig //i.MX6
7、使用以下命令重新编译内核,将生成的内核更新到开发板。
bitbake linux-ti -c compile -f //AM335X bitbake linux-ti -c deploy //AM335X bitbake linux-mainline -c compile -f //i.MX6 bitbake linux-mainline -c deploy //i.MX6
修改控制台光标
如果要取消logo下面的闪烁光标, 可向kernel command line中传入以下参数即可.
vt.global_cursor_default=0
kernel command line 参数修改方法可参考以下文档: