如何使用2.6.36.2行補丁在Ubuntu中編譯內核200

你們中的許多人似乎在安裝 內核預編譯了200行補丁 在您的機器上,這是意料之中的,因此最好有一個 核心 直接在我們的機器上編譯,而不是在外國機器上編譯,這樣就可以正確地採用我們機器的體系結構和硬件的常規配置。

因此,在這裡我教的是最大膽的方法,即如何在Ubuntu中測試自己的內核(2.6.36.2)(已在 Ubuntu的10.10),其中包含200行的補丁程序。 請記住,此過程應自擔風險,它需要下載大量軟件包並需要相當長的編譯時間。

首先,我們要做的第一件事是通過在終端中執行以下行來安裝內核編譯所需的依賴項:

sudo apt-get install fakeroot build-essential崩潰kexec-tools makedumpfile kernel-wedge內核包

現在讓我們在終端中執行以下行,這是編譯內核所必需的(從 強悍)

須藤apt-get build-dep linux

我們通過安裝編譯所需的其他軟件包來完成第一步

sudo apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

要繼續進行內核安裝過程,我們必須下載最新的穩定內核(2.6.36.2)的源代碼和補丁。 邁克·加爾布雷思 並在我們的個人目錄中找到它們。
讓我們為內核編譯創建一個目錄,然後轉到該目錄並從中下載內核源代碼 kernel.org:

mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz

現在我們創建一個新的文本文件,我們將復制在Mike Galbraith的帖子中找到的代碼,或者我們可以從MediaFire下載它,保存並關閉文件:

gedit〜/ autogroup.patch

邁克·加爾布雷思(Mike Galbraith)的官方帖子
MediaFire的Mike Galbraith Patch

現在,我們將解壓縮剛剛從中下載的內核 kernel.org:

tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2補丁-p1 <〜/ autogroup.patch

在這一點上,一切都應該順利進行,並且沒有錯誤,如果出現錯誤,則有必要重新啟動該過程。
接下來,我們將加載內核的當前配置,以便新內核直接從我們的系統中獲取配置,並且在編譯它時沒有任何問題。 即使這樣,如果您有足夠的知識,就可以自定義內核配置以獲得更適合您的需求的系統,那麼您可以做到。

如果您不知道自己在做什麼,最好不要手動修改內核配置。

我們通過在終端中執行以下命令來複製配置,然後執行

lsmod

這樣就可以執行系統中加載的所有模塊,並確保可以識別所有硬件。

cp -vi / boot / config -`uname -r` .config使localmodconfig

在這一點上,編譯過程將向您詢問有關模塊的幾個問題,繼續接受所有的問題,方法是按 Enter 直到設置過程完成。
通過在終端中執行以下行以打開內核配置菜單,我們繼續進行內核編譯:

cp / boot / config-$(uname -r).config &&是“” | 製作oldconfig製作menuconfig

現在,由於我們對200行的補丁程序感興趣,因此我們可以選擇要在內核中啟用的補丁程序。
為此,我們瀏覽出現的內核配置菜單,直到

General Setup

然後尋找帶有名稱的行

Automatic process group scheduling

,我們可以通過按下鍵盤上的空格鍵將其啟用,然後將自己置於該選項上

Exit

使用鍵盤上的箭頭鍵,然後按鍵 Enter 從鍵盤退出菜單

General Setup

.

Linux內核配置-常規設置

Linux內核配置-自動進程組計劃

現在我們導航到菜單

Kernel hacking

然後按鍵進入 Enter,我們尋找選項

Compile the kernel with debug info

然後通過按鍵盤上的空格鍵取消選擇它,再次轉到選項

Exit

然後按 Enter 退出主菜單。

Linux內核配置-內核黑客

Linux內核配置-否使用調試信息編譯內核

我們已經完成了內核配置,所以我們只需要回到

Exit

在主菜單中,然後按 Enter 完成內核配置。 當它詢問是否要保存對內核配置所做的更改時,我們可以接受,只要在“是”選項上按Enter。

現在是的,我們將通過在終端中執行以下行來編譯內核:

fakeroot make-kpkg --initrd --append-to-version = -20101209內核映像內核頭

