am335x查找源码:bitbake linux-ti -c devshell,

i.MX6查找源码:bitbake linux-mainline -c devshell,

logo图片的要求:

  1. png格式,最大颜色数223,可通过gimp转换
    1. kernel的logo支持的最大颜色数量为224, 可以使用gimp软件(或者其他画图软件)的调色板将png图片的颜色最大数量设置为223, 才能保证转换成kernel logo的图片后不失真:

      gimp菜单: 图像 --> 模式 --> 索引(I) --> 索引颜色变换 --> 最大颜色数量

  2. 图片默认显示在左上角,需要将图片转换为与显示屏横向(x轴)一样的分辨率
  3. 为了将图片居中显示,需要生成一张图片,放在左上角时,刚好要显示的logo在中间。
  4. 图片不能完全占满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 参数修改方法可参考以下文档:

https://wiki.phytec.com/pages/viewpage.action?pageId=69501808#barebox使用教程/Introducingbarebox-内核启动参数修改


  • No labels