diff --git a/build/osxpack/License.txt b/build/osxpack/License.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b24d890bd3f229e94dd4a084a4f205e8d8a75518
--- /dev/null
+++ b/build/osxpack/License.txt
@@ -0,0 +1,11 @@
+Lustre(tm) for OS X
+
+This software is a proprietary product of Cluster File Systems,
+Inc. which owns all intellectual property rights to this software.
+
+You must obtain a license from Cluster File Systems and agree to its
+terms before using this software, contact sales@clusterfs.com.
+
+This software is beta software modifying and running kernel code.
+Back up all systems before use.  This software is provided to you
+without any warranty, fitness for purpose or other guarantees.
diff --git a/build/osxpack/ReadMe.txt b/build/osxpack/ReadMe.txt
new file mode 100644
index 0000000000000000000000000000000000000000..01f31579fd104ab407de8576f4aee1b181f7b137
--- /dev/null
+++ b/build/osxpack/ReadMe.txt
@@ -0,0 +1,7 @@
+This is release 0.9.2 Beta of the Lustre OS X client.
+
+This is not a production quality release, use it with care on
+non-production systems.  The installation will overwrite the OS X
+kernel on your system.  Un-installing this package will restore your
+current kernel.
+
diff --git a/build/osxpack/Welcome.txt b/build/osxpack/Welcome.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea66183113ca1a3083b87ea62b68961dde0c1d02
--- /dev/null
+++ b/build/osxpack/Welcome.txt
@@ -0,0 +1,6 @@
+Welcome to the Lustre OS X client installation  
+
+You will be guided through the steps necessary to install this
+software.  During installation you will be required to reboot your
+Mac, so make sure you have saved all your data and closed applications
+before continuing the installation.
diff --git a/build/osxpack/postflight b/build/osxpack/postflight
new file mode 100755
index 0000000000000000000000000000000000000000..15c1bc6e4f39bbf33488a987f7e6bd83c98a4dd8
--- /dev/null
+++ b/build/osxpack/postflight
@@ -0,0 +1,11 @@
+#!/bin/sh
+/usr/sbin/nvram boot-args="debug=0xe zsize=256"
+
+# Delete cache files
+if [ -f /System/Library/Extensions.kextcache ]; then
+	rm -f /System/Library/Extensions.kextcache
+fi
+
+if [ -d /System/Library/Caches/com.apple.kernelcaches ]; then
+	rm -rf /System/Library/Caches/com.apple.kernelcaches
+fi
diff --git a/build/osxpack/preflight b/build/osxpack/preflight
new file mode 100755
index 0000000000000000000000000000000000000000..e5641b07d6e0c9fdd93c1795483e2c701dbf8080
--- /dev/null
+++ b/build/osxpack/preflight
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+date=`date +%Y%m%d_%H%M`
+
+backpath=/System/LustreBackup
+if ! [ -d $backpath ]; then
+	mkdir -p $backpath
+fi
+
+# find and create backup dir for the installation
+idx=1
+while [ -d ${backpath}/SystemBackup$idx ]; do
+	echo "skip $idx"
+	idx=`expr $idx + 1`
+done
+
+backdir=${backpath}/SystemBackup$idx
+if [ -f $backdir ]; then
+	rm -f $backdir > /dev/null
+fi
+mkdir $backdir
+chmod 700 $backdir
+
+# create backup directory
+mkdir -p $backdir/System/Library/Frameworks
+mkdir -p $backdir/System/Library/Extensions
+mkdir -p $backdir/usr/lib
+mkdir -p $backdir/usr/include
+
+# backup the old system
+cp /mach_kernel $backdir/
+cp -rf /System/Library/Frameworks/IOKit.framework $backdir/System/Library/Frameworks/
+cp -rf /System/Library/Frameworks/Kernel.framework $backdir/System/Library/Frameworks/
+cp -rf /System/Library/Frameworks/System.framework $backdir/System/Library/Frameworks/
+cp -rf /System/Library/Extensions/System.kext $backdir/System/Library/Extensions/
+cp -rf /usr/include/bsm $backdir/usr/include/bsm
+cp -rf /usr/include/default_pager $backdir/usr/include/default_pager
+cp -rf /usr/include/dev $backdir/usr/include/dev
+cp -rf /usr/include/device $backdir/usr/include/device
+cp -rf /usr/include/drivers $backdir/usr/include/drivers
+cp -rf /usr/include/hfs $backdir/usr/include/hfs
+cp -rf /usr/include/isofs $backdir/usr/include/isofs
+cp -rf /usr/include/libkern $backdir/usr/include/libkern
+cp -rf /usr/include/mach $backdir/usr/include/mach
+cp -rf /usr/include/mach_debug $backdir/usr/include/mach_debug
+cp -rf /usr/include/machine $backdir/usr/include/machine
+cp -rf /usr/include/miscfs $backdir/usr/include/miscfs
+cp -rf /usr/include/net $backdir/usr/include/net
+cp -rf /usr/include/netat $backdir/usr/include/netat
+cp -rf /usr/include/netinet $backdir/usr/include/netinet
+cp -rf /usr/include/netinet6 $backdir/usr/include/netinet6
+cp -rf /usr/include/netkey $backdir/usr/include/netkey
+cp -rf /usr/include/nfs $backdir/usr/include/nfs
+cp -rf /usr/include/pexpert $backdir/usr/include/pexpert
+cp -rf /usr/include/ppc $backdir/usr/include/ppc
+cp -rf /usr/include/profile $backdir/usr/include/profile
+cp -rf /usr/include/sys $backdir/usr/include/sys
+cp -rf /usr/include/ufs $backdir/usr/include/ufs
+cp -rf /usr/include/vfs $backdir/usr/include/vfs
+cp -f /usr/lib/libIOKit.A.dylib $backdir/usr/lib/libIOKit.A.dylib
+cp -f /usr/lib/libIOKit.dylib $backdir/usr/lib/libIOKit.dylib
+cp -f /usr/lib/libkmod.a $backdir/usr/lib/libkmod.a
+cp -f /usr/lib/libkmodc++.a $backdir/usr/lib/libkmodc++.a
+
+# record sysctem backup path of current installation 
+echo $backdir >> $backpath/lustre-current
+echo $date > $backdir/install_date
diff --git a/build/osxpack/uninstall_lustre b/build/osxpack/uninstall_lustre
new file mode 100755
index 0000000000000000000000000000000000000000..b3eed8c03a560b054e9e6bb035a0097c4bbcc225
--- /dev/null
+++ b/build/osxpack/uninstall_lustre
@@ -0,0 +1,112 @@
+#!/bin/sh
+#
+# It's the uninstall programe of lustre
+
+mount | grep lustre > /dev/null
+if [ $? -eq 0 ]; then
+        echo "Please unmount Lustre before uninstall Lustre."
+        exit 1
+fi
+
+echo "unloading modules......"
+/sbin/unload_lustre 2 > /dev/null
+
+backpath=/System/LustreBackup
+if ! [ -d $backpath ]; then
+	echo "No backup directory is found, you have not installed lustre or uninstall failed!"
+	exit 1
+fi
+
+if ! [ -f $backpath/lustre-current ]; then
+	echo "No version information of Lustre installation, you have uninstalled or uninstall failed!"
+	exit 2
+fi
+
+# get information of the the backup system
+
+backdir=`tail -1 $backpath/lustre-current`
+if ! [ -d $backdir ]; then
+	echo "Miss backup directory, uninstall failed!"
+	exit 3
+fi
+
+# recover the old system
+echo "recover orignal kernel......"
+cp -f $backdir/mach_kernel /mach_kernel
+echo "recover orignal frameworks......"
+cp -rf $backdir/System/Library/Frameworks/IOKit.framework /System/Library/Frameworks/
+cp -rf $backdir/System/Library/Frameworks/Kernel.framework /System/Library/Frameworks/
+cp -rf $backdir/System/Library/Frameworks/System.framework /System/Library/Frameworks/
+echo "recover orignal kernel extensions......"
+cp -rf $backdir/System/Library/Extensions/System.kext /System/Library/Extensions/
+echo "recover orignal system headers......"
+cp -rf $backdir/usr/include/bsm /usr/include/bsm
+cp -rf $backdir/usr/include/default_pager /usr/include/default_pager
+cp -rf $backdir/usr/include/dev /usr/include/dev
+cp -rf $backdir/usr/include/device /usr/include/device
+cp -rf $backdir/usr/include/drivers /usr/include/drivers
+cp -rf $backdir/usr/include/hfs /usr/include/hfs
+cp -rf $backdir/usr/include/isofs /usr/include/isofs
+cp -rf $backdir/usr/include/libkern /usr/include/libkern
+cp -rf $backdir/usr/include/mach /usr/include/mach
+cp -rf $backdir/usr/include/mach_debug /usr/include/mach_debug
+cp -rf $backdir/usr/include/machine /usr/include/machine
+cp -rf $backdir/usr/include/miscfs /usr/include/miscfs
+cp -rf $backdir/usr/include/net /usr/include/net
+cp -rf $backdir/usr/include/netat /usr/include/netat
+cp -rf $backdir/usr/include/netinet /usr/include/netinet
+cp -rf $backdir/usr/include/netinet6 /usr/include/netinet6
+cp -rf $backdir/usr/include/netkey /usr/include/netkey
+cp -rf $backdir/usr/include/nfs /usr/include/nfs
+cp -rf $backdir/usr/include/pexpert /usr/include/pexpert
+cp -rf $backdir/usr/include/ppc /usr/include/ppc
+cp -rf $backdir/usr/include/profile /usr/include/profile
+cp -rf $backdir/usr/include/sys /usr/include/sys
+cp -rf $backdir/usr/include/ufs /usr/include/ufs
+cp -rf $backdir/usr/include/vfs /usr/include/vfs
+echo "recover orignal system libraries......"
+cp -f $backdir/usr/lib/libIOKit.A.dylib /usr/lib/libIOKit.A.dylib
+cp -f $backdir/usr/lib/libIOKit.dylib /usr/lib/libIOKit.dylib
+cp -f $backdir/usr/lib/libkmod.a /usr/lib/libkmod.a
+cp -f $backdir/usr/lib/libkmodc++.a /usr/lib/libkmodc++.a
+
+# 
+cp $backpath/lustre-current /tmp/lustre-v
+count=`grep "SystemBackup" /tmp/lustre-v|wc -l`
+count=`expr $count - 1`
+if [ $count -gt 0 ]; then
+	head -$count /tmp/lustre-v > $backpath/lustre-current
+	rm -f /tmp/lustre-v
+else
+	# The file should be empty now, it's the last uninstall
+	rm -f $backpath/lustre-current
+	rm -f /tmp/lustre-v
+	if [ $count -ne 0 ]; then
+		# no backup version in the lustre-current file
+		echo "No backup information anymore, installation is likely failed!"
+		exit 4
+	fi
+fi
+
+# remove unused files
+echo "uninstall lustre modules and utilities......"
+rm -rf $backdir
+rm -f /sbin/lctl
+rm -f /sbin/mount_lustre
+rm -f /sbin/unload_lustre
+rm -rf /System/Library/Extensions/libcfs.kext
+rm -rf /System/Library/Extensions/portals.kext
+rm -rf /System/Library/Extensions/ksocknal.kext
+rm -rf /System/Library/Extensions/lvfs.kext
+rm -rf /System/Library/Extensions/obdclass.kext
+rm -rf /System/Library/Extensions/ptlrpc.kext
+rm -rf /System/Library/Extensions/ptlrpcs.kext
+rm -rf /System/Library/Extensions/osc.kext
+rm -rf /System/Library/Extensions/lov.kext
+rm -rf /System/Library/Extensions/obdecho.kext
+rm -rf /System/Library/Extensions/mdc.kext
+rm -rf /System/Library/Extensions/llite.kext
+
+# disable kernel cache by touch /System/Library
+touch /System/Library
+echo "Uninstall Lustre successfully, please reboot your computer!"
diff --git a/build/osxpack/unload_lustre b/build/osxpack/unload_lustre
new file mode 100755
index 0000000000000000000000000000000000000000..54404c1b5beebce066e19ef752dd841efd32d461
--- /dev/null
+++ b/build/osxpack/unload_lustre
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+mount | grep lustre > /dev/null
+if [ $? -eq 0 ]; then
+	echo "Please unmount lustre before unload modules."
+	exit 1
+fi
+kextunload /System/Library/Extensions/llite.kext
+kextunload /System/Library/Extensions/mdc.kext
+kextunload /System/Library/Extensions/lov.kext
+kextunload /System/Library/Extensions/osc.kext
+kextunload /System/Library/Extensions/ptlrpc.kext
+kextunload /System/Library/Extensions/ptlrpcs.kext
+kextunload /System/Library/Extensions/obdclass.kext
+kextunload /System/Library/Extensions/lvfs.kext
+kextunload /System/Library/Extensions/ksocknal.kext
+kextunload /System/Library/Extensions/portals.kext
+kextunload /System/Library/Extensions/libcfs.kext