ubuntu内核源码树的建立

来源:互联网 发布:中航804知乎 编辑:程序博客网 时间:2024/05/16 17:49

开始读<Linux设备驱动程序>的时候,一而再的看见要创建自己的内核源码树.起初并不是很明白源码树是什么,经过网上的搜寻,找了点概念,其实应该很形象,树的形式就是主干,树枝,树叶,都是一层一层的,逻辑性比较强,所以,明白了吧,就是内核的逻辑形式.(当然这是网络上看到的).感谢大家的无私奉献.
现在开始记下我建立的过程,及自己的想法
1.首先要查看自己的OS使用的内核版本如:
a@a-desktop:~$ uname -r
2.6.32-22-generic/*我的也算是很新的版本了*/

2.查看是否在安装系统的时候安装了源码.
a@a-desktop:/usr/src$ ls
linux-headers-2.6.32-16          
linux-source-2.6.32/*这是tar jxvf linux-source-2.6.32.tar.bz2后的文件*/
linux-headers-2.6.32-16-generic 
linux-source-2.6.32.tar.bz2/*就是你的os使用内核相对应的版本,这是我才下的,现在正在making呢,呵呵*,对于ubuntu来说,一般在安装的时候是没有的,所以,接下来往下做/
linux-headers-2.6.32-22          
nvidia-173-173.14.22
linux-headers-2.6.32-22-generic

3.寻找你相应的内核源码(这里不用sudo是一样的)
a@a-desktop:/usr/src$ sudo apt-cache search linux-source
[sudo] password for a: 
linux-source - Linux kernel source with Ubuntu patches
linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patche/*这是我要下的,记住不是整个哦,开始的时候我把-后面的也一起弄进去了,结果提示有错误,呵呵,第一次自己按照网上的来还是容易搞错呢.多学多动手才是硬道理呀,应了高中老师的一句话:革命还未成功,同志仍需努力*/

4.下面就是下载内核了.
a@a-desktop:/usr/src$  sudo apt-get install linux-source-2.6.32
下载完成后,会自动的存放在/usr/src下,即使你不是在a@a-desktop:/usr/src$下操作的.那下下来后会是什么样子的呢,呵呵,就是前面第二步中那样一个压缩包啦,然后你找了这个压缩包了,解压吧.

5.解压压缩包
a@a-desktop:/usr/src$sudo tar jxvf  linux-source-2.6.32.tar,bz2/*解压后源码全部在linux-sourcc-2.6.32文件中了.

6.进入解压后源码的目录下
a@a-desktop:/usr/src/linux-source-2.6.32$sudo make oldconfig/*我不知道为什么,总之按照网上的说法来的*/

7.开始安装吧,make了,(这个要花很长时间,我没具体的算过,但是据大家说应该是一个小时左右,可是我花了接近两个小时,让我等得呀,呵呵)
a@a-desktop:/usr/src/linux-source-2.6.32$sudo make/*建议用sudo,当然也可以在root下make,但是如果直接make,会出现相应的错误,我试了两次的*/
a@a-desktop:/usr/src/linux-source-2.6.32$sudo make bzImage/*这步和上一步可以一起执行,可以不用make,直接进行这一步.
root@a-desktop:/usr/src/linux-source-2.6.32#make modules  /*编译 模块*/
root@a-desktop:/usr/src/linux-source-2.6.32#make modules_install /*安装 模块*/
执行结束之后,会在/lib/modules下生成新的目录/lib/modules/2.6.22-14-generic/,  下面的build文件就是编译模块的要用到的文件。至此内核编译完成。

原创粉丝点击