linux開機logo製作

2021-05-21 22:47:37 字數 4230 閱讀 1830

pngtopnm,pnmquant,pnmtoplainpnm)

$pngtopnmlinuxlogo.png > linuxlogo.pnm

$ pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm

$ pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

或者$bmptoppm pic.bmp > temp1.ppm //生成ppm

$ppmquant 224 temp1.ppm > temp2.ppm  //轉換成224顏色

$pnmnoraw temp2.ppm > logo.ppm   //轉換成ascii格式

這樣您製作的logo就已經成功了,將linuxlogo224.ppm

拷貝到/drivers/video/logo資料夾中的根據你的平台具體使用的哪個logo進行命名,

由與我用的是redhat linux,所以我取的名字為logo_linux_clut224.ppm,友情提醒將原有的logo儲存。

其中在./drivers/video/logo/下有***_***_***.c和***_***_***.o檔案是在進行make編譯之後生成的,可以將製作好的.ppm檔案拷貝進行去替換成原來的logo檔案之後,使用make clean sub_dir=./drivers/video/logo/來清除logo目錄下的.c和.o檔案。

這樣你的logo就完全製作好了,但是有這一點還是不夠的,你必須在核心中選擇logo,接下來我們來看如何配置核心

2、配置logo選項

在核心路徑下執行make menuconfig

開發板上開啟logo顯示的選項

device drivers --->character devices ---》bootup logo

a、選擇虛擬控制台為控制台顯示驅動做準備

device drivers --->character devices ---> virtual terminal

[*]   support for console on virtual terminal

b、選擇虛擬控制台顯示驅動

device drivers --->graphics support --->下有這個選項console display driver support --->

根據你的硬體選擇由framebuffer還是vga

[*] framebuffer console support或者

[*] vga text console

c、device drivers --->graphics support --->

<*> support for frame buffer devices  

<*> mxc framebuffer support下選擇是vga還是tvout

[*] tvout ch7024 on mx27 //tvout

[*]support vga daughter //vga

當然以上的配置選項,因平台而異會有些小的差別。

做好以上兩個步驟,你就可以重新編譯核心,將其燒到開發板,接vga或者tvout顯示。

這樣你可以看到你自己製作的logo,你可以發現在logo的左上角有乙個閃動的游標,接下來我們說說如何將這個游標去除。

3、如何將開機logo中的游標去除

在核心的當前目錄進入到drivers/video/console/fbcon.c檔案

將static void fb_flashcursor(void *private)製成空函式如下

386 static void fb_flashcursor(void *private)

387

406

407 p = &fb_display[vc->vc_num];

408 c = scr_readw((u16 *) vc->vc_pos);

409 mode = (!ops->cursor_flash || ops->cursor_state.enable) ?

410 cm_erase : cm_draw;

411 ops->cursor(vc, info, mode, softback_lines, get_color(vc, info, c, 1),

412 get_color(vc, info, c, 0));

413 release_console_sem();

414 #endif

415 }

同樣的方法將函式static void fbcon_cursor(struct vc_data *vc, int mode)用空函式替換如下

1304 static void fbcon_cursor(struct vc_data *vc, int mode)

1305 {

1306 #if 0 //modify by yejj for clear cursor of lcdc

1307 struct fb_info *info

另一種禁止游標的方法:

drivers/video/console/makefile

#obj-$(config_framebuffer_console) += fbcon.o bitblit.o font.o softcursor.o

obj-$(config_framebuffer_console) += fbcon.o bitblit.o font.o

編譯遇到乙個soft_cursor沒有定義的問題問題,注釋**:

drivers/video/console/bitblit.c

//abing

//      if (err)

//              soft_cursor(info, &cursor);

【注意】:   

linux logo製作工具 : logomaker.tgz 4.7mb

logomakers可以讓你十分方便地製作linux logo檔案,它基於fedora 9平台開發並使用。其使用方法十分簡單,開啟乙個圖形檔案(jpeg, bmp或者png格式),然後點轉換按鈕就可以了;它會固定輸出檔名:logo_linux_clut224.ppm,該檔案一般位於核心源**目錄kernel-src/drivers/video/logo中,替換之後再重新編譯一下核心就可以看到你所喜愛的linux logo了。

注意:logomaker程式實際呼叫了netpbm工具組,因此要確保你的pc linux系統安裝了此工具,方可轉換成功。

ubuntu下轉換ppm:

sudo get-apt install netpbm

bmp使用bmptoppm.jpg,png,gif都有相應的topnm工具。

$bmptoppm pic.bmp > temp1.ppm //生成ppm

$ppmquant 224 temp1.ppm > temp2.ppm  //轉換成224顏色

$pnmnoraw temp2.ppm > logo.ppm   //轉換成ascii格式

logo.ppm就是需要的影象了。

另外我做的最簡單的製作方法是:

首先將png轉成pnm

#pngtopnmutulinux_logo.png > utulinux_logo.pnm

然後將pnm的顏色數限制在224

# pnmquant 224 utulinux_logo.pnm > utulinux_logo_224.pnm

最後將pnm轉換成我們需要的ppm

# pnmtoplainpnm utulinux_logo_224.pnm > utulinux_logo_224.ppm

然utulinux_logo_224.ppm替換linuxsrc/drivers/video/logo中對應的影象就ok了

注意:其中在./drivers/video/logo/下有***_***_***.c和***_***_***.o檔案是在進行make編譯之後生成的,可以將製作好的.ppm檔案拷貝進行去替換成原來的logo檔案之後,使用make clean sub_dir=./drivers/video/logo/來清除logo目錄下的.c和.o檔案。

linux開機logo製作

或者 bmptoppm pic.bmp temp1.ppm 生成ppm ppmquant 224 temp1.ppm temp2.ppm 轉換成224顏色 pnmnoraw temp2.ppm logo.ppm 轉換成ascii格式 這樣您製作的logo就已經成功了,將linuxlogo224.pp...

Linux 開機Logo製作

linux 開機logo製作 除。3 如何將開機logo中的游標去除 在核心的當前目錄進入到drivers video console fbcon.c檔案 將static void fb flashcursor void private 製成空函式如下 386 static void fb flas...

linux開機logo製作

kernel 2.6.27 1 製作logo的方法 首先選擇乙個自己喜歡的,然後通過gimp軟體將該儲存為.png格式,變換方式這個就不說了 very easy 比如儲存為linuxlogo.png.然後將該傳入到裝有linux pc比如 ubuntu 按照以下順序你就可以製作乙個你喜歡logo前提...