linux内核编译(ubuntu12.04,linux-2.6.38)

开发平台:window XP

开发环境:VMware虚拟机,ubuntu 12.04操作系统

内核版本:linux-2.6.38

运行权限:root

 

1.下载源码

可从https://www.kernel.org/pub/linux/kernel/v2.6/  下载linux-2.6.38.tar.gz 

 

2.解压源码

考到ubuntu下,本文拷贝至为home/OS目录下,执行如下命令解压

#tar xvzf linux-2.6.38.tar.gz

 

3.配置内核

进入linux-2.6.38根目录,并使用命令make menuconfig命令配置内核,如下

#cd linux-2.6.38

# make menuconfig

输入命令后出现如下界面:

 

如果你比较勤快或者你懂得如何裁剪内核,就开始裁剪,如果不懂,就选择默认配置,然后

选择保持配置,如下图所示,系统会在根目录下会生成.config隐藏文件,使用命令ls –a可以查看该命令

 

 

4.make

在生成后使用.config后输入如下命令

#make

这个过程就比较漫长了,短则需要1个小时,长则估计要3个小时,所以输入这个命令后,就需要耐性等待期编译完毕。

 

5.make modules_install

漫长的等待后,输入如下命令

#make modules_install

该命令用于将在make过程中生成的各种模块编译进内核,这个估计也需要个几分钟。

 

6.make install

在终端输入如下命令

#make install

这一步很关键,这个命令会执行一个arch/x86/boot/install.sh脚本,该脚本厉害了,帮你生成可执行文件vmlinuz-2.6.38,生成System.map、config-2.6.38和initrd.img-2.6.38,且统统帮你放到/boot/文件夹下,这个是系统寻找各种启动文件的地方,最后还帮你更新grub,使得重启ubuntu后启动菜单就多了新内核选项。

稍微等待下,生成完毕后,切换到/boot/文件夹,查看生成是否正确

#cd /boot/

#ls

正常情况下可以看到以下四个文件:

config-2.6.38

Initrd.img-2.6.38

System.map-2.6.38

vmlinuz-2.6.38

 

7.重启

最后一步,重启,在启动的时候要按住shift键,才能看到启动菜单,要不然默认会进入原来内核的ubuntu。

 

8.查看新内核

重启进入ubuntu系统后,输入命令

# uname -a

Linux ubuntu 2.6.38 #3 SMP Fri Apr 26 18:50:34 PDT 2013 i686 athlon i386 GNU/Linux

可以看到新的内核已经生效,且有内核编译时间。

posted @ 2014-04-29 19:56  jeffkuang  阅读(951)  评论(0)    收藏  举报