跳到主要內容

舊Linux上編譯Xen guest kernel

由於最近希望把一台舊Linux伺服器虛擬化,原本嘗試用Hyper-V Server,無奈對於Linux相容性太差,連新版的TrueImage boot cd都不能用,於是我改用XenServer。因為我希望有好用的管理工具,所以我是直接下載Citrix的XenServer免費版,需要每年手動更新一次授權。

在虛擬的Windows XP安裝Xen Tools後發現記憶體使用量變小,IO也很快。所以再把Linux丟上去後,發現不能在Kernel 2.4跑Xen Tools。於是我先升級Linux核心 2.4->2.6,確定沒問題後,再照著XenSource的官方文件。注意若原本是kernel 2.4,千萬要先升級為module-init-tools,否則重開機就掛了。

要編譯支援Xen的kernel,首先當然是取得Linux kernel source,早期的Linux需要另外下載xen patch,現在新的kernel都內建,所以我下載2.6.39.3,是目前最新的Stable。接下來要編譯:
$su -
#cd /usr/src
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2
#tar xjf linux-2.6.39.3.tar.bz2
#make menuconfig
  1. 根據官方文件,在32bit kernel必須啟用PAE(Processor type and features -> High Memory Support -> PAE (Physical Address Extension) Support->64GB),並且要設定CONFIG_HIGHPTE=n(Processor type and features -> High Resolution Timer Support->不要勾),否則會crash(應該就是kernel panic吧?),若編成64bit kernl就不用管這兩點。
  2. 再來要注意,一定要啟用ACPI support,否則就看不到Dom0。 Power Management and ACPI options ->  ACPI Support。
  3. 接著是重點: Processor type and features -> Paravirtualized guest support  -> Xen guest support
  4. 最後在 Device Drivers ->  Xen driver support 底下,我是有關的全選啦 XD
最後是
#make bzImage modules modules_install install
沒問題的話,重開機就OK了。
參考資料:外行人編譯GCC外行人升級Linux核心 2.4->2.6

留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?