linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)
修改linux內核kernel開機logo(小企鵝)
修改linux內核kernel的開機圖片(原為小企鵝圖片)。
轉載請注明出處:http://blog.csdn.net/wang_zheng_kai
導航制導與控制實驗室 2014年12月10日
本文主要是介紹三部分內容:
1》如何制作linux內核所需要的開機圖片(ppm格式);
2》修改開機圖片的兩種方法;
3》調試過程中的問題與技巧;
一、如何制作linux內核所需要的開機圖片(ppm格式)
1》在ubuntu系統上安裝netpdm,命令如下:
# sudo apt-get install netpdm
2》準備所需要的logo圖片,圖片的大小請參考開發板所使用的分辨率;
3》將我們準備好的logo(mylogo.png)轉換成我們需要的圖片格式:
# pngtopnm mylogo.png > my_linux_logo.pnm //將png轉換成pnm
# pnmquant 224 my_linux_logo.pnm > my_linux_logo_224.pnm//將pnm圖片的顏色數限制在224
# pnmtoplainpnm my_linux_logo_224.pnm > my_linux_logo_224.ppm//將pnm圖片轉換成最終的ppm
注:我調試的這個過程是基于png格式圖片的轉換過程,如果是其他格式的請轉換成png或者是使用其他的命令進行轉換。
二、修改開機圖片的兩種方法:
1、方法一:替換原有圖片
直接替換linux_kernel/driver/video/logo/下的圖片***,并確保替換的文件名前后一致。然后確保內核配置如下所示:
Device Drivers-->
Graphics Support-->
Bootop logo-->
[*]?? Standard
224-color Linux logo
重新編譯并燒錄到開發板中,重啟即可顯示。
2、方法二:添加新的圖片
1》將得到的my_linux_logo_224.ppm圖片文件直接復制到linux_kernel/driver/video/logo目錄下;
2》修改linux_kernel目錄下的如下文件:
在include/linux/linux_logo.h添加
extern const struct linux_logo my_linux_logo_224;在drivers/video/logo.c添加:#ifdef CONFIG_LOGO_MY
/*MY LINUX LOGO*/
logo = &my_linux_logo_224;
#endif
3、修改Makefile:
添加obj-$(CONFIG_LOGO_MY)
+=?my_linux_logo_224.o
4、修改Kconfig:
config LOGO_MY
bool "224-color my Linux logo"
default y
5、修改內核配置
Device Drivers-->
Graphics Support-->
Bootop logo-->
224-color my Linux logo
并取消[*]?Standard
224-color Linux logo選項。
重新編譯并燒錄到開發板中,重啟即可顯示。
三、調試過程中的問題與技巧
我在調試過程中一直出現黑屏現象,主要是我的圖片像素不正確,可以先找一個像素較小的圖片來測試下圖片是否成功,在制作與屏幕相對應像素的圖片。
想對現實的圖片進行居中顯示、拉伸顯示請修改driver/video/fbmem.c中的fb_show_logo_line函數和driver/video/console/fbcon.c中的fbcon_prepare_logo()函數。下面以居中顯示為例子進行講解:
例子:居中顯示
(1)修改源碼/driver/video/fbmem.c中的fb_show_logo_line函數。
//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)修改源碼/driver/video/console/fbcon.c中的fbcon_prepare_logo()函數
在logo_height = fb_prepare_logo(info, ops->rotate);后增加下面一行代碼
+logo_height += (info->var.yres / 2) - (logo_height / 2);
經過以上方式重新編譯內核啟動就會看到修改的內核logo能夠居中全屏顯示了。
以后可能還會繼續完善,謝謝。
總結
以上是生活随笔為你收集整理的linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乌镇哪里好玩的地方
- 下一篇: 影视编导考前哪里教的比较好?