核心定製並不適合所有人。請注意,在你嘗試任何這可能會打破你的系統。
有一大堆原因讓你想定製你的核心。您可能希望將核心精簡到只需要必要的服務,尤其是在執行只需要基本服務的伺服器或專用裝置時。您可能還需要修補核心以支援當前執行的核心不支援的硬體。
本文將不解釋如何修補核心,只解釋如何定製當前核心。我將有另一篇後續文章來解釋如何修補核心,以及為什麼要這麼做的一些實際原因。
首先,我們需要弄清楚當前執行的核心版本。我們將使用uname命令
$ uname -r
2.6.17-10-generic
現在我們需要為核心安裝linux原始碼,請注意,我正在執行2.6.17-10核心,因此安裝程式行反映了這一點。在本文中,您可以用核心號代替正在執行的任何內容。我們還需要安裝curses庫和一些其他工具來幫助我們編譯。
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
如果您想知道linux原始碼安裝到哪裡,可以使用dpkg命令告訴您包中的檔案。以下是我係統的輸出:
$ dpkg -L linux-source-2.6.17 /. /usr /usr/src /usr/src/linux-source-2.6.17.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.17 (trimmed)
我們可以看到原始碼已安裝到壓縮檔案中的/usr/src目錄。
為了使事情更簡單,我們將使用sudo開啟一個新shell,從而將自己置於root模式。有其他的方法,但我更喜歡這種方法。
sudo /bin/bash
現在將目錄更改為源位置,以便安裝。請注意,如果沒有安**unzip實用程式,則可能需要安裝它。(那是我的)
cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
**一個現有核心配置的副本,用於自定義編譯過程。注意`字元是波浪號下面的字元~
cp /boot/config-`uname -r` /usr/src/linux/.config
現在我們將啟動一個實用程式,讓我們自定義核心:
cd /usr/src/linux
make menuconfig
首先,向下載入一個備用配置檔案,然後載入.config檔案。(按回車鍵)
現在我們已經在實用程式中了,可以為自定義核心設定選項了。導航很簡單,如果你迷路了,上面會有一個傳說。我決定選擇“網路”並按Enter鍵進入該類別。
業餘無線電支援?到底是為了什麼安裝的?您會注意到,它是核心的內建。
按按鈕?鍵,我們可以看到特定專案的幫助。解釋如下:
好吧,我要馬上停用它。到底為什麼要在我的核心中安裝呢?我按Esc退出幫助螢幕,然後按N將其從核心中排除。
當你完成任何你想要的選擇,點選退出,並儲存配置時提示。
現在我們已經準備好編譯配置了。首先,我們要做一個makeclean,以確保一切都準備好進行編譯。
make-kpkg clean
接下來我們將實際編譯核心。這將需要很長的時間,所以去尋找一些有趣的事情做。
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
這個過程將在/usr/src中建立兩個包含核心的.deb檔案。linux映像****檔案是實際的核心映像,另一個檔案包含可以用dpkg安裝的。檔名在您的系統上可能會有所不同。
請注意,當您執行這些下一個命令時,這將把新核心設定為新的預設核心。這會弄壞東西的!如果您的機器沒有啟動,您可以在GRUB載入選單中點選Esc,然後選擇舊核心。然後可以在/boot/grub中禁用核心/選單.lst或者再次嘗試編譯。
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
現在重新啟動你的機器。如果一切正常,您應該執行新的自定義核心。您可以使用uname檢查這一點。請注意,您的機器上的確切數字將有所不同。
uname -r
2.6.17.14-ubuntu1-custom
我計劃寫一系列關於核心定製的文章,所以訂閱RSS提要進行更新。
另外,為了充分披露,我從HowtoForge的文章中學習瞭如何做到這一點,這是一個很好的網站,提供了一些非常高階的linux教程。您會注意到,本文中的許多步驟都是類似的,儘管我試圖使本文更“Ubuntu”。
...潔的方法,密切關注CPU溫度、網路使用情況和硬碟利用率如何?這一美麗的桌面體驗的核心是康基。 ...
...簡單的事——它需要相當多的知識。我們之前已經討論過如何做到這一點,但是如果您希望不必大驚小怪地獲得最新和最棒的,並且您正在執行Ubuntu,那麼您可能會喜歡一種更自動化的Ukuu形式的解決方案。 ...
Canonical對Ubuntu有著雄心勃勃的計劃。Linux人類發行版一開始只是一個稍微有點主題的GNOME體驗。從那時起,Canonical建立了自己的Unity桌面介面。現在它正在開發一個完全不基於GNOME的新版本。另外,Ubuntu將擁有自己的顯示伺服器,...
...何支援問題。使用各種Ubuntu派生工具(如Lubuntu和Xubuntu)定製使用者體驗的空間很大,這使它成為最好的Linux程式設計發行版的有力競爭者。 ...
... 想要更好地理解這一切是如何與Ubuntu相容的嗎?檢視我們的Ubuntu啟動指南。如果你準備好了,現在可能是時候升級到ubuntu19.04了。 ...
...19.04“Disco Dingo”就可以享受Linux核心5.0的好處。下面介紹如何在不更新的情況下在Ubuntu中升級Linux核心。 ...