Home
GNU Emacs
編 輯 器
Emacs / XEmacs Quick Reference 速 成 表
Linux Command
企 鵝 指 令
Filesystem
檔 案 系 統
Restart
重 新 啟 動
Kernel Compilation
編 譯 系 統 核 心
網 路 小 品
企 鵝 巧 手
Linux Link
企 鵝 網 址
自 言 自 語

Kernel Compilation
編 譯 系 統 核 心

下列編譯系統核心過程,是以 RedHat 6.2 為本。從原本 ver. 2.2.14-5 更新為 ver. 2.2.18


A. 準備原始碼

1. 從網站(例如: www.kernel.org)或光碟取得原始碼檔案。

linux-2.2.18.tar.gz

2. 把原始碼檔案移至 /usr/src 核心原始碼主目錄。

mv linux-2.2.18.tar.gz /usr/src

3. 切換至核心原始碼主目錄。

cd /usr/src

4. 修改原本核心原始碼目錄 symbolic link 名稱。

mv linux linux.old

5. 解壓新核心原始碼至 /usr/src/linux。

tar zxvf linux-2.2.18.tar.gz

6. 修改新核心原始碼目錄名稱。

mv linux linux-2.2.18

7. 建立新核心原始碼目錄 symbolic link 。

ln -s linux-2.2.18 linux

B. 設定核心功能

1. 切換至新核心原始碼目錄

cd /usr/src/linux

2. 移除目的檔 (*.o) 及附屬檔。此命令會清除上次核心設定參數。

make mrproper

3. 設定核心功能。

make menuconfig 有選項可以把核心設定參數存檔 => 建議使用,以便下次編譯系統核心時載入。

make menuconfig

make config

make xconfig

選項 => [y] 包含, [m] 模組, [n] 不包含

Return 返回
C. 編譯系統核心

1. 連結程式碼與函式庫。

make dep

2. 清除以前編譯時留下而不再需要的檔案。

make clean

3. 開始編譯系統核心。

zImage: 產生的核心較大,可能導致編譯過程失敗;在系統起動時,效能較好。
bzImage: 產生的核心較細。

make bzImage

make zImage

4. 開始編譯系統核心並安裝到磁片作為開機片。

make zdisk

make bzdisk

Return 返回
D. 編譯及安裝模組

1. 開始編譯外掛模組。

make modules

2. 安裝編譯完成的模組。

make modules_install

Return 返回
E. 安裝系統核心

1. 切換至 /boot 目錄。

cd /boot

2. 修改原本系統核心 symbolic link 名稱。

mv vmlinuz vmlinuz.old

3. 複製新系統核心至 /boot 目錄。

cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.2.18

4. 建立新系統核心 symbolic link 名稱。

ln -s vmlinuz-2.2.18 vmlinuz

Return 返回
F. 修改 LILO
1. 修改 LILO 設定檔 /etc/lilo.conf

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux

image=/boot/vmlinuz-2.2.14-5.0
label=linux.old
read-only
root=/dev/hda1

image=/boot/vmlinuz-2.2.18
label=linux
read-only
root=/dev/hda1

2. 使新的 lilo.conf 設定生效。

lilo

lilo -v -v -v
-v: verbose 模式,顯示設定新的 lilo.conf 時,訊息的完整程度。

檢查 LILO 是否安裝成功。
lilo -q

Return 返回
G. 備註

編譯後的系統核心 zImage / bzimage 位置:
/usr/src/linux/arch/i386/boot/

已編譯的外掛模組檔案:
/usr/src/linux/modules/

已安裝的外掛模組檔案:
/lib/modules/(核心版本編號)/

Return 返回
本 頁 最 後 更 新 日 期 :2002年03月20日