Logo
時間:2018-10-28 來源:華清遠見
1、首先找到一張.png格式的圖片,將圖片的大小裁剪成自己想要的尺寸,這個事Windows自帶的畫圖板就能完成
2、在你的虛擬機或者linuxOS中安裝netpbm工具,這個工具的作用就是將一個.png格式的圖片轉(zhuǎn)換成ppm格式的,具體用法如下:
(1)、首先安裝該工具:
sudo apt-get install netpbm
(2)、開始轉(zhuǎn)換圖片:
pngtopnm logo.png > logo.pnm
pnmquant 224 logo.pnm > logo224.pnm
pnmtoplainpnm logo224.pnm > logo_linux_clut224.ppm
(注意:這里將終生成的ppm文件命名為logo_linux_clut224.ppm是因為,linux內(nèi)核啟動默認的logo圖片名稱為該名稱,如果我們不這樣命名也行,但是需要修改一些文件,會比較麻煩,所以為了簡單起見我們就這么做)
3、這樣我們得到了ppm的圖片,只要替換driver/video/logo下面的logo_linux_clut224.ppm,刪除logo_linux_clut224.c logo_linux_clut224.o (注意,這里的.o .c文件一定要刪除再編譯,不然內(nèi)核就不會編譯你的新logo),然后編譯內(nèi)核得到鏡像就可以了
4、如果你的內(nèi)核配置沒問題那么logo 顯示也就沒什么問題,這里對于內(nèi)核的配置簡單介紹一下:
$ makemenuconfig //在內(nèi)核里面選上logo 支持
DeviceDrivers --->
[*]Graphics support --->
[*]Bootup logo --->
[*] Standard black and whiteLinux logo
[*] Standard 16-color Linuxlogo
[*] Standard 224-color Linuxlogo
5、不難發(fā)現(xiàn)我們的logo總是顯示在屏幕的左上角,那么下面我們需要改一下內(nèi)核源碼,讓logo居中全屏顯示:
vi driver/video/fbmem.c
找到“fb_show_logo_line”函數(shù),進行如下修改:
//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);
保存退出,我們還需要修改driver/video/console/fbcon.c文件
vi driver/video/console/fbcon.c
找到“fbcon_prepare_logo”函數(shù),進行如下修改:
在logo_height = fb_prepare_logo(info, ops->rotate);后面添加下面內(nèi)容:
logo_height += (info->var.yres/2) - (logo_height/2);
保存退出,重新編譯內(nèi)核,這樣我們的logo就可以在屏幕上居中全屏顯示 了
6、可能還存在一個問題,就是如果cpu是四核的話,你會發(fā)現(xiàn)在屏幕上會顯示四個logo,當然如果你的logo比較大,在屏幕上只能顯示一個logo圖片,那么也就只顯示一個logo 不會顯示四個,至于這個問題我還沒有找到解決方案,希望讀者有idear能告知我一聲1979234659@qq.com,謝謝!
如何利用機器學習構(gòu)建個性化推薦系統(tǒng)
嵌入式系統(tǒng)從上電到操作系統(tǒng)運行的完整啟動流程
如何在不同工作場景下優(yōu)化嵌入式系統(tǒng)的電源消耗
硬件抽象層(HAL)的設(shè)計如何提高代碼的可移植性
批量歸一化在深度學習訓練中的作用和實現(xiàn)方法
物聯(lián)網(wǎng)項目中設(shè)計嵌入式系統(tǒng)時的關(guān)鍵技術(shù)和考慮因素
通過自然語言處理技術(shù)理解文本的深層含義
如何基于RISC-V架構(gòu)設(shè)計高效能的嵌入式系統(tǒng)
LSTM和GRU在時間序列預測中的應用
JTAG和SWD的調(diào)試技術(shù)及應用
