Index: /drbl-virt/sbin/drbl_kvm_patch.sh
===================================================================
--- /drbl-virt/sbin/drbl_kvm_patch.sh	(revision 212)
+++ /drbl-virt/sbin/drbl_kvm_patch.sh	(revision 213)
@@ -1,11 +1,11 @@
 #!/bin/bash
 # Program:
-#   Path DRBL evironment to support Xen/KVM
-# Author: 
+#   Path DRBL evironment to support KVM
+# Author:
 #   Jazz, Rock {jazz, rock}@nchc.org.tw
 # Version:
 #    1.0
-# History:                                                                                          
-#   2010/07/20  Rock    First release (1.0) 
+# History:
+#   2010/10/18  Rock    First release (1.0)
 
 # [Source]
@@ -14,7 +14,72 @@
 
 # [Main]
+# = 1. Patch DRBL xen env for client =
+# == Shutdown all drbl client ==
+echo ""
+echo "Please check all client are shutdown !!!"
+echo "you can use /opt/drbl/sbin/dcs to shutdown."
+read -p "Push [Enter] to continue......"
+
+# == check KVM Kernel version
+check_kvm
+
+# == Modify PXE booting menu ==
+# if menu doesn't has drbl-virt, then add it
+cat /opt/drbl/sbin/generate-pxe-menu | grep "label drbl-virt" >> /dev/null
+if [  $? != 0 ]; then
+# backup generate-pxe-menu
+cp /tftpboot/nbi_img/pxelinux.cfg/default /tftpboot/nbi_img/pxelinux.cfg/default.drbl-virt_bak
+cp /opt/drbl/sbin/generate-pxe-menu /opt/drbl/sbin/generate-pxe-menu.drbl-virt_bak
+
+generate_PXE_menu="/opt/drbl/sbin/generate-pxe-menu"
+declare -i modify_line=$(cat -n $generate_PXE_menu | grep 'label drbl' | awk 'NR==1 {print $1}')
+# delete default
+sed -i 's/^  MENU DEFAULT/  # MENU DEFAULT/g' $generate_PXE_menu
+# modify menu
+sed -i "${modify_line}i\label drbl-virt" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  MENU DEFAULT" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  # MENU HIDE" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  MENU LABEL DRBL-Virtualization ($KVM_Kernel)" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  kernel vmlinuz-pxe" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  append  initrd=initrd-pxe.img devfs=nomount drblthincli=off selinux=0 nomodeset"
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  TEXT HELP" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\  ENDTEXT" $generate_PXE_menu
+modify_line=$modify_line+1
+sed -i "${modify_line}i\ " $generate_PXE_menu
+fi
 
 
+# = 2. Patch DRBL initrd to support bridge =
+# == Patch /usr/bin/mkpxeinitrd-net (1)Xen network scripts (2)command (3)modules ==
+# backup mkpxeinitrd-net. if already has "drbl-virt add", dones't sed
+source $Work_Path/drbl_bridge_patch.sh
 
-# [DRBL Environment Configuration]
 
+# = 3. Load KVM module when booting =
+if [ -e /etc/modules ]; then
+    grep kvm /etc/modules
+    if [ $? -eq 1 ]; then
+       echo "kvm" >> /etc/modules
+    fi
+elif [ -e /etc/modules.conf ]
+    grep kvm /etc/modules.conf
+    if [ $? -eq 1 ]; then
+        echo "kvm" >> /etc/modules.conf
+    fi
+fi
+
+# = 4. Copy xen kernel & initrd to /home/domains =
+if [ ! -e /home/domains ]; then
+    mkdir /home/domains
+fi
+cp /tftpboot/nbi_img/vmlinuz-pxe /home/domains
+cp /tftpboot/nbi_img/initrd-pxe.img /home/domains
+
+
Index: /drbl-virt/sbin/drbl_virt.sh
===================================================================
--- /drbl-virt/sbin/drbl_virt.sh	(revision 212)
+++ /drbl-virt/sbin/drbl_virt.sh	(revision 213)
@@ -20,16 +20,20 @@
 # = 1.[Install VMM/Hypervisior] 1=Xen, 2=KVM =
 if [ $VMM_select == 1 ]; then
