wiki:Servers/virt_machines/kernel

Version 8 (modified by rock, 16 years ago) (diff)

--

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下載連結
    $ 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參考此處
    // 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參考此處
    • 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 參考此處




先 Try Try See,有問題在提出............................

Attachments (2)

Download all attachments as: .zip