Debian下編譯Linux核心

2021-08-22 06:47:10 字數 2190 閱讀 7573

一直以為linux核心的編譯是一件很複雜的事情,雖然有幾次也實在是按捺不住衝動,要自己來編譯一下試試,但是類似的幾次嘗試都是以失敗而告終。在不久前,看到過一些關於debian下編譯核心的文章,說得很詳細,而且似乎看起來也並不是很複雜的樣子,於是決定自己編譯一下核心,畢竟對於使用linux的人來說沒有自己編譯過核心還真是一件叫人遺憾的事情。在這裡記下的是自己編譯2.6.19核心的方法,希望對於大家會有一些小小的幫助。

上找到我們所希望的核心,在這裡我們使用的較新的2.6.19版本的核心。

2 將核心解壓/usr/src目錄下:

**:$ cd /usr/src

**:$ tar -xvf linux-2.6.19.tar.bz2

以前看到過的一些關於核心編譯的文章都會說到在這裡建立乙個指向原始碼目錄的linux鏈結,但是在新的2.6版本的核心中沒有進行這一步,而且有時如果這樣做反倒會造成編譯不成功,所以在這裡我們也就把這一步免了。

3 安裝所需的軟體包:

**:$ apt-get install kernel-package libncurses5-dev fakeroot build-essential

4 配置核心:

**:$ cd linux-2.6.19

**:$ make menuconfig

在這裡我們可以按照我們的興趣與需要來配置核心。而如果我們對於這些配置選項並不是很熟悉,我們可以使用我們以前的配置檔案來進行配置:

**:$ cp /boot/config-`uname -r` .config

5 編譯核心:

**:$ make-kpkg clean

**:在這裡我們有必要先介紹一下make-kpkg與fakeroot這兩個軟體包。

**:mylxiaoyi@debian:~$ uname -r

2.6.19.061228

核心模組位於/lib/modules子目錄下。每乙個核心有他自己的子目錄。每次當我們以乙個新的名字來安裝乙個新的核心時,這個包安裝程式就會在/lib/modules目錄下建立乙個新的子目錄來儲存他自己的模組。

注意:如果我們使用相同的名字來安裝乙個核心時,安裝程式就會覆蓋掉已安裝的核心及其模組。

使用不同的--revision的值就可以避免相同名字的核心之間的衝突。

debian kernel-image檔案的名字格式如下:

**:

進行核心編譯時我們用到的另外乙個軟體包就是fakeroot。使用fakeroot我們可以普通使用者的身份來執行make-kpkg,並且可以以普通的許可權來完成大多數的工作。在接近工作的結尾時,fakeroot就會以模擬root環境來建立乙個kernel-image軟體包。

這樣經過一段時間的等待以後我們就會得到乙個deb包,如:

**:linux-image-2.6.19.061228_2.6.19.061228-10.00.custom_i386.deb

這時我們就可以使用dpkg來安裝這個包了:

**:$ dpkg -i linux-image-2.6.19.061228_2.6.19.061228-10.00.custom_i386.deb

6 建立ramdisk:

在新版本的核心中建立ramdisk使用的是mkinitrd.yaird。我們首先要安裝這個軟體包:

**:$ apt-get install mkinitrd.yaird

在使用這個軟體包建立ramdisk之前,我們需要修改/boot/config-2.6.19.061228檔案,將

**:config_defconfig_list="/lib/modules/$uname_release/.config"

這句注釋掉,否則我們就會得到乙個錯誤資訊。

**:$ vim /boot/config-2.6.19.061228

**:[...]

# config_defconfig_list="/lib/modules/$uname_release/.config"

[...]

這樣以後我們就可以建立ramdisk了:

**:$ mkinitrd.yaird -o /boot/initrd.img-2.6.19.061228 2.6.19.061228

7 修改grub配置檔案使用新版本的核心啟動。

呵呵~~這樣看來在debina下編譯核心也並不是一件很困難的事情,這樣我們就可以完全按照我們的需要來配置我們的linux核心了~~

參考:

安裝debian總結以及編譯linux核心

將磁碟進行壓縮操作,並且保留出乙個主分割槽的位置。然後,重新啟動系統按f12,選擇u盤啟動,進行安裝。有幾個需要注意的地方 1 事先在windows系統中,通過 計算機 管理 磁碟管理 的工具,將空閒空間較大的分割槽進行 壓縮盤 操作,我這裡壓縮出40g的空間,再分成兩個partition 乙個用於...

Debian下編譯Linux核心

一直以為linux核心的編譯是一件很複雜的事情,雖然有幾次也實在是按捺不住衝動,要自己來編譯一下試試,但是類似的幾次嘗試都是以失敗而告終。在不久前,看到過一些關於debian下編譯核心的文章,說得很詳細,而且似乎看起來也並不是很複雜的樣子,於是決定自己編譯一下核心,畢竟對於使用linux的人來說沒有...

Debian下編譯Linux核心

一直以為linux核心的編譯是一件很複雜的事情,雖然有幾次也實在是按捺不住衝動,要自己來編譯一下試試,但是類似的幾次嘗試都是以失敗而告終。在不久前,看到過一些關於debian下編譯核心的文章,說得很詳細,而且似乎看起來也並不是很複雜的樣子,於是決定自己編譯一下核心,畢竟對於使用linux的人來說沒有...