开机logo替换 您所在的位置:网站首页 uboot开机画面制作 开机logo替换

开机logo替换

2023-10-05 16:45| 来源: 网络整理| 查看: 265

开机logo替换¶

本文目录

开机logo替换 uboot启动界面的版本信息隐藏 uboot开机画面更换 准备一张jpeg图片,通过命令行处理为8bit BMP图片 将bmp文件放入/tools/logos中,并修改/tools/下的Makefile 确认配置文件 重新编译u-boot即可得到显示新logo的u-boot。 linux开机画面更换 方法一 方法二 隐藏启动光标 uboot启动界面的版本信息隐藏¶

drivers/video/cfb_console.c 中加上 CONFIG_HIDE_LOGO_VERSION ,可以隐藏uboot的版本信息。

uboot开机画面更换¶

Uboot的开机logo默认情况(只定义了 CONFIG_VIDEO_LOGO)是企鹅logo,这个是存在于uboot代码中的一个头文件( include/video_logo.h 或 bmp_logo.h),这个是一个巨大的结构体,其中保存着图片每个像素点的色彩数据。

准备一张jpeg图片,通过命令行处理为8bit BMP图片¶ #!/bin/sh #install Netpbm first jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2

使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)

//这种方式出来的图不如用专业图片处理软件的好

将bmp文件放入/tools/logos中,并修改/tools/下的Makefile¶ # Generated LCD/video logo LOGO_H = $(OBJTREE)/include/bmp_logo.h LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_H) LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_H) ifeq ($(LOGO_BMP),) LOGO_BMP= logos/mylogo.bmp endif ifeq ($(VENDOR),atmel) LOGO_BMP= logos/atmel.bmp endif ifeq ($(VENDOR),esd) LOGO_BMP= logos/esd.bmp endif ifeq ($(VENDOR),freescale) LOGO_BMP= logos/freescale.bmp endif ifeq ($(VENDOR),ronetix) LOGO_BMP= logos/ronetix.bmp endif ifeq ($(VENDOR),syteco) LOGO_BMP= logos/syteco.bmp endif

将 mylogo.bmp 替换成你生成的logo

确认配置文件¶

在 include/configs/sun8i.h​ 中加入两个宏定义:

#define CONFIG_VIDEO_LOGO #define CONFIG_VIDEO_BMP_LOGO

编译的时候,你的bmp文件会被 tools/bmp_logo.c 编译出的工具bmp_logo制作成 include/bmp_logo.h,并编译进uboot中。

重新编译u-boot即可得到显示新logo的u-boot。¶

小技巧

相关代码在drivers/video/cfb_console.c下

#ifdef CONFIG_VIDEO_LOGO /* Plot the logo and get start point of console */ debug("Video: Drawing the logo ...\n"); video_console_address = video_logo();

drv_video_init -> cfg_video_init

linux开机画面更换¶ 方法一¶

drivers/video/logo/logo_linux_clut224.ppm 是默认的启动Logo图片,把自己的Logo图片(png格式)转换成ppm格式,替换这个文件,同时删除 logo_linux_clut224.c logo_linux_clut224.o 文件,重新编译

具体方法:

#sudo apt-get install netpbm #pngtopnm your_boot.png > logo_linux_clut2240.pnm #pnmquant 224 logo_linux_clut2240.pnm > logo_linux_clut2241.pnm #pnmtoplainpnm logo_linux_clut2241.pnm > logo_linux_clut224.ppm #cp drivers/video/logo/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm.bak #cp pic/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm

注:先把png转换成pnm格式,但内核的Logo最高只支持224色,需要把颜色转换成224色,最后把pnm转成ppm,文件名必须是 logo_linux_clut224.ppm 。

注意在kernel的menuconfig里需要使能LOGO。

方法二¶

用RedHat9.0自带的图片编辑工具GIMP(其他发行版自己安装就行了)。

将颜色数改为224(在GIMP中一次选择 图像->模式->索引。如下图所示)。 调整大小:宽高都小两像素,否则不显示。 另存为,保存为ppm格式,在弹出的对话框中选择Ascii,然后复制到Logo文件夹替换原来的文件,同时删除 logo_linux_clut224.c logo_linux_clut224.o 文件。 隐藏启动光标¶

在内核的当前目录进入到 drivers/video/console/fbcon.c 文件

将 static void fb_flashcursor(void *private),static void fbcon_cursor(struct vc_data *vc, int mode) 用空函数替换。

另一种禁止光标的方法:

drivers/video/console/Makefile¶ #obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o

编译遇到一个 soft_cursor 没有定义的问题问题,注释代码:

drivers/video/console/bitblit.c¶ //ABING // if (err) // soft_cursor(info, &cursor);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有