西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → Ubuntu/Debian用戶 可以用make-kpkg簡化系統(tǒng)內(nèi)核編譯過程

Ubuntu/Debian用戶 可以用make-kpkg簡化系統(tǒng)內(nèi)核編譯過程

相關軟件相關文章發(fā)表評論 來源:本站整理時間:2011/1/8 9:04:47字體大。A-A+

作者:佚名點擊:888次評論:0次標簽: Ubuntu

PPS for Ubuntu1.0.0.1 官方安裝版
  • 類型:網(wǎng)絡電視大。1.5M語言:中文 評分:6.6
  • 標簽:
立即下載

本文介紹的make-kpkg可以用于所有Debian系的發(fā)行版如Debian、Ubuntu、Linux Mint等。

傳統(tǒng)編譯方式
通常,如果我們需要編譯Linux內(nèi)核,大概要經(jīng)歷以下幾個步驟:

1、配置內(nèi)核
最常用的配置內(nèi)核的方法是“make menuconfig”。“make config”太簡陋,“make xconfig”雖然更加直觀,但需要龐大的qt類庫支持,menuconfig應該是最佳的折中。

2、編譯內(nèi)核和模塊
依次執(zhí)行“make”、“make modules”、“make modules_install”、“make install”,如果前面的配置沒有問題的話,耐心等待一段時間就可以得到編譯好的內(nèi)核和模塊了。

3、生成initramfs并配置Grub
經(jīng)過第二個步驟的“make install”,kbuild系統(tǒng)會把生成的內(nèi)核鏡像拷貝到INSTALL_PATH路徑下(默認這個路徑是/boot),但這時并不能使用,我們必須配置手動Grub才可以。另外,很多發(fā)行版會使用initramfs來做引導之用(還有部分發(fā)行版采用initrd),我們還需要為我們的新內(nèi)核手動生成initramfs鏡像(請參考制作initramfs/initrd鏡像)。


make-kpkg
如果您是Ubuntu/Debian的用戶,可以使用make-kpkg簡化這個流程,而且還能帶來其他額外的好處。

在Ubuntu下,安裝kernel-package這個包之后,就可以使用make-kpkg了。

sudo apt-get install kernel-package


使用make-kpkg編譯內(nèi)核,第一個步驟“配置內(nèi)核”還是必不可少的,在這里,我比較建議在發(fā)行版默認的config的基礎上再進行配置,這樣配置出的內(nèi)核和發(fā)行版本身才會有更好的相容性。比如Ubuntu 10.10,可以在運行“make menuconfig”之前執(zhí)行命令“cp /boot/config-2.6.35-24-generic .config”,或者在menuconfig里先把/boot/config-2.6.35-24-generic load進來。



這個配置的過程也可以放到make-kpkg里,在執(zhí)行make-kpkg命令時,加入?yún)?shù)“--config menuconfig”即可,但這樣做其實并沒有帶來什么便利之處。

配置完內(nèi)核之后,接下來要執(zhí)行真正的編譯過程。通常我們可以這樣下命令:


make-kpkg --initrd --revision wwang.001 --append-to-version -20110107 kernel_image


1、--initrd選項會讓make-kpkg自動幫我們生成initramfs;

2、--revision會給生成的deb文件加上一個版本信息。這個參數(shù)只是影響到文件名,如果不指定,默認會是“10.00.Custom”;

3、--append-to-version也是一種版本信息,它不僅出現(xiàn)在deb安裝包的文件名里,也會影響到kernel的名稱,比如本例中,內(nèi)核更新完成之后,用“uname -r”察看會得到“2.6.36-20110107”;

4、kernel_image表示生成內(nèi)核和默認模塊的安裝包,另外您也可以加上kernel_headers,這樣make-kpkg會再生成一個內(nèi)核頭文件的安裝包。

如果我們用普通用戶來執(zhí)行make-kpkg,需要加上fakeroot運行。

fakeroot make-kpkg --initrd --revision wwang.001 --append-to-version -20110107 kernel_image

編譯過程執(zhí)行完畢之后,會在上層目錄里生成一個deb安裝包,本例中生成的安裝包的文件名是“l(fā)inux-image-2.6.36-20110107_wwang.001_i386.deb”。

之后我們就可以用dpkg命令或者在文件瀏覽器中雙擊安裝了,安裝完畢之后,直接重啟就可以選擇進入新的內(nèi)核。

使用make-kpkg來編譯內(nèi)核,還有其他好處。因為我們是通過包管理器來安裝新的內(nèi)核,當不再需要這個內(nèi)核時,就可以簡單的通過dpkg命令、新立得軟件包管理器或者Ubuntu軟件中心來完全卸載,而不需要一個個手動刪除修改。

對于一般使用來說,知道以上的命令就足夠了,如果需要詳細了解make-kpkg的用法,可以查閱manual或者參考這篇教程。

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)