diff --git a/build/funcs.sh b/build/funcs.sh
index 268d84dde105b276721e5878103ecd601c690599..0a1571f2b21c7a040e3c04af10b4ec0cef899eca 100644
--- a/build/funcs.sh
+++ b/build/funcs.sh
@@ -184,7 +184,7 @@ autodetect_target() {
          rhel5) target="2.6-rhel5";;
          rhel6) target="2.6-rhel6";;
         sles10) target="2.6-sles10";;
-        sles11) target="2.6-sles11";;
+        sles11) target="$(uname -r | cut -d . -f 1,2)-sles11";;
           fc15) target="2.6-fc15";;
             *) fatal 1 "I don't know what distro $distro is.\nEither update autodetect_target() or use the --target argument.";;
     esac
diff --git a/build/lbuild b/build/lbuild
index 72bac125f9e723830f5066cde12a74af701d9c4d..58bf23930c5e1a310e8d9d80e7d3d21735af2a2e 100755
--- a/build/lbuild
+++ b/build/lbuild
@@ -321,7 +321,7 @@ check_options() {
         2.6-sles10)
             CANONICAL_TARGET="sles10-2.6"
             ;;
-        2.6-sles11)
+        2.6-sles11 | 3.0-sles11)
             CANONICAL_TARGET="sles11"
             ;;
         2.6-oel5)
diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
index c8cc45fab34febc16f24e39b6c8b127a1c590202..bee849c2555a90d752c9647a8e5016cf83031163 100644
--- a/lustre/autoconf/lustre-core.m4
+++ b/lustre/autoconf/lustre-core.m4
@@ -2471,6 +2471,7 @@ lustre/kernel_patches/targets/2.6-rhel6.target
 lustre/kernel_patches/targets/2.6-rhel5.target
 lustre/kernel_patches/targets/2.6-sles10.target
 lustre/kernel_patches/targets/2.6-sles11.target
+lustre/kernel_patches/targets/3.0-sles11.target
 lustre/kernel_patches/targets/2.6-oel5.target
 lustre/kernel_patches/targets/2.6-fc11.target
 lustre/kernel_patches/targets/2.6-fc12.target
diff --git a/lustre/kernel_patches/series/3.0-sles11.series b/lustre/kernel_patches/series/3.0-sles11.series
new file mode 100644
index 0000000000000000000000000000000000000000..de1a25496b54254113cdd912f5e0812e99820dd5
--- /dev/null
+++ b/lustre/kernel_patches/series/3.0-sles11.series
@@ -0,0 +1,3 @@
+# This file is a place holder for the patch series file
+# The correct patches will be placed in here for SLES-SP2 3.x kernel server build
+# The changes for SLES server are beyond the scope of change request LU-1691
diff --git a/lustre/kernel_patches/targets/3.0-sles11.target.in b/lustre/kernel_patches/targets/3.0-sles11.target.in
new file mode 100644
index 0000000000000000000000000000000000000000..241984f29fe49ea56c1f03ce11a57140f412a524
--- /dev/null
+++ b/lustre/kernel_patches/targets/3.0-sles11.target.in
@@ -0,0 +1,37 @@
+lnxmaj="3.0"
+lnxmin=".34"
+lnxrel="0.7"
+# use this when there is an "RPM fix" which means that the name of the
+# (source) RPM has been updated but the version of the kernel inside the
+# RPM is not also updated
+rpmfix=".9"
+
+# this is the delimeter that goes before the "smp" at the end of the version
+# defaults to empty
+FLAVOR_DELIMITER="-"
+
+KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm
+SERIES=2.6-sles11.series
+VERSION=$lnxmaj
+EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@"
+LUSTRE_VERSION=@VERSION@
+
+OFED_VERSION=inkernel
+
+BASE_ARCHS="i686 ppc x86_64 ia64 ppc64"
+BIGMEM_ARCHS=""
+BOOT_ARCHS=""
+JENSEN_ARCHS=""
+DEFAULT_ARCHS="i686 x86_64 ia64 ppc64"
+BIGSMP_ARCHS=""
+PSERIES64_ARCHS="ppc"
+UP_ARCHS=""
+SRC_ARCHS=""
+#RPMSMPTYPE="smp"
+
+for cc in gcc ; do
+    if which $cc >/dev/null 2>/dev/null ; then
+        export CC=$cc
+        break
+    fi
+done