Ubuntu下2.6.24的内核编译

来源:互联网 发布:文章发布系统源码 编辑:程序博客网 时间:2024/05/16 14:19

第一步 安装必要的工具

首先要安装必要的包。 LUPA开源社区/ZLTW/JH2@N
包有:libncurses5-devmenuconfig需要的)和essential
w xl0@d OD kg151392sudo apt-get install build-essential bin86 kernel-package LUPA开源社区2p J~;P)Kn
sudo apt-get install libqt3-headers libqt3-mt-dev  //LUPA开源社区;c)GY9GR3[y{
sudo apt-get install make
C7?(Q1a2q o[8`151392sudo apt-get install gcc LUPA开源社区;_B$q|:j,M!D!U
另外,查看系统是否有这样的两个命令 LUPA开源社区"`bU0^Xu'xe9Or
mkinitramfs mkisofs
&wG%T.dmio151392
这两个工具在编译内核时用来生成 *.img文件的。如果没有就需安装。 LUPA开源社区S;hR:P k6R2cs
LUPA开源社区#hd/i@LCT
第二步 下载内核
],@'R/_s3s*T xN151392
We4xDT|{,Y9P B+L151392
www.kernel.org下载新内核到/usr/src
2pC FL1_N$T151392
我下载的是linux-2.6.24.tar.gz(原来的内核是2.6.20-15-generic)

 

第三步 编译前的准备 LUPA开源社区3K$mw7ly*k7F%W

c5Q.nuV(T9h6pP151392
察看当前内核的版本 LUPA开源社区6fFac5Fd V
uname -a

建议最好下载比当前已安装版本高的内核
:m[(kTJ4hgB151392
.Lj]m{{~'v2t@3@151392
解压linux-2.6.24.tar.gzlinux-2.6.24 LUPA开源社区6M(T&tip
cd /usr/src

sudo tar zxvf linux-2.6.24.tar

cd linux-2.6.24/

LUPA开源社区FpW0^2/{JMC
第四步 开始编译
?+Zt$N!~+|3u:?U151392
vU,N-YwW7jl/b| L@6Y151392cd /usr/src/linux-2.6.24  //
以下所有的工作都在/usr/src/linux-2.6.24下完成 LUPA开源社区)I:K�~.k$n3X_
sudo make menuconfig  //
menuconfig的话还需要Ncurses,或者用 LUPA开源社区 D vm6c'wyc
sudo make xconfig

sudo make menuconfig  //一般是用menuconfig

 

 

配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux-2.6.24 下名为.config,你也可以自己在别的地方另存一份)
SKX,Sh}1^-y b151392
也可以cp原来在/boot目录下的config-2.6.xx 到当前目录下,在make menuconfig是使用这个配置文件。
"W7C7Q1h&~6D151392sudo make dep    //
也许系统会提示现在不必要进行make dep,那就下一步 2.6.24的我编译就没有使用过。LUPA开源社区Hm,rP!nA
sudo make clean //
清除旧数据 ,新解压的内核源码就不需要这一步了

sudo make –j2 可以分两个线程来进行编译工作,不过我用make –j4 却发现系统有9make进程在工作。所以这个参数未必起作用。
eP-^1d q151392sudo make bzImage //
编译内核,将保存到/usr/src/linux-2.6.24/arch/i386/boot/ LUPA开源社区kY+qx3^{
sudo make modules //
编译模块 LUPA开源社区/H S }:fFS,X
sudo make modules_install //
安装模块 LUPA开源社区`m^?0m(A2N$K
sudo mkinitramfs -o /boot/initrd-2.6.24.img 2.6.24

此时可能提示找不到这样的一个文件夹“/lib/firmware/2.6.24”,你需要手工创建一个这样的文件夹。

sudo mkdir /lib/firmware/2.6.24
Q;|(J+b+T [@151392sudo make install //
安装内核
LUPA开源社区3[#W7U%T4i#R2]T

8U1BG;g FMV }8{151392
安装完后/boot下将增加以下几个文件(用ls -l *24*查看)

helight@helight-desktop:/boot$ ls -l *24*

-rw-r--r-- 1 root root    85203 2008-03-14 22:24 config-2.6.24

-rw-r--r-- 1 root root    85203 2008-03-14 20:23 config-2.6.24.old

-rw-r--r-- 1 root root 37968871 2008-03-15 08:31 initrd-2.6.24.img

-rw-r--r-- 1 root root  4014080 2008-03-14 22:24 initrd.img-2.6.24

-rw-r--r-- 1 root root   932315 2008-03-14 22:24 System.map-2.6.24

-rw-r--r-- 1 root root   932315 2008-03-14 20:23 System.map-2.6.24.old

-rw-r--r-- 1 root root  1858864 2008-03-14 22:24 vmlinuz-2.6.24

-rw-r--r-- 1 root root  1858864 2008-03-14 20:23 vmlinuz-2.6.24.old

helight@helight-desktop:/boot$

/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字

 

title            Ubuntu, kernel 2.6.24

root            (hd0,0)

kernel          /boot/vmlinuz-2.6.24 root=UUID=d7e2cf74-ebf5-4c78-ac2c-9f85a9809eae ro

initrd          /boot/initrd-2.6.24.img

LUPA开源社区"C]u"kr?*Z#r
从新启动即可。