logo和螢幕游標
Linux預設開機LOGO一般都是80x80的小企鵝表徵圖,有時候為了一些效果,希望在Linux
啟動過程中,全屏看到使用者自訂的LOGO,這就需要為Linux增加新的LOGO。
準備png圖片
使用任何圖片軟體,製作一張自訂的開機圖片,可以根據自己的液晶屏大小設定,png
格式。如下以224色為例。
我使用了一張jylogo800480的png圖片。
轉換成ppm檔案
# pngtopnm jylogo800480.png | ppmquant -fs 223 | pnmtoplainpnm >
logo_jylogo_clut224.ppm
添加新LOGO
將得到的ogo_jylogo_clut224.ppm檔案複製到drivers/video/logo目錄下,命名為
logo_jylogo_clut224.ppm
drivers/video/logo/logo_jylogo_clut224.ppm
進入drivers/video/logo目錄,修改logo.c檔案:
extern const struct linux_logo logo_jylogo_clut224;
並添加:
#ifdef CONFIG_LOGO_JY
logo = &logo_jylogo_clut224;
return logo;
#endif
修改Makefile:
obj-$(CONFIG_LOGO_JY) += logo_jylogo_clut224.o
修改Kconfig檔案:
config LOGO_JY
bool "JY-01 Linux logo"
default y
紅色標誌的必須相同,必須遵循(logo_yourname_type)這種命名方式。
禁止LCD控制台的游標
另外,使用了全屏的LOGO圖片後,控制台還是有游標閃爍,如何禁止?
去掉了framebuffer console支援,試試。
不行,LOGO都不顯示了。
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
// if (err)
// soft_cursor(info, &cursor);
游標成功禁止,圖形介面正常啟動。