日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)

發布時間:2023/11/27 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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(小企鹅)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。