1、如何升級、編譯核心?
如果你不想改變核心的版本,直接轉到以下第四步。
1)在任何一個子目錄下(但通常是在/usr/src/下)untar解開新的核心來源程式:
tar xvfz linux-x.x.xx.tar.gz (例如linux-2.0.35.tar.gz)
或者是打補丁(patch): gzip -cd patch-2.0.35.gz | patch -p0
打完補丁直接跳到第四步
2)rm /usr/src/linux 這通常是一個符號串連。
3)在 /usr/src/ 下建立一個符號串連到你的新核心目錄。
ln -s /usr/src/linux.2.x.xx /usr/src/linux
老版本的核心可能還要做一下工作:
cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux/include/asm-i386 asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi
4)將目前的目錄變成 /usr/src/linux
cd /usr/src/linux
5)變成超級使用者 su
6)配置核心
如果你在X window下並且希望有圖形介面,就用: make xconfig
(注: 需要安裝Tk/Tcl包並且X Server的解析度在800x600以上)
如果你不在X Window下或不想使用圖形介面,就用:
make config 或 make menuconfig(推薦),逐個回答完問題後稍等片刻,等提示符出現或圖形介面消失,就配置好了系統。
7)產生新核心,用:
make dep ; make clean
make zImage (或用make bzImage進一步壓縮核心)
(注意有大小寫區分)
還有make zlilo/make install等可選擇。
8)如果你用了模組,你還需要產生和安裝模組
make modules
make modules-install
depmod -a
9)檢查/etc/lilo.conf,把用的那個目錄、那個檔案作為 image。例如:image = /boot/vmlinuz (slackware版是/vmlinuz)
將 /usr/src/linux/System.map 複製到 /boot 目錄中,
將 /usr/src/linux/arch/i386/boot/zImage 複製到 /boot 目錄中並改名為 vmlinuz
用一個新檔案名稱將新核心拷貝到相應的目錄下,如
cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage2
然後編輯/etc/lilo.conf檔案,把原核心有關的那一段複製一份,如
image = /boot/vmlinuz
root = /dev/hda1
label = linux
複製後把image改成/boot/zImage2 把label改成newlinux.
這樣新核心與舊核心可以共存,當新核心不能啟動時,還有備份在那兒。注意複製後放置的位置,如果沒有設定default,則誰是第一項誰就是預設啟動項。