[[PageOutline]] = Xen & Lustre Kernel in Dell Machine = == 1.問題和解決方案 == * 因 Dell Machine 的新硬體晶片(Intel ICH9R),原本 Xen 和 Lustre 支援的 Kernel 2.6.18 無法驅動 (2.6.19 後才有支援),與 rider 討論後,決定採用以下方法: 1. 下載 ubuntu Kernel source 2.6.22 2. 採用 ubuntu 的 Xen patch for 2.6.22 (在 Ubuntu gusty 有提供 Xen patch file) 3. 再使用 Lustre 的 patch for 2.6.22 == 2.步驟 == 1. '''''__下載 Ubuntu Kenrel__,[https://trac.nchc.org.tw/grid/browser/xen/xen_lustre_patch 下載連結]''''' {{{ $ cd /usr/src $ tar zxvf linux-source-2.6.22_2.6.22.orig.tar.gz }}} 2. '''''__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 }}} 3. '''''__Build Xen Image and reboot__,[wiki:Xen_Lustre 參考此處]''''' {{{ // Install Xen Image $ cd /usr/src/xen-3.3.1 $ sudo make xen $ sudo make tools $ sudo make install-xen $ sudo make install-tools }}} 4. '''''__確認此 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 }}} 5. '''''__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 }}} 6. '''''__Patch Lustre-Compatiable Kernel & Build Lustre Modules__,[wiki:Xen_Lustre 參考此處]''''' * 1.6.5 Error Message {{{ CC [M] /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.o /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c: In function ‘simple_mkdir’: /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c:303: warning: passing argument 3 of ‘vfs_mkdir’ makes pointer from integer without a cast /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c:303: error: too few arguments to function ‘vfs_mkdir’ /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c: In function ‘lustre_rename’: /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c:339: warning: passing argument 3 of ‘vfs_rename’ from incompatible pointer type /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c:339: warning: passing argument 4 of ‘vfs_rename’ from incompatible pointer type /usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.c:339: error: too few arguments to function ‘vfs_rename’ make[6]: *** [/usr/src/lustre-1.6.5/lustre/lvfs/lvfs_linux.o] Error 1 make[5]: *** [/usr/src/lustre-1.6.5/lustre/lvfs] Error 2 make[5]: *** Waiting for unfinished jobs.... }}} 7. '''''__設定 Lustre FS & 啟動 xend __,[wiki:Xen_Lustre 參考此處] [[BR]] [[BR]] [[BR]] 先 Try Try See,有問題在提出............................