網上好多文章,他大爺的都是轉來轉去,每一篇中用的。索性還是自己整理一篇吧。
網上牛人多,但是小白問題更多,更何況咱們這號不入門的,因為最近學內核,要寫模塊,模塊要在源碼樹下編譯安裝,又習慣了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
等待下載完成。
4.下載完成後,我們進入/usr/src ,默認會在這裡,看看他的目錄結構:(ls 一下)
我的顯示可以看到有兩對兒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