日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux kernel 2.6.36 编译升级

發布時間:2025/7/14 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux kernel 2.6.36 编译升级 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.定制啟動畫面

a)linux啟動畫面分為兩種,grub使用的背景圖片,以及kernel啟動時的圖片(即一般在啟用linux framebuffer設備時出現的小企鵝畫面,一般系統有幾個CPU,就會出現幾個小企鵝)

首先定制grub的背景,要求圖像尺寸為640*480(沒試過其他尺寸), 而且主機已安裝了convert開源圖像處理工具。

例如準備了一張圖像為splash.bmp,

執行:

convert -geometry 640x480 -colors 14 splash.bmp splash.xpm /*背景要求640x480的尺寸,以及14色*/

gzip -9 splash.xpm

cp splash.xpm.gz /boot/grub

注意備份原有的splash.xpm.gz

再次啟動,grub的背景圖片已被更改,需要注意的是grub的配置menu.cfg中需要命令行支持splash畫面

?b)

linux kernel的啟動logo存放于KERNEL_PATH/drivers/video/logo/logo_linux_cult224.ppm

是被編譯到內核的,所以不能簡單的替換就改變原有的logo,按以下命令制作logo_linux_cult224.ppm

bmptopnm logo.bmp > logo_linux_cult224.pnm            /*格式轉換*/

pnmquant 224 logo_linux_cult224.pnm > logo_linux_cult224.pnm  /*將圖像改為224色*/

pnmtopnm logo_linux_cult224.pnm > logo_linux_cult224.ppm    /*將圖像轉存為ppm格式*/

替換新內核中原有的logo_linux_cult224.ppm,注意備份原有的企鵝logo_linux_cult224.ppm。

內核編譯后,且以framebuffer方式啟動新內核,此時企鵝圖標就變成了自定義的LOGO(注意LOGO圖像的尺寸不能大于framebuffer的尺寸)

但是在啟動中,logo上會有光標在閃爍,如果需要將光標去除(提示console的光標也會消失),將內核中的KERNEL_PATH/drivers/video/console/fbcon.c中的fb_flashcursor和fbcon_sursor函數體置空。重新編譯安裝內核即可。

2.內核編譯

內核的編譯需要依照實際的硬件配置,否則,對不明確的地方全選即可。需要注意的是:在2.6.xx版的內核中在配置文件中有部分配置需要手動修正:

CONFIG_SYSFS_DEPRECATED=y

CONFIG_SYSFS_DEPRECATED_V2=y

否則在使用LVM的linux系統下,內核編譯成功但是會提示找不到VolGroup00等錯誤,并直接導致內核啟動失敗,文件系統掛載出錯。

另外在2.6.36的內核中(可能此前的內核也存在這個問題),即使用intel和mavell以太網硬件的平臺上,編譯內核后會導致網絡驅動加載失敗,即找不到eth0和eth1設備。

這個問題和LVM的問類似,首先查看網卡設備信息:

lspci

結果會列出pci上所有的硬件設備信息,如ethernet,usb等,找到對應的以太網調制器。

cat /etc/modprobe.conf

找出ethx對應的驅動程序(如果系統在內核升級前正常,而升級后網絡不正常了,那可以在這里找到此前的有效驅動名稱)

在新內核下/lib/modules/2.6.xx/kernel/driver/net下如果能找到這些驅動,那么說明問題不出在驅動層,就可以不用再重新編譯內核。否者查看新內核目錄的.config配置文件

找到CONFIG_E1000E,和CONFIG_SKY2關鍵字,如果是“未設置”狀態,將這兩行加上:

CONFIG_E1000E=m

CONFIG_SKY2=m

保存后退出

make clean

make all

make modules_install

make install

修改grub的啟動順序使之選用新內核而后reboot

3.initrd定制

內核編譯安裝后,重啟可能會遇到類似insmod xxxx.ko error: xxxx.ko exist的錯誤

這是因為在生存initrd.img文件時,打包軟件重復的引入了某些驅動模塊

按以下步驟解壓initrd.img

新建一個目錄用于存放解壓的initrd

mkdir initrd

cd initrd

cp?/boot/initrd.img initrd.img.gz

gunzip initrd.img.gz

cpio -idcmv < initrd.img

此時initrd目錄下生成了諸多文件,其他不理會,編輯init文件,刪除其中的重復項,保存并退出

刪除舊的壓縮文件

rm initrd.img

然后執行以下命令生成新的initrd.img

find . | cpio -c -o > initrd.img

gzip -9 initrd.img

mv initrd.img.gz inird.img

使用新的initrd.img替換boot目錄下的對應文件,使用時注意initrd.img的具體文件名,中途勿隨意更改中間結果的名稱。

轉載于:https://www.cnblogs.com/semo/archive/2011/01/05/1926295.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的linux kernel 2.6.36 编译升级的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。