ubuntu内核源码树的建立
2010-05-27 16:26
开始读<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文件就是编译模块的要用到的文件。至此内核编译完成。 |