2008年3月27日 星期四

為 Fedora 8 裝上 kernel source

為 Fedora 8 裝上 kernel source

March 26th, 2008 by Chuan-Hsien Lin
Last Modified on March 26th, 2008

Fedora 8 裝好之後,會發現 kernel source 目錄是個空殼,只留下一堆 Makefile 卻不見 source code,當想要看 kernel source 時才驚覺 code 到用時方恨少,所以本文在此介紹如何在 Fedora 8 下安裝 kernel source。

首先,先確認一下系統裡的 Linux kernel 版本,

[root@chtest i386]# uname -r
2.6.23.1-42.fc8
[root@chtest i386]#

然後再到 http://download.fedora.redhat.com/pub/fedora/ linux/releases/8/Fedora/source/SRPMS/ (請自行將網址接起來) 尋找我們要的 kernel source rpm。接著在這網頁可以發現到 kernel-2.6.23.1-42.fc8.src.rpm 這個檔案存在,大約 46MB,確定了版本無誤之後,將它下載。

接著,使用 rpm 工具將它安裝,過程中會看到一堆 warning: group kojibuilder does not exist - using root 訊息,不用去理會它。

[root@chtest i386]# rpm -ivh kernel-2.6.23.1-42.fc8.src.rpm

接著執行 rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel.spec, kernel source 就會安裝到 /usr/src/redhat/BUILD/kernel-2.6.23 了,在這個目錄裡面有兩個子目錄 linux-2.6.23.i686 及 vanilla,vanilla 這目錄是存放原始的 kernel source, 而 linux-2.6.23.i686 則是 Fedora 團隊為原始的 kernel source 上些 patch 及 updates。

經過以上動作後,如此一來就有一份完整的 kernel source,以便要 trace 或是要寫些 driver 使用。

參考資料,Personal Fedora 8 Installation Guide , http://www.mjmwired.net/resources/mjm-fedora-f8.html

1 則留言:

匿名 提到...

Hi Sam:

My name is Ron, I have some question about Fedora 10, not sure if you can give me some idea. Recently I am writing a USB device driver, it can pass compilation but it fail on loading. Base on the dmesg, it shows that "unknow symbol usb_register_driver". Someone told me that the problem is under Fedora 10, I was missing a usbcore module ... but I can not find this module under /lib/module