- 2.3.1 說明
接著就可以開始編譯剛剛解壓縮到 /usr/src 的核心檔案,此完整的核心檔案是由 lustre 的官方網站所提供,重要的是它不但具有 xen 相關的程式檔案,
同時也提供了可編譯出具有 xen + lustre 功能模組的設定檔(config/kernel-2.6.18-i686-xen.config),只要將此核心檔案編譯成模組影像檔
(initrd, vmlinuz),然後在開機時讀入此模組,
便可以成為一個具有 lustre + xen 功能的核心了.
- 2.3.2 patch linux-2.6.18-53.1.14
首先,由於 linux-2.6.18-53.1.14 是一個尚未 patch 過 lustre 的核心(Sun網站在下載此檔的地方有附註),因此在編譯之前,我們必須先 patch 這個核心
[root@luxen ~]# cd /usr/src/linux-2.6.18-53.1.14/
[root@luxen linux-2.6.18-53.1.14]# ln -s /root/lustre-1.6.5/lustre/kernel_patches/patches/ .
[root@luxen linux-2.6.18-53.1.14]# ln -s /root/lustre-1.6.5/lustre/kernel_patches/series/2.6-rhel5.series series
- 2.3.3 編譯與安裝
成功 patch 之後,開始進行編譯並且安裝核心模組
[root@luxen linux-2.6.18-53.1.14]# make && make install && make moduels_install
[root@luxen linux-2.6.18-53.1.14]# mkinitrd /boot/initrd-2.6.18-prep.img 2.6.18-prep
- 2.3.4 更改開機檔
修改 /boot/grub/menu.lst 如下
[root@luxen linux-2.6.18-53.1.14]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-prep)
root (hd0,0)
kernel /xen.gz-2.6.18-53.el5
module /vmlinuz-2.6.18-prep ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.18-prep.img
title CentOS (2.6.18-53.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-53.el5
module /vmlinuz-2.6.18-53.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.18-53.el5xen.img
- 2.3.5 重新開機
啟動讀入具有 lustre 功能的模組
[root@luxen linux-2.6.18-53.1.14]# reboot