天天看點

Linux核心知識版本如何對核心進行編譯核心子產品

linux核心最初創始人--linus torvalds管理一個linus樹,linus樹也稱為主線(mainline)。一般指的upstream,“上遊”,也指這個linus樹或者各種開發樹。

linus樹是以2.6.x這樣的三個數字來表示。比如linux 2.6.18-164.el5xen 的linus樹中的核心版本就是2.6.18

這個是針對某個具體的核心版本進行bug修複,使其更加穩定的樹。這個樹的版本号是在linus樹的版本号後加一個數字。比如linux 2.6.18-164.el5xen 的linus樹中的核心版本就是2.6.18,stable版本是164。

基于linus樹或者stable樹添加特有擴充和bug修改,以滿足一些特定的使用者的需求而發行的一些版本就叫做發行版。比如fedora,ubuntu,centos等。

擷取上遊核心可以從http://www.kernel.org擷取

比如ubuntu釋出版必要的源碼包是:

libncurses5-dev   基于控制台(文字界面)設定時需要

qt3-dev-tools  基于視窗(圖形界面)設定時需要

g++ 基于視窗(圖形界面)設定時需要

kernel-package

fakeroot

dpkg-dev

apt-get install linux-source

cp /usr/src/linux-source-xxxx.tar.bz2  /home/yejianfeng/

cd /home/yejianfeng

tar xjf linux-source-xxxx.tar.bz2

cd  /home/yejianfeng/linux-source-xxxx

make menuconfig

exit -- 儲存修改

(退出可以看到根目錄下有個.config檔案就是配置)

make

11.18 --

make modules_install

make install

第二步 make menuconfig的時候出現錯誤:

** unable to find the ncurses libraries or the

*** required header files.

*** 'make menuconfig' requires the ncurses libraries.

***

*** install ncurses (ncurses-devel) and try again.

<a href="http://ubuntuforums.org/showthread.php?t=1097968">http://ubuntuforums.org/showthread.php?t=1097968</a>

apt-get install libncurses5-dev

linux核心是單核心(monolithic kernel),也就是所有的核心功能都內建在一個核心空間内。但是核心具有子產品功能,可以将各個功能做成子產品添加到核心空間中去。

核心子產品是可以動态添加到linux核心空間的,檔案擴充名為ko

繼續閱讀