Linux是由1991年Linus B. Torvalds在網絡上組織人員為PC機寫的第一個免費的UNIX內核(KERNEL),發展成的一個能在PC機上可靠穩定工作的UNIX/X-WIN操作系統。從此,個人擁有工作站已不再是夢想。每個計算機愛好者都可以把自己的PC變成類似Sun Station或BSD UNIX系統的工作站。Linux系統具有最新UNIX的全部功能:真正的多任務,虛擬存儲,共享庫函數,即時負載,優越的存儲管理和TCP/IP,UUCP網絡工具。從技術上講, Linux只是內核。它與諸如編譯器、編輯器、窗口管理器等程序一起,組成了發布版。因此,雖然有不同的發布版,但其內核是相同的。
內核是Linux的心髒,它是在引導時裝入的程序,用來提供用戶層程序和硬件之間的接口,執行發生在多任務系統中的實際任務轉換,處理讀寫磁盤的需求,處理網絡接口,以及管理內存。一般情況下,自動安裝的內核無需任何改動就可以在機器上運行,但若要為新的設備添加支持程序或削減內核支持的設備列表,以降低內存需求,則需要配置內核。
通常,內核源代碼樹以一個名為linux-X.X.XX.tar.gz的文件出現,X.X.XX為內核的版本號。內核的版本號分為三部分(以2.0.35為例):
1、主版本號:此內核是2。它表明對內核的重大改進,很少改變。
2、次版本號:此內核是0。它表明內核的穩定性。偶數號(如0、2、4等)的內核是穩定的產品版本。而奇數號(如1、3、5等)的內核是處於開發過程中的內核,一般包含著最近開發的試驗性代碼,它不太穩定,有時可能包含著致命的錯誤。
3、修訂號:此內核是35。它表明這一發布版本的增補級。
下面我們來看看如何升級內核(以2.0.35版為例):
1、獲取源代碼樹:linux-2.0.35.tar.gz。
2、解開內核:
cd /usr/src/ (進入到目錄 /usr/src/)
rm -rf /usr/src/linux (將舊的內核源代碼刪除,也可以將其移走)
cp linux-2.0.35.tar.gz /usr/src/ (將新的內核文件拷貝到剛才的目錄)
tar xzf linux-2.0.35.tar.gz (將內核文件解壓縮,產生新目錄/usr/src/linux)
3、創建符號鏈接:
cd /usr/include (進入到目錄 /usr/include)
rm -rf linux asm scsi (刪除所有的老的頭文件)
ln -s /usr/src/linux/include/linux linux ln -s /usr/src/linux/include/asm-i386 asm ln -s /usr/src/linux/include/scsi scsi (創建符號鏈接將你的系統指向包含有新內核代碼的新的頭文件)
cd /usr/src/linux (進入目錄 /usr/src/linux)
make mrproper (清除任何將引起問題的附加額外的源代碼)
4、配置內核:
cd /usr/src/linux (進入目錄 /usr/src/linux)
make menuconfig (用菜單形式配置內核。根據自己的要求,配置內核,不確定的用缺省配置。另有make config----文本界面,make xconfig----圖形界面命令可選。此外注意保存配置)
5、創建內核(在目錄 /usr/src/linux下):
make dep (此命令用來分析內核的配置並創建相應的相關樹,決定那些內容該編譯,那些內容不該編譯)
make clean (此命令用來清楚所有以前編譯的痕跡)
make zImage (編譯內核,如果內核較大,用make bzImage)
make modules (編譯模塊)
make modules_install (安裝模塊)
cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage (將zImage拷貝到/boot)
6、把新內核放入lilo:
vi /etc/lilo.conf (用vi編輯/etc/lilo.conf)
寫清/image=/boot/zImage 保存退出。
lilo (執行lilo命令)
7、起用新內核 注意,以上工作需以root身份完成。