Xen & Lustre Kernel in Dell Machine
1. 問題和解決方案
- 因 Dell Machine 的新硬體晶片(Intel ICH9R),原本 Xen 和 Lustre 支援的 Kernel 2.6.18 無法驅動 (2.6.19 後才有支援),與 rider 討論後,決定採用以下方法:
- 下載 ubuntu Kernel source 2.6.22
- 採用 ubuntu 的 Xen patch for 2.6.22 (在 Ubuntu gusty 有提供 Xen patch file)
- 再使用 Lustre 的 patch for 2.6.22
- Software Stacks:
- Ubuntu 8.10 AMD64 Server
- Kernel 2.6.22.9
- Xen-3.3.1
- Lustre 1.6.6
2. 步驟
- 下載 Ubuntu Kenrel,下載連結
$ cd /usr/src $ tar zxvf linux-source-2.6.22_2.6.22.orig.tar.gz
- Patch Xen-Compatible Kernel (使用 Ubuntu Xen patch file,可直接從本網頁最下面連結下載)
// Patch Kenrel to be compatible with Xen $ cd /usr/src/linux-2.6.22 $ sudo patch -p1 < ../linux-source-2.6.22_2.6.22-16.61.diff $ sudo patch -p1 < debian/binary-custom.d/xen/patchset/001.patch $ sudo patch -p1 < debian/binary-custom.d/xen/patchset/002-fix-pae-vmalloc-sync.patch $ sudo patch -p1 < debian/binary-custom.d/xen/patchset/003-fix-ia32entry-xen.patch $ sudo patch -p1 < debian/binary-custom.d/xen/patchset/004-fix-blkif-maxnrsegs.patch
- Build Xen Image and reboot,參考此處
// Install Xen Image $ cd /usr/src/xen-3.3.1 $ sudo make xen $ sudo make tools $ sudo make install-xen $ sudo make install-tools
- 確認此 Kernel 是否正常開機 (可省略)
// Build Kernel $ cd /usr/src/linux-2.6.22 $ sudo menuconfig $ sudo make -j 5 ; sudo make -j 5 modules ; sudo make install ; sudo make modules_install $ sudo mkinitramfs -o /boot/initrd.img-2.6.22.9 2.6.22.9 $ sudo update-grub $ sudo sync ; sudo reboot
- Install e1000e driver (2.6.22 無 e1000e 的 driver)
$ sudo tar zxvf e1000e-0.5.11.2.tar.gz $ cd e1000e-0.5.11.2/src ; sudo make install
- Patch Lustre-Compatiable Kernel & Build Lustre Modules,參考此處
- Lustre 1.6.6 Patch Log
- Compile Error & Solution
- Build Lutsre Modules
$ sudo ln -s /usr/src/linux-2.6.22 /usr/src/linux $ cd /usr/src/lustre-1.6.6 $ sudo vim lustre/include/linux/lustre_compat25.h 570 #define ll_remove_suid(inode,mnt) remove_suid(inode) $ sudo ./configure --with-linux=/usr/src/linux-2.6.22 $ sudo make -j 4 $ sudo make install ; sudo depmod -a $ sudo vim /etc/modules ldiskfs lnet networks=tcp $ sudo sync ; sudo reboot
- 設定 Lustre FS & 啟動 xend,參考此處
- Enjoy it ...
3. 結論
- Lustre 在 2.6.22 Kernel 上,有些 Kernel option 必須選上否則會 compiler 不過,建議官方可在 Kernel 設定檔內做好相依性
- Lustre 的 remove_suid 依舊有問題,雖然官方說
- ./lustre/ChangeLog:4964: - kernel version 43 - fix remove_suid bugs in both 2.4 and 2.6 (5695)
- 但仍需手動去更改 remove_suid 的宣告
- 幸運的是 Xen 和 Lustre Patch 不太衝突,雖有 patch 相同的檔案,但 patch 處不同
- 若想直接使用本方法產生的 (1)Xen & Lustre Kernel Image 和 (2)Xen & Lustre Patch 過的 Kernel source , 可直接至此下載,直接安裝即可
- linux-xen0-2.6.22.9_2.6.22-16.61_amd64.deb
- linux-source-2.6.22.9_2.6.22-16.61_all.deb
Last modified 15 years ago
Last modified on Sep 14, 2009, 1:42:04 AM
Attachments (2)
-
e1000e-0.5.11.2.tar.gz
(199.0 KB) -
added by rock 16 years ago.
Intel e1000e driver
- config-2.6.22.9 (40.0 KB) - added by rock 16 years ago.
Download all attachments as: .zip