 Logo
							時間(jian):2018-09-21      來源(yuan):未知
							Logo
							時間(jian):2018-09-21      來源(yuan):未知 
							1、首先找到一張.png格式(shi)的(de)(de)圖(tu)片,將圖(tu)片的(de)(de)大(da)小裁剪(jian)成(cheng)自己想要(yao)的(de)(de)尺(chi)寸,這個事Windows自帶的(de)(de)畫圖(tu)板就(jiu)能完成(cheng)
2、在你的(de)虛擬機或者(zhe)linuxOS中安裝(zhuang)netpbm工(gong)具,這個(ge)工(gong)具的(de)作用就是將一個(ge).png格(ge)式的(de)圖片(pian)轉換成(cheng)ppm格(ge)式的(de),具體(ti)用法(fa)如下(xia):
(1)、首(shou)先安(an)裝該(gai)工具:
sudo apt-get install netpbm
(2)、開始轉(zhuan)換圖(tu)片:
pngtopnm logo.png > logo.pnm
pnmquant 224 logo.pnm > logo224.pnm
pnmtoplainpnm logo224.pnm > logo_linux_clut224.ppm
(注(zhu)意(yi):這里將終生(sheng)成的ppm文件(jian)命名為logo_linux_clut224.ppm是(shi)因為,linux內(nei)核啟動默(mo)認的logo圖片名稱(cheng)為該(gai)名稱(cheng),如果我們不這樣命名也行,但(dan)是(shi)需要修改一些文件(jian),會比較麻煩,所以為了簡單起(qi)見(jian)我們就這么做)
3、這樣我們得(de)到了(le)ppm的(de)圖片,只要(yao)替換driver/video/logo下面的(de)logo_linux_clut224.ppm,刪除logo_linux_clut224.c logo_linux_clut224.o (注(zhu)意,這里的(de).o .c文件一(yi)定要(yao)刪除再編譯,不然內核(he)就不會編譯你的(de)新logo),然后(hou)編譯內核(he)得(de)到鏡像就可以了(le)
4、如果你的(de)內核(he)配置沒問(wen)題那么(me)logo 顯示也就沒什么(me)問(wen)題,這(zhe)里對于內核(he)的(de)配置簡單介紹一(yi)下(xia):
$ makemenuconfig //在內核里面(mian)選(xuan)上logo 支持(chi)
DeviceDrivers --->
[*]Graphics support --->
[*]Bootup logo --->
[*] Standard black and whiteLinux logo
[*] Standard 16-color Linuxlogo
[*] Standard 224-color Linuxlogo
5、不難發現我們的(de)logo總是顯(xian)示(shi)在(zai)屏幕的(de)左上角,那(nei)么下(xia)面我們需(xu)要改一(yi)下(xia)內核源碼,讓logo居中全屏顯(xian)示(shi):
vi 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);
保存退(tui)出,我們還需(xu)要修改driver/video/console/fbcon.c文件
vi driver/video/console/fbcon.c
找(zhao)到“fbcon_prepare_logo”函(han)數,進(jin)行如下修改:
在logo_height = fb_prepare_logo(info, ops->rotate);后面添加下面內容(rong):
logo_height += (info->var.yres/2) - (logo_height/2);
保(bao)存退出,重新編譯內核,這樣我們(men)的logo就可以(yi)在屏幕上居中(zhong)全屏顯(xian)示 了
6、可(ke)能還存(cun)在一(yi)(yi)(yi)個(ge)(ge)問(wen)題(ti),就是如果cpu是四核的話,你(ni)會(hui)發現在屏幕(mu)(mu)上會(hui)顯示四個(ge)(ge)logo,當然如果你(ni)的logo比較大(da),在屏幕(mu)(mu)上只能顯示一(yi)(yi)(yi)個(ge)(ge)logo圖片,那么也(ye)就只顯示一(yi)(yi)(yi)個(ge)(ge)logo 不會(hui)顯示四個(ge)(ge),至于這個(ge)(ge)問(wen)題(ti)我還沒有找到解決(jue)方案(an),希望讀(du)者有idear能告知我一(yi)(yi)(yi)聲1979234659@qq.com,謝謝!