本人新學,因此將每一步詳細記錄如下,望能夠對大家有所幫助。
環境: 電腦操作系統:ubuntu10.04 。 linux內核版本:linux-3.12.6
內核源碼下載地址:www.kernel.org
我就按照步驟來,都是按照細小步驟來。
1、打開終端,更改爲root用戶。輸入命令su,再輸入密碼即可。
2、進入下載到的內核所在的目錄,將下載的內核移動到/usr/src/目錄下
mv linux-3.12.6.tar.xz /usr/src
3、切換到/usr/src/目錄下,解壓縮內核壓縮包。由於下載的壓縮包是.tar.xz後綴,解壓分爲兩步:
xz -d linux-3.12.6.tar.xz
tar -xvf linux-3.12.6.tar
然後進行一些準備工作,將/usr/include/asm、/usr/inlude/linux、/usr/include/scsi鏈接到/usr/src/linux/include目錄下的對應目錄中
cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux-3.12.6/include/asm-generic asm
ln -s /usr/src/linux-3.12.6/include/linux linux
ln -s /usr/src/linux-3.12.6/include/scsi scsi
以上紅色字體部分不是必做。
同時,清理內核源碼中的殘渣(多次編譯留下的):
cd /usr/src/linux-3.12.6
make mrproper
4、輸入cd linux-3.12.6 進入解壓後的目錄下。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
以下要進行內核的配置了。
5、由於系統中沒有圖形界面配置工具ncurses,因此首先下載此工具安裝包,然後在終端打開工具所在目錄,切換到root用戶下,輸入以下命令:
tar zxvf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
make
make install
這樣就安裝好了ncurses,可以使用了。
6、第五步是獨立步驟。單獨操作。這一步接上面第四步。在終端輸入以下命令:
make menuconfig
出現了配置的圖形界面。
說一下配置:
對每一個配置選項,用戶有三種選擇,它們分別代表的含義如下:
<*>或[*]——將該功能編譯進內核
[]——不將該功能編譯進內核
[M]——將該功能編譯成可以在需要時動態插入到內核中的代碼
7、這一步是配置過程。配置你需要的內容。配置完成以後,保存退出。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
8、配置完成以後,開始編譯內核,在終端輸入make命令即可。
還有一種比較麻煩的方法,在終端依次輸入以下命令:
make dep
make clean
make bzlmage
make modules
這樣也可以。
這一步需要很長時間,耐心等待吧。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
然後是安裝內核模塊
9、輸入命令 make modules_install
10、輸入命令 make install
此時,內核編譯完成。剩下是修改啓動程序配置,然後運行新的內核程序。
11、將生成的bzImage文件和System.map文件拷貝到/boot/目錄下,命令如下:
cp /usr/src/linux-3.12.6/arch/x86/boot/bzImage /boot/
cp /usr/src/linux-3.12.6/System.map /boot/
12、在終端輸入命令:
mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6
來建立鏡像文件
然後輸入命令:
update-initramfs -c -k 3.12.6
再輸入命令:
update-grub2
更新修改系統引導配置。
13、進入引導程序(boot loader)的配置文件看看,對於不同的引導程序(LILO和GRUB),其配置文件所在路徑不同。
對於LILO,路徑爲:/etc/lilo.conf
對於GRUB,路徑爲:/boot/grub/grub.cfg
本系統爲GRUB引導,因此進入/boot/grub/grub.cfg,命令如下
cd /boot/grub
gedit grub.cfg
看到配置文件中有如下內容:
說明內核已經添加到啓動項了。
14、到此,內核編譯就算全部完成,可以重啓電腦了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
15、以上是在ubuntu下編譯內核的全過程。
16、參考網上各種資料,在別的linux系統下編譯內核在最後配置啓動過程的時候略有差別,在此列出。
17、其他版本一:配置/etc/lilo.conf文件。在該文件中加入下面幾行:
default=linux-2.3.14
p_w_picpath=/boot/vmlinuz-2.3.14
label=linux-2.3.14
root=/dev/hda1
read-only
使新配置生效 輸入 /sbin/lilo
重新啓動系統 /sbin/reboot
好了,本文到此結束。希望對大家有所幫助。