1. linux內核怎麼設置開機logo
修改Linux內核啟動logo
系統環境:ubuntu 10.04 +x86
$ sudoapt-get install netpbm
$pngtopnm loongson.png > loongson.pnm
說明:用來轉換的圖片必須為 png 格式,否則會有如下提示:
pngtopnm:input file not a PNG file
$pnmquant 224 loongson.pnm > loongson224.pnm
pnmcolormap: making histogram…
pnmcolormap: 5854 colors found
pnmcolormap: choosing 224 colors…
pnmremap:222 colors found in colormap
注意:此處pnmquant 必須輸出到另一個不同名的文件,否則會出現如下錯誤提示
eg:$pnmquant 224 loongson.pnm > loongson.pnm
pnmcolormap: EOF / read error reading magic number
pnmcolormap failed, rc=256
$pnmtoplainpnm loongson224.pnm > loongson224.ppm
然後用轉換好的loongson224.ppm 替換 kernel
/drivers/video/logo/logo_linux_clut224.ppm(最好先做好備份)
,然後刪除同一目
錄下的logo_linux_clut224.c 文件,重新編譯內核即可
$ cd/home/work/kenrel/linux26_3210/drivers/video/logo
$ mvlogo_linux_clut224.ppm{,-bk}
$ cp/home/loongson/Dowload/loongson224.ppm ./
$ mvloongson224.ppm logo_linux_clut224.ppm
$ rmlogo_linux_clut224.c
$ cd///
$ makemenuconfig //在內核裡面選上logo 支持
DeviceDrivers --->
[*]Graphics support --->
[*]Bootup logo --->
[*] Standard black and whiteLinux logo
[*] Standard 16-color Linuxlogo
[*] Standard 224-color Linuxlogo
$make
2. 如何製作Linux啟動LOGO
這個,我只能說其中一種情況。
也是最多見的情況,如Ubuntu下。
Plymouth Splash
即開機動畫。
Ubuntu下顯示Ubuntu,即帶字啟動LOGO。
kde(還是啥的)官網可下載。下載完後放到/usr/share/plymouth目錄下。
#這個目錄下的文件能看懂嗎?
#能看懂就好,替換就比較簡單。
#而且最重要的一點,如果是直接替換,將原本的刪掉的話,需要重新創建軟鏈接指向新的theme文件。
#這里不懂的話可以追問,或者去網路尋找答案。
然後重啟,OK
//
#還有一種,利用安裝程式解。
#這種你可以嘗試一下,比較簡單。
#我就不提供代碼了,去網路上找吧。
#但是可能會有後遺症,比如說我的系統開機動畫,安裝後失效導致變成默認字元動畫,也是比較悲催的。
//
#關於[製作]啟動LOGO。。根據你下載的LOGO(theme,改一下就可以,前提是你需要有一定的編程基礎,如果配置文件和你想造的不一樣的話。
//
(需要提示一下,這和其他系統的啟動動畫不一樣。其他的都是可以暫時循環(如Android,Windows)而Ubuntu(Linux)只能是單獨循環,目前未找到能暫時循環的theme。。)
3. linux怎麼改啟動logo
使用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兩個文件,重新編譯後這個兩個文件會自動生成。
4. 如何製作Linux啟動LOGO
1.修改圖片辦法
1) 找一個自己喜歡的(蘋果的,我愛的).png的圖片,然後用faststone image viewer(圖片轉換器)——自己網上下載,將自己的圖片轉換成.ppm格式的
2)打開/root/drivers/video/logo就可以看到自己以前的開機logo了,然後將生成的.ppm和原來的.png圖片和原來的換掉(名字要用一樣的哦)
3)然後在根目錄下make menuconfig, 選中自己的logo,然後make zImage,大功告成
2.修改代碼的辦法
1)修改drivers/video/fbcon.c中關於LOGO_H和LOGO_W定義為你想定義的任何值,當然,不能超過fb的大小;
2)在drivers/video/fbcon.c中fbcon_setup()中將conp->vc_y和vc_pos設置到合適的地方並且去掉搬運一些內存塊的工作,否則,下一步的修改了以後,將會在運行時候產生kernel panic。
這一段的主要工作是將字元的輸出搬到從logo的最後一條線開始顯示。
具體為fbcon_setup()中if(logo)後for跟之後的一個大語句不要,該成為:conp->vc_y += logo_lines;
conp->vc_pos += logo_lines * conp->vc_size_row;
3)通過在fbcon_show_logo中直接將一塊內容拷貝到fb中去。
具體為:
在對應的logo拷貝過程改為:
dst=fb;
memcpy(dst,img_data,IMG_LEN);
img_data是我用來存放圖片內容的指針,後者是長度。比如,一個565rgb,320240的圖片,第一個16bit內容就是第一個pixel的rgb值。
這需要首先將任何一幅圖片的內容變為對pixel的數值。
如果不想更換內容,則將圖片內容固定,否則,將img_data指向某個地址,以後值需要更換這個地址的內容即可。
5. 怎麼修改嵌入式linuxlogo生成軟體 啟動界面
1.方案分析
ARM-Linux啟動時會先在LCD左上角顯示一個ARMLINUX的小企鵝圖案,也就是我們所說的bootlogo。
首先分析一下Logo的顯示代碼:
不難發現Logo顯示是在載入顯示驅動fb後由kernel/drivers/video/fbcon.c中的fbcon_show_logo函數來完成的。
fbcon_show_logo函數中有很多兼容性代碼,不是都會用到的!我們用的是SHARP(夏普)的TFT真彩屏.
再仔細看一下,這里用到的顯示數據均來自kernel/include/linux/linux_logo.h。這里同樣也有一些兼容性的數據,其中對我們有用的是:
linux_logo_red[] —— 調色板中的紅色分量
linux_logo_green[] —— 調色板中的綠色分量
linux_logo_blue[] —— 調色板中的藍色分量
linux_logo[] —— Logo圖案的點陣
以上數據都是不需要你修改的在fbcon_show_logo里只做了256色的顯示,所以要先設置一個RGB調色板。這里的調色板是從0x20色開始編的,所以實際好象只有最多224色的顯示。linux_logo.h里默認是做了一個214級的灰度調色板,如果想要更多色彩的話可以自已修改(注意調色板的顏色不能超過224種)
再看linux_logo[],這是Logo圖案的點陣。因為是256色的圖,所以每點為一個Byte。Logo圖案是80*80大小,所以這里總共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行數據對應Logo圖案中一行。可以先自己試試放一些簡單圖形進去顯示看看。(同樣注意顏色要從0x20開始,0-0x1f的32種顏色是不確定的)。
以上分析是針對系統原版內核256色80x80的啟動圖標的說明。而我們要通過修改或替代原內核文件,來實現我們製做公司的的啟動圖標,要求如下:
1.開發板起動以後以全屏顯示即240x320模式顯示
2.圖像以224色彩顯示
2.方案設計
當然你不會只想顯示一些簡單圖形,而是希望能把自已做的圖片放上去。建議使用PhotoShop8.0這里提供三個方法加工圖片:
1)先搞一個256色調色板,前面32個顏色空著,把後面224種顏色設一下吧。注意要盡量把顏色選全一些,要能覆蓋到整個顏色區域上。這樣就有一個通用的調色板,可適用所有圖片,但顏色的真實性稍差。然後把自己的圖片打開,先將顏色設置到RGB空間里,然後裁剪/縮放到240x320象數的尺寸,再將顏色優化到先前定義好的調色板里,圖片就加工好了。
2)不用通用調色板,打開自己的圖片,先將顏色設置到RGB空間,裁剪/縮放到240x320象素的尺寸,然後指定優化為224色圖象。這樣圖片就加工好了,但其調色板就是專用的,不適合用到其他圖片里。
3)GIMP+FBLOGOGIMP為LINUX下一個繪圖程序,我們使用它打開圖片後在菜單欄先擇:圖片->模式->索引顏色,然後通過工具選項將圖片大小調整到240x320象數大小,保存為.png格式。在使FBLOGO工具將其轉換成linux_logo.h文件。
使用前兩種方法加工圖片,還需要把數據放到我們的linux_logo.h里。調色板可以直接保存為文件,然後可以通過自製的小程序讀出來就可以了。圖片的點陣比較難取,當然也可以自己做個程序去取屏幕上的點,不過比較困難。而後一種方法使用fblogo工具將用GIMP轉換的圖片文件自動生成linux_logo.h文件。
3.最終實施方案
通過以上內容分析,我們確定使用第三種方法GIMP加fblogo工具的方案進行實施,以下我們製做的流程及其方法:
軟體環境:linux虛擬機、fblogo工具、linux下的圖像編輯工具GIMP
硬體環境:X86PC機一台、優龍ST2410開發板一個、交叉網線一條。
1.調試並編譯開發板所相對應的內核包,調試通過後保留.config配製文件,准備編譯bootlogo時使用。
2.在linux上解壓fblogo_0.52.tgz包,並進行軟體安裝,生成fblogo二進制可執行文件。
3.進入linux的kde圖形界面,在終端下使用gimp命令運行gimp工具。
4.打開公司的logo.jpg圖像文件,依次選擇 圖像->模式->索引顏色、並將其圖片大小調至240x320象素,最後將文件保存為logo.png格式。
5.將上述文件保存到fblogo工具所在文件夾,首先在命令行下執行convert –colors 223 logo.png logo.png 將文件保存為224色素(目前fblogo工具僅支持到224色),接著再使用fblogo logo.png linux_logo.h 生成linux_logo.h內核啟動代碼中的圖像緩沖區文件格式。
6.將linux_logo.h文件拷貝到kernel的include/linux目錄即可。
7.重新編譯linux系統內核,將生成的zImage內核鏡像拷貝到windows下,准備對目標板進行燒寫。
8.用串口將目標板與PC主機相連,接通電源,使用bnw工具進入目標板的bios程序並將生成的zImage內核鏡像拷燒寫到板子上,重起目標板,你會發現目標板上已經出現了美麗的logo圖片。如果沒有,請核對以上的步驟,並重新測試直到成功為止。
4 方案總結
4.1 方案實施過程中的關鍵問題
1.確保內核能夠正常運行,編譯時對開發板各硬體的驅動支持及其相關的配製,啟動後能夠自動載入文件系統。
2.安裝fblogo工具,fblogo工具的編譯需要使用到第三方的庫文件libpng.so庫以及zliba.a庫的支持,編譯成功後,在命令行試運行fblogo 如果安裝成功將出現其使用的幫助信息。
3.fblogo工具對圖片的要求是僅支持PNG格式的224色圖片。
4.最後針對不同的開發板的LCD顯示屏應使用與其相適應的圖片大小,否則可能使系統無法正常工作。
4.2 方案實施後的遺留問題
由於使用到了logo的製做工具fblogo 所以圖片在色彩上最大僅能支持到224色圖片,在bootlogo啟動文件linux_logo.h中有圖像的色彩域點陣代碼(即圖片的16位進制的代碼),如有需要可以自行修改,但其難度可想而知,建議可以將圖片保存為TIF之類的非壓縮格式,然後自已編寫小程序將其從圖象文件中的固定位置取點陣數據。
5 2.6內核啟動Logo
在配置內核的時候選中了啟動Logo的支持。
使用下面的方法可以將企鵝的Logo換成自己喜歡的任意圖片。
首先准備一幅自己喜歡的圖片,然後將背景塗成黑色。然後將該圖片保存成png格式,例如linuxlogo.png。在Linux下使用下面的命令:
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
然後用生成的linuxlogo224.ppm替換/usr/src/linux-2.6.8.1/drivers/video/logo/logo_linux_clut224.ppm(最好先做好備份),然後刪除同一目錄下的logo_linux_clut224.c文件,重新編譯內核,啟動之後就可以在屏幕左上方看到自己的Logo了。
6. 如何更改Linux啟動時用圖形界面還是字元界面
修改 /etc/inittab 文件,將「id:5:initdefault:」這一行的"id:"後的數字(默認為5)改為 3即可。
Linux將X-Window(簡稱X)僅僅視作一個程序,而不捆綁於其內核之中。在UNIX/Linux中一般將運行級別分為7級(一說九級,但實際應用為六級,保留一級):
0 系統停機
1 單用戶模式
2 多用戶模式
3 網路多用戶模式
4 保留
5 X11模式(即進入圖形界面模式)
6 重起
要想修改Linux開機的啟動模式(控制台或圖形界面等),只需修改/etc/inittab文件。
/etc/inittab文件(部分):
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
要想修改啟動級別,將「id:5:initdefault:」這一行的"id:"後的數字(默認為5)改為你要的級別即可。
注意:不要改為0,0表示關機;也不要改為6,否則開機就不停的重啟了~
7. RedHat linux怎樣設置開機啟動桌面
在啟動redhat時,有兩種模式可以選擇,分別是文字模式和圖形模式。用root用戶登錄系統(在圖形模式,在桌面右鍵,新建終端),輸入命令:
vi/etc/inittab
#進入inittab文件,找到"id:5:initdefault「(其中的5也可能是3)
#對字元串中的數字進行修改,3-文字模式,5-圖形模式。
#把上面修改為數字5,重啟系統,修改開啟啟動桌面生效。
補充:run level 說明
0 - halt (系統直接關機)
1 - single user mode (單人維護模式,用在系統出問題時的維護)
2 - Multi-user, without NFS (類似底下的 runlevel 3,但無 NFS 服務)
3 - Full multi-user mode (完整的含有網路功能的純文字模式)
4 - unused (系統保留功能)
5 - X11 (與 runlevel 3 類似,但使用 X Window)
6 - reboot (重新開機)
8. 怎麼修改嵌入式linux啟動界面
1.方案分析
ARM-Linux啟動時會先在LCD左上角顯示一個ARMLINUX的小企鵝圖案,也就是我們所說的bootlogo。
首先分析一下Logo的顯示代碼:
不難發現Logo顯示是在載入顯示驅動fb後由kernel/drivers/video/fbcon.c中的fbcon_show_logo函數來完成的。
fbcon_show_logo函數中有很多兼容性代碼,不是都會用到的!我們用的是SHARP(夏普)的TFT真彩屏.
再仔細看一下,這里用到的顯示數據均來自kernel/include/linux/linux_logo.h。這里同樣也有一些兼容性的數據,其中對我們有用的是:
linux_logo_red[] —— 調色板中的紅色分量
linux_logo_green[] —— 調色板中的綠色分量
linux_logo_blue[] —— 調色板中的藍色分量
linux_logo[] —— Logo圖案的點陣
以上數據都是不需要你修改的在fbcon_show_logo里只做了256色的顯示,所以要先設置一個RGB調色板。這里的調色板是從0x20色開始編的,所以實際好象只有最多224色的顯示。linux_logo.h里默認是做了一個214級的灰度調色板,如果想要更多色彩的話可以自已修改(注意調色板的顏色不能超過224種)
再看linux_logo[],這是Logo圖案的點陣。因為是256色的圖,所以每點為一個Byte。Logo圖案是80*80大小,所以這里總共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行數據對應Logo圖案中一行。可以先自己試試放一些簡單圖形進去顯示看看。(同樣注意顏色要從0x20開始,0-0x1f的32種顏色是不確定的)。
以上分析是針對系統原版內核256色80x80的啟動圖標的說明。而我們要通過修改或替代原內核文件,來實現我們製做公司的的啟動圖標,要求如下:
1.開發板起動以後以全屏顯示即240x320模式顯示
2.圖像以224色彩顯示
2.方案設計
當然你不會只想顯示一些簡單圖形,而是希望能把自已做的圖片放上去。建議使用PhotoShop8.0這里提供三個方法加工圖片:
1)先搞一個256色調色板,前面32個顏色空著,把後面224種顏色設一下吧。注意要盡量把顏色選全一些,要能覆蓋到整個顏色區域上。這樣就有一個通用的調色板,可適用所有圖片,但顏色的真實性稍差。然後把自己的圖片打開,先將顏色設置到RGB空間里,然後裁剪/縮放到240x320象數的尺寸,再將顏色優化到先前定義好的調色板里,圖片就加工好了。
2)不用通用調色板,打開自己的圖片,先將顏色設置到RGB空間,裁剪/縮放到240x320象素的尺寸,然後指定優化為224色圖象。這樣圖片就加工好了,但其調色板就是專用的,不適合用到其他圖片里。
3)GIMP+FBLOGOGIMP為LINUX下一個繪圖程序,我們使用它打開圖片後在菜單欄先擇:圖片->模式->索引顏色,然後通過工具選項將圖片大小調整到240x320象數大小,保存為.png格式。在使FBLOGO工具將其轉換成linux_logo.h文件。
使用前兩種方法加工圖片,還需要把數據放到我們的linux_logo.h里。調色板可以直接保存為文件,然後可以通過自製的小程序讀出來就可以了。圖片的點陣比較難取,當然也可以自己做個程序去取屏幕上的點,不過比較困難。而後一種方法使用fblogo工具將用GIMP轉換的圖片文件自動生成linux_logo.h文件。
3.最終實施方案
通過以上內容分析,我們確定使用第三種方法GIMP加fblogo工具的方案進行實施,以下我們製做的流程及其方法:
軟體環境:linux虛擬機、fblogo工具、linux下的圖像編輯工具GIMP
硬體環境:X86PC機一台、優龍ST2410開發板一個、交叉網線一條。
1.調試並編譯開發板所相對應的內核包,調試通過後保留.config配製文件,准備編譯bootlogo時使用。
2.在linux上解壓fblogo_0.52.tgz包,並進行軟體安裝,生成fblogo二進制可執行文件。
3.進入linux的kde圖形界面,在終端下使用gimp命令運行gimp工具。
4.打開公司的logo.jpg圖像文件,依次選擇 圖像->模式->索引顏色、並將其圖片大小調至240x320象素,最後將文件保存為logo.png格式。
5.將上述文件保存到fblogo工具所在文件夾,首先在命令行下執行convert –colors 223 logo.png logo.png 將文件保存為224色素(目前fblogo工具僅支持到224色),接著再使用fblogo logo.png linux_logo.h 生成linux_logo.h內核啟動代碼中的圖像緩沖區文件格式。
6.將linux_logo.h文件拷貝到kernel的include/linux目錄即可。
7.重新編譯linux系統內核,將生成的zImage內核鏡像拷貝到windows下,准備對目標板進行燒寫。
8.用串口將目標板與PC主機相連,接通電源,使用bnw工具進入目標板的bios程序並將生成的zImage內核鏡像拷燒寫到板子上,重起目標板,你會發現目標板上已經出現了美麗的logo圖片。如果沒有,請核對以上的步驟,並重新測試直到成功為止。
4 方案總結
4.1 方案實施過程中的關鍵問題
1.確保內核能夠正常運行,編譯時對開發板各硬體的驅動支持及其相關的配製,啟動後能夠自動載入文件系統。
2.安裝fblogo工具,fblogo工具的編譯需要使用到第三方的庫文件libpng.so庫以及zliba.a庫的支持,編譯成功後,在命令行試運行fblogo 如果安裝成功將出現其使用的幫助信息。
3.fblogo工具對圖片的要求是僅支持PNG格式的224色圖片。
4.最後針對不同的開發板的LCD顯示屏應使用與其相適應的圖片大小,否則可能使系統無法正常工作。
4.2 方案實施後的遺留問題
由於使用到了logo的製做工具fblogo 所以圖片在色彩上最大僅能支持到224色圖片,在bootlogo啟動文件linux_logo.h中有圖像的色彩域點陣代碼(即圖片的16位進制的代碼),如有需要可以自行修改,但其難度可想而知,建議可以將圖片保存為TIF之類的非壓縮格式,然後自已編寫小程序將其從圖象文件中的固定位置取點陣數據。
5 2.6內核啟動Logo
在配置內核的時候選中了啟動Logo的支持。
使用下面的方法可以將企鵝的Logo換成自己喜歡的任意圖片。
首先准備一幅自己喜歡的圖片,然後將背景塗成黑色。然後將該圖片保存成png格式,例如linuxlogo.png。在Linux下使用下面的命令:
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
然後用生成的linuxlogo224.ppm替換/usr/src/linux-2.6.8.1/drivers/video/logo/logo_linux_clut224.ppm(最好先做好備份),然後刪除同一目錄下的logo_linux_clut224.c文件,重新編譯內核,啟動之後就可以在屏幕左上方看到自己的Logo了。
9. linux怎麼設置默認啟動到字元界面,而非圖形界面
修改 /etc/inittab 文件,將「id:5:initdefault:」這一行的"id:"後的數字(默認為5)改為 3即可。
Linux將X-Window(簡稱X)僅僅視作一個程序,而不捆綁於其內核之中。在UNIX/Linux中一般將運行級別分為7級(一說九級,但實際應用為六級,保留一級):
0 系統停機
1 單用戶模式
2 多用戶模式
3 網路多用戶模式
4 保留
5 X11模式(即進入圖形界面模式)
6 重起
要想修改Linux開機的啟動模式(控制台或圖形界面等),只需修改/etc/inittab文件。
/etc/inittab文件(部分):
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
要想修改啟動級別,將「id:5:initdefault:」這一行的"id:"後的數字(默認為5)改為你要的級別即可。
注意:不要改為0,0表示關機;也不要改為6,否則開機就不停的重啟了~
10. linux 怎麼設置系統啟動時隨機啟動字元界面和圖形界面
startx
方法1:(cd
vi
這些使用會吧?)
init
3進入運行級別3,圖形就不啟動了,想在啟動時進入運行級別3,修改/etc/inittab
找到id:5:initdefault:
改成id:3:initdefault:
方法2:
1)、開啟圖形界面
/etc/init.d/gdm
start
2)、關閉圖形界面
/etc/init.d/gdm
stop
方法3:
1.在字元端輸入"switchdesk
gnome",回車,再輸入"startx",回車
2.在控制台下登錄
先執行
export
lang=c
再重新配置
x
sudo
dpkg-reconfigure
xserver-xorg