修改linux核心開機logo並置中全螢幕顯示

來源:互聯網
上載者:User

  1.準備圖片

  使用ubuntu內建的繪圖軟體GIMP是最為快捷的方式,使用命令進行轉換也可以,實際測試中用命令轉換圖片老提示錯誤,所以就用GIMP的方式處理了。具體流程如下:

  (1)開啟GIMP軟體並載入圖片資源(file->open),自己的原圖片格式應該不限制,我的是bmp格式的。

  (2)點擊Image->mode->Indexed 並在彈出的選項框內設定Generate optimum palette下的Maximum number of colors:224 原值預設為255,點擊Convert按鈕。

  (3)點擊file->Save As,修改圖片檔案尾碼為.ppm 點擊儲存後會彈出一個小的選項卡供選擇資料格式,這裡選擇Ascii後儲存。

  (4)將新產生的圖片檔案重新命名為logo_linux_clut224.ppm,並將其拷貝到核心源碼中的/driver/video/logo/中,替換同名檔案。刪除logo_linux_clut224.c和logo_linux_clut224.o兩個檔案,重新編譯後這個兩個檔案會自動產生。

  到這裡圖片已經準備完畢...

  2.修改核心配置選項

  (1)Device Drivers --->

  Graphics support --->

  [*]Boot logo --->

  [*] Standard 224-color Linux logo

  支援kernel logo

  (2)Device Drivers --->

  Graphics support --->

  Console display driver support --->

  <*> Framebuffer Console support

  不選該項無法在螢幕上顯示。

  重新編譯源碼啟動就是替換後的logo了,但是沒有置中全螢幕顯示。

  3.置中全螢幕顯示

  (1)修改源碼/driver/video/fbmem.c中的fb_show_logo_line函數

  //image.dx=0;

  //image.dy=y;

  image.width = logo->width;

  image.heigh = 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能夠置中全螢幕顯示了。

  經過上面的方式,核心logo已經可以正常顯示,但是會被android開機第一個logo(白色“A N D R O I D”文本字樣)給快速的重新整理掉,導致給人一閃而過的感覺。所以實際當中還要把它給屏蔽掉。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.