diff --git a/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl b/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl
index 52dd68699..c049da798 100644
--- a/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl
+++ b/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl
@@ -75,7 +75,12 @@ clearpart --all --initlabel
 # --useLilo
 # --md5pass <crypted MD5 password for GRUB>
 #
-#KICKSTARTBOOTLOADER#
+#The bootloader config here is commented out
+#For user customized partition file or partition script, 
+#the bootloader configuration should be specified in the user customized partition file/script
+#For the xCAT default partition scheme, the bootloader configuration is in /tmp/partitioning
+#which is generated in %pre section
+##KICKSTARTBOOTLOADER#
 
 
 #
diff --git a/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl b/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl
index 5395c1a1e..c7977d4ec 100644
--- a/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl
+++ b/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl
@@ -75,7 +75,13 @@ clearpart --all --initlabel
 # --useLilo
 # --md5pass <crypted MD5 password for GRUB>
 #
-#KICKSTARTBOOTLOADER#
+#The bootloader config here is commented out
+#For user customized partition file or partition script, 
+#the bootloader configuration should be specified in the user customized partition file/script
+#For the xCAT default partition scheme, the bootloader configuration is in /tmp/partitioning
+#which is generated in %pre section
+##KICKSTARTBOOTLOADER#
+
 #
 # install or upgrade
 #
diff --git a/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7 b/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7
index 36fb944b9..40ce7c96f 100755
--- a/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7
+++ b/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7
@@ -191,6 +191,18 @@ echo "part swap --recommended --ondisk $instdisk" >> /tmp/partitioning
 echo "part pv.01 --size 1 --grow --ondisk $instdisk" >> /tmp/partitioning
 echo "volgroup system pv.01" >> /tmp/partitioning
 echo "logvol / --vgname=system --name=root --size 1 --grow --fstype $FSTYPE" >> /tmp/partitioning
+
+#specify "bootloader" configuration in "/tmp/partitioning" if there is no user customized partition file
+BOOTLOADER="bootloader "
+
+#specify the kernel options which will be persistent after installation
+[ -n "#ENV:PERSKCMDLINE#" ] && BOOTLOADER=$BOOTLOADER" --append=#ENV:PERSKCMDLINE#"
+
+#Specifies which drive the boot loader should be written to
+#and therefore which drive the computer will boot from.
+[ -n "$instdisk" ] && BOOTLOADER=$BOOTLOADER" --boot-drive=$(basename $instdisk)"
+
+echo "$BOOTLOADER" >> /tmp/partitioning
 	
 #XCA_PARTITION_SCRIPT#