+    # install Xen
     $Work_Path/xen_install.sh start
+    # patch drbl to suuport Xen environment
+    $Work_Path/drbl_xen_patch.sh
+    # drbl re-push Xen environment
+    $Work_Path/drbl_xen_repush.sh
 else
+    # install KVM
     $Work_Path/kvm_install.sh
+    # patch drbl to suuport KVM environment
+    $Work_Path/drbl_xen_patch.sh
+    # drbl re-push KVM environment
 fi
 
-# = 2. Patch DRBL =                                                                                                                
-$Work_Path/drbl_xen_patch.sh
- 
-# = 3. drbl_xen_repush.sh =
-$Work_Path/drbl_xen_repush.sh
 
-# = 4. Create User(drbl-virter) and mv drbl-virt.wat to tomcat =
+# = 2. Create User(drbl-virter) and mv drbl-virt.wat to tomcat =
 #creat_drbl-virter
 #install_tomcat_and_mv_drbl-virt
Index: /drbl-virt/sbin/drbl_xen_patch.sh
===================================================================
--- /drbl-virt/sbin/drbl_xen_patch.sh	(revision 212)
+++ /drbl-virt/sbin/drbl_xen_patch.sh	(revision 213)
@@ -20,5 +20,5 @@
 echo "Please check all client are shutdown !!!"
 echo "you can use /opt/drbl/sbin/dcs to shutdown."
-read -p "Push 'Enter' to continue......"
+read -p "Push [Enter] to continue......"
 
 # == Change xen kernel for drbl client ==
Index: /drbl-virt/sbin/functions_drbl_virt
===================================================================
--- /drbl-virt/sbin/functions_drbl_virt	(revision 212)
+++ /drbl-virt/sbin/functions_drbl_virt	(revision 213)
@@ -436,2 +436,10 @@
 echo "[Go to http://{server_IP}:8080/drbl-virt/ to check !]"
 }
+
+
+# [Cehck KVM kernel & version]
+function check_kvm(){
+KVM_Kernel=$(uname -r)
+}
+
+
Index: /drbl-virt/sbin/kvm_install.sh
===================================================================
--- /drbl-virt/sbin/kvm_install.sh	(revision 212)
+++ /drbl-virt/sbin/kvm_install.sh	(revision 213)
@@ -16,16 +16,22 @@
     # for Ubuntu
     "Ubuntu")
-        aptitude update ; aptitude install kvm
+        echo "please check kernel (KVM enabled)"  
+        echo "Push [Enetr] to install KVM package..."
+        aptitude update ; aptitude install kvm bridge-utils
     ;;
     # for Debian
     "Debian")
-        aptitude update ; aptitude install kvm
+        echo "please check kernel (KVM enabled)"
+        echo "Push [Enetr] to install KVM package..."
+        aptitude update ; aptitude install kvm bridge-utils
     ;;
     # for Fedora
     "Fedora")        
-        echo "Only support Debain & Debian"
+        echo "Only support Debain."
+        exit
     ;;
     *)
-        echo "Only support Debain & Debian"
+        echo "Only support Debain."
+        exit
     ;;
 esac
Index: /drbl-virt/sbin/xen_install.sh
===================================================================
--- /drbl-virt/sbin/xen_install.sh	(revision 212)
+++ /drbl-virt/sbin/xen_install.sh	(revision 213)
@@ -21,4 +21,5 @@
     "Ubuntu")
         echo "Only support Debain"
+        exit
     ;; 
     # for Debian
@@ -80,7 +81,9 @@
     "Fedora")            
         echo "Only support Debain"
+        exit
     ;; 
     *) 
         echo "Only support Debain"
+        exit
     ;; 
 esac
