歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 構建內核樹

構建內核樹

日期:2017/3/1 10:20:49   编辑:Linux編程

1. 下載內核源代碼

apt-cache search linux-source

其中顯示的有:linux-source-2.6.20, 沒有和我的內核版本完全匹配,不過也沒關系,直接下載就可以了:

apt-get install linux-source-2.6.20

2. 下載後,在/usr/src/ 目錄下有壓縮包解壓

tar -jxvf linux-source-2.6.20.tar.bz2

3 配置,編譯內核

進入/usr/src/linux--source-2.6.20 目錄下,可以看到Makefile 文件,它包含了整個內核樹編譯信息。該文件最上面四行是關於內核版本的信息。對於整個Makefile 可以不用做修改,采用默認的就可以了。

4.make menuconfig

重新配置,選項很多,一時也搞不清楚狀況

主要是保證內核啟動模塊可動態加載的配置

Loadable module support ----->

下的默認就行拉,可以看到已經支持模塊加載編譯內核image

5.make

可以看點內核編譯選項的介紹,要等一個小時左右

6.make bzImage("I" 大寫) 然後編譯模塊

7.make modules

8.make modules_install

make install 一切就緒後,查看/boot/ 下已經有vmlinuz-2.6.20.3 了,但是沒有對應的initrd.img 。查了查資料,要mkinitrd.

可是竟然沒有這個命令,又少了東西

apt-get install initrd-tools 安裝initrd-tools 然後執行

mkinitrd -o /boot/initrd.img.2.6.20.3 /lib/modules/2.6.20.3 生成新的initrd.img

9. 再修改 /boot/grub/menu.lst 用新的內核啟動

title gnuser,:)

root (hd0,1)

kernel /boot/vmlinuz-2.6.20.3 root=/dev/sdb1 ro quiet splash

initrd /boot/initrd.img-2.6.20.3

savedefault

boot

重啟後,成功進入新配

Copyright © Linux教程網 All Rights Reserved