Ubuntu下构建内核源码树

网上好多文章,他大爷的都是转来转去,每一篇中用的。索性还是自己整理一篇吧。

网上牛人多,但是小白问题更多,更何况咱们这号不入门的,因为最近学内核,要写模块,模块要在源码树下编译安装,又习惯了Ubuntu的OS,不忍转向他方,还是好好摆置摆置它吧,找的几篇文章不怎么好用,下边开始吧。

PS:当前系统是上一篇配置SSH博文里Jun从Ubuntu 9.04更新到Ubuntu 10.04的系统。

这个网上都这么装,就这样来吧。

1.安装编译内核所需要的软件 build-essential、autoconf、automake、cvs、subversion

$ sudo apt-get install build-essential kernel-package libncurses5-dev

libncurses5这个软件包在使用menuconfig配置内核的时候会用到。

2.进入/usr/src ,在这里构建源码树,我们用下面指令查看可用的源码包:

$ sudo apt-cache search linux-source

我的提示是:

linux-source -Linux kernel source with Ubuntu patches

linux-source-2.6.32- Linux kernel source for version 2.6.32 with Ubuntu patches

3.那么就让我们来下载2.6.32版的kernel,通过下边命令:

$ sudo apt-get install linux-source-2.6.32

Ubuntu下构建内核源码树

等待下载完成。

4.下载完成后,我们进入/usr/src ,默认会在这里,看看他的目录结构:(ls 一下)

Ubuntu下构建内核源码树

我的显示可以看到有两对儿Linux-header-2.6.* 的目录,你的应该是只有一对儿,之所以这样是以为我的是从9.04更新到10.4,Ubuntu会保留历史版本,不用管它,记住,这里linux-headers-2.6.32-34-generic 、linux-headers-2.6.32-34、linux-source-2.6.32.tar.bz2 ,这才是我们用到的。linux-source-2.6.32.tar.bz2这个就是刚刚下载好的源码,我们来解压一下:

$ sudo tar –xjvf linux-source-2.6.32.tar.bz2

然后为了操作方便,我们给源码目录建立一个软连接:

$ sudo ln –s linux-source-2.6.32 linux

这样我们就可以通过linux来操作linux-source-2.6.32目录了。

$ cd linux

相关推荐