請注意,構建過程可能會因您的硬件而異

這將在kernel-2.6.36.2目錄中生成兩個.deb軟件包,我們將使用它們在Ubuntu中安裝新的內核,從而使它們可被 突觸 並且容易移動。

我們來到了本教程的最後一部分,在這裡我們將安裝並測試剛剛安裝的新內核的正常功能。

要安裝我們剛剛生成的兩個.deb軟件包,我們必須在終端中執行以下命令:

cd .. sudo dpkg -i * .deb

如果一切順利,我們將重新啟動計算機,並在 蠐螬,我們選擇新的內核(2.6.36.2)並按 Enter 啟動系統。
回到桌面後,我們將通過在終端中執行以下行來驗證200線補丁是否正確應用並可以正常工作:

貓/usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i自動組

它必須返回這樣的一行:

CONFIG_SCHED_AUTOGROUP = y

如果是這樣,我們就可以運行我們的系統。 內核2.36.6.2的 Y EL “自動過程組計劃” 活性。
帶有內核10.10和自動進程組調度的Ubuntu 2.6.36.2 Maverick Meerkat

我們已經可以將Ubuntu發揮到最大...

感謝您的努力,本手冊來了 弗蘭科比.


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   奧拉西奧 他說:

    嗨大衛

    我的問題是:

    我通常使用ubuntu ppa的內核(https://launchpad.net/~kernel-ppa/+archive/ppa)

    這些不再附帶200線補丁了嗎?

    謝謝

    1.    大衛·戈麥斯 他說:

      看,我仍在檢查Ubuntu PPA內核是否包含補丁,但這很容易自己找到,只需運行命令 cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP,您將在其中更改計算機上最新內核版本的括號內的文本。

      如果收到這樣的回复消息 CONFIG_SCHED_AUTOGROUP=y,則您已安裝了補丁程序。

      注意: 要知道計算機上安裝的所有內核的版本,只需執行以下命令 ls /usr/src/ 在終端。

    2.    大衛·戈麥斯 他說:

      Horacio,Ubuntu PPA內核當前具有V4補丁 邁克·格拉布雷思 用他自己的話 蒂姆·加德納 (規範的開發人員)。

      自4-2.6.37起,我們將使用Mike Galbraith的auto-cgroup修補程序的V6.16版本,但是隨著前進到2.6.38合併窗口,我希望這種變化會朝上游方向發展。

      預定:每個會話自動執行的任務組V4

      RTG

      -
      蒂姆·加德納

  2.   ito人 他說:

    好吧,我已經編譯了它,並且已經安裝好了……。 至少系統現在沒有消失,無法正常工作

  3.   歐文 他說:

    優秀的教程。 我遵循了這封信的步驟,並且一切正常。 我有我的新內核。

    注意:我只做了一個聽起來很合邏輯的更改,就在這裡:

    cp -vi / boot / config -` uname -r` .config
    使localmodconfig

    我這樣做是這樣的:

    cp -vi / boot / config -` uname -r` .config
    lsmod
    使localmodconfig

  4.   ito人 他說:

    現在我意識到我犯了一個小錯誤,所以我將重新安裝它...並添加不可行的修改 :Mrgreen:

  5.   塞爾吉奧 他說:

    我停留在開頭:
    init:未讀主進程(362)終止,狀態為5
    好吧,它似乎運作良好,怎麼可能呢?

  6.   布賴恩 他說:

    很好,很好的手冊,他們也將其發佈在taringa上,此刻它正在編譯內核,我希望它進展順利,我只是在menuconfig中更改處理器的類型,希望您選擇Intel內核/更新的版本來選擇好至強,因為我有英特爾酷睿i3處理器,所以致以誠摯的謝意!

  7.   惡魔007 他說:

    你好,嗯,這個命令對我來說似乎更好

    cp / boot / config -`uname –kernel-release` ./.config

    因為它使用安裝的最新內核配置

  8.   Darkwolf22 他說:

    您好,您好嗎?我只是有一點疑問…內核文件中同時包含32位和64位版本? 還是要獲得amd64版本,我需要下載其他版本嗎?…通過推論,兩個版本應具有相同的權利?……很好的解釋!

    格拉西亞斯!