首頁 > 軟體

Debian下的核心編譯

2020-06-16 17:48:36

如果你裝了一台Linux的機器,自己沒有重新編譯核心,那這台機器的效率就大打折扣了,因為預設安裝的機器會生成許多不需要的東西,在啟動的時候也會比較慢,而你要用的有些東西可能不能工作,比如,現在都把IPV6放在裡面,但我還不知道什麼時候能用到IPV6呢,啟動的時候老是找啊找的,心煩,而Fedora裡面的PPP預設是不設定的,你上來用不了撥號怎麼辦?所以,在Linux下編譯核心是一項必要的工作,好了,現在開始吧:

如果你總是想用最新的核心,那麼到kernel.org去下載最新的,如果你只是為了改更一些選項,那麼建議你還是直接用apt-get 下載Debian的核心吧。
seabird-debian:/usr/src# apt-get install linux-tree-2.6.18 kernel-package fakeroot
(如果你直接用root使用者,下不下fakeroot到無關緊要)
安裝並不是真的會把這個kernel安裝到你的系統,只是下載原始檔而已,好了,進入/usr/src:
你會看到一個檔案linux-source-2.6.18.tar.bz2

先把檔案解壓
seabird-debian:/usr/src#tar jxvf linux-source-2.6.18.tar.bz2
檔案被解壓後生成一個linux-source-2.6.18的目錄,進入該目錄:
seabird-debian:/usr/src#cd linux-source-1.6.18
seabird-debian:/usr/src/linux-source-1.6.18#

使用正在執行的組態檔:
seabird-debian:/usr/src/linux-source-1.6.18# make oldconfig

然後進行修改:
seabird-debian:/usr/src/linux-source-1.6.18# make menuconfig

生成新核心:
seabird-debian:/usr/src/linux-source-1.6.18# make-kpkg clean
seabird-debian:/usr/src/linux-source-1.6.18# make-kpkg --initrd --append-to-version=seabird --revision=1.0 kernel-image

檢視如有錯誤,再次 make menuconfig  更改,如果順完成,會在/usr/src下生成如下檔案:
linux-image-2.6.18lilin_1.0_i386.deb

好了,安裝新核心
seabird-debian:/usr/src# dpkg -i linux-image-2.6.18lilin_1.0_i386.deb
選中了曾被取消選擇的軟體包 linux-image-2.6.18lilin。
(正在讀取資料庫 ... 系統當前總共安裝有 119841 個檔案和目錄。)
正在解壓縮 linux-image-2.6.18lilin (從 linux-image-2.6.18lilin_1.0_i386.deb) ...
Done.
正在設定 linux-image-2.6.18lilin (1.0) ...
Running depmod.
Finding valid ramdisk creators.
Using mkinitramfs-kpkg to build the ramdisk.
Running postinst hook script /sbin/update-grub.
You shouldn't call /sbin/update-grub. Please call /usr/sbin/update-grub instead!
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.18lilin
Found kernel: /boot/vmlinuz-2.6.18-6-686
Found kernel: /boot/vmlinuz-2.6.18-5-686
Found kernel: /boot/vmlinuz-2.6.18-4-686
Updating /boot/grub/menu.lst ... done

seabird-debian:/usr/src#

注意紅色的那一行,按提示自己執行一下
seabird-debian:/usr/src# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.18lilin
Found kernel: /boot/vmlinuz-2.6.18-6-686
Found kernel: /boot/vmlinuz-2.6.18-5-686
Found kernel: /boot/vmlinuz-2.6.18-4-686
Updating /boot/grub/menu.lst ... done
seabird-debian:/usr/src#

好了,新的kernel已經新增到啟動列表了,reboot,你就可以使用新核心了!

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-12/126418.htm


IT145.com E-mail:sddin#qq.com