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