imx6Q修改內核啟動時顯示的小企鵝logo為自己的logo圖片的方法

原創 2017-06-30 15:05:00 imx6Q內核 LOGO修改 iMX6Q
飛凌iMX6Q 開發板上,將內核顯示的小企鵝的logo替換成自己想要的logo的并且全屏顯示的方法。

編譯使用環境:ubuntu12.04的虛擬機進行的開發

1、制作kernel需要的ppm圖片

1.1安裝netpbm命令

使用sudo apt-get install netpbm  在ubuntu12.04上安裝netpbm工具,要求ubuntu操作系統聯網。

 

1.2準備bmp或者png格式的圖片,我使用的是bmp 8位的圖片10.1寸屏的800x1280的,圖片命名為:linux.bmp;

執行以下命令生成內核需要的logo_linux_clut224.ppm圖片。

bmptopnm linuxlogo1.bmp | ppmquant -fs 224 | pnmtoplainpnm > logo_linux_clut224.ppm

2、替換內核的logo

將前邊做好的logo_linux_clut224.ppm放在內核的/drivers/video/logo 下 替換原有的linux_logo_clut224.ppm就可以了

3、代碼更改

3.1修改源碼/driver/video/fbmem.c中的fb_show_logo_line函數。

增加: 

image.dx = (info->var.xres/2) - (image.width/2);    

image.dy = (info->var.yres/2) - (image.height/2);

代碼中的位置(大概在500行左右)如下:

 /*

image.dx = 0;       

mage.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); 

修改:fb_do_show_logo(info, &image, rotate, n); 將n改成1  

 

3.2修改源碼/driver/video/console/fbcon.c中的fbcon_prepare_logo()函數

增加:

logo_height += (info->var.yres/2) - (logo_height/2);  

代碼中的位置:

logo_height = fb_prepare_logo(info, ops->rotate);

logo_height += (info->var.yres/2)-(logo_height/2); 

logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height); 

 

3.3內核的logo配置如下:

使用 make menuconfig進行配置:

Device Drivers->Graphics Support->Bootup Logo->[*]   Standard 224-color Linux logo 

重新編譯內核,燒寫鏡像就OK啦。


----------------------------------------------------------------------------------


      OKMX6Q/DL -C 開發板,基于CoretexA9 IMX6主芯片設計,4層PCB沉金工藝,資源豐富,不僅搭載千兆以太網、CAN-bus、并口攝像頭、WIFI&藍牙等主流接口,同時還引出了MIPI、MLB、EIM BUS等CPU特有的功能。嚴酷的電磁兼容及溫度等級測試確保核心板在苛刻環境中的穩定運行。更多i.MX6Q、IMX6DL產品信息,您可聯系左側在線客服。

C:\Users\Administrator\Desktop\6Q-C詳情分解\6Q-C 19.jpg


相關產品 >

  • FETMX6Q-C核心板

    i.MX6Q核心板板層出不窮,要如何選擇?飛凌解讀i.mx6Q芯片強性能為您推薦四核A9架構的i.MX6Q產品精選,包含iMX6Q 核心板、i.MX6Q 核心板、iMX6Q工業級核心板,歡迎采購。  i.MX6Q核心板基于NXP(原Freescale)Cortex-A9架構的i.MX6Q四核處理器設計,核心板小尺寸核心板搭配獨特的薄款連接器,讓設計隨心所欲!

    了解詳情
    FETMX6Q-C核心板
  • OKMX6Q-C開發板

    雙千兆飛凌嵌入式iMX6Q開發板,板對板連接器,纖薄之際,次底板支持iMX6Q和iMX6DL核心板。i.MX6Q開發板與i.MX6DL開發板資源豐富,原理圖、PCB、軟件資源、硬件資源下載,技術支持等。歡迎選購

    了解詳情
    OKMX6Q-C開發板
  • FETMX6Q-S核心板

    NXP iMX6Quad系列具有四個內核,運行頻率達1.2 GHz,帶有1 MB L2緩存和64位DDR3或2通道、32位LPDDR2支持。飛凌提供商業級iMX6Q核心板,工業級iMX6Q核心板,兼容一同底板。具有抗震,抗氧化,抗干擾,更快速升級產品等優勢。保定飛凌嵌入式專注imx6,imx6開發板,飛思卡爾imx6等ARM嵌入式核心控制系統研發、設計和生產,是imx6,imx6開發板,飛思卡爾imx6提供者,imx6系列產品現已暢銷全國,歡迎咨詢!
    了解詳情
    FETMX6Q-S核心板
  • OKMX6Q-S3開發板

    飛凌嵌入式提供iMX6Q開發板,iMX6解決方案,iMX6Q核心板,i.MX6Q開發板解決方案。iMX6Q穩定、快速、性價比高,歡迎選購 NXP iMX6系列芯片全支持,升級簡配無憂替換。 了解詳情
    OKMX6Q-S3開發板

推薦閱讀 換一批 換一批