OpenZFS on Linux and FreeBSD
Go to file
Brian Behlendorf d7ec1ed532 Refine Makefiles 2008-12-12 10:43:39 -08:00
build Refresh zfs-branch 2008-12-05 09:46:11 -08:00
cmd Refresh Makefile.am's 2008-12-12 09:20:33 -08:00
config Remove redundant build options 2008-12-12 10:27:10 -08:00
doc Refresh zfs-branch 2008-12-05 09:46:11 -08:00
lib Refine Makefiles 2008-12-12 10:43:39 -08:00
module Move all current Makefiles to correct locations, updates still needed 2008-12-11 14:55:55 -08:00
scripts Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2008-12-11 15:41:52 -08:00
.topdeps New TopGit dependency: feature-branch 2008-12-05 09:36:26 -08:00
.topmsg Refresh gcc-branch 2008-12-05 14:31:46 -08:00
AUTHORS Refresh zfs-branch 2008-12-05 09:46:11 -08:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
ChangeLog Refresh zfs-branch 2008-12-05 09:46:11 -08:00
DISCLAIMER Initial Linux ZFS GIT Repo 2008-11-20 12:01:55 -08:00
GIT Refresh zfs-branch 2008-12-05 09:46:11 -08:00
META Refresh zfs-branch 2008-12-05 09:46:11 -08:00
Makefile.am Update avl, nvpair, spl to unique build dirs 2008-12-11 13:54:57 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README Refresh zfs-branch 2008-12-05 09:46:11 -08:00
ZFS.RELEASE Add a few missing files 2008-12-11 11:14:49 -08:00
autogen.sh Update EXTRA_DIST 2008-12-05 14:56:15 -08:00
configure.ac Remove bugus checks for now 2008-12-11 16:51:09 -08:00

README

============================ ZFS KERNEL BUILD ============================

1) Build the SPL (Solaris Porting Layer) module which is designed to
   provide many Solaris APIs in the Linux kernel which are needed
   by ZFS.  To build the SPL:

        tar -xzf spl-x.y.z.tgz
        cd spl-x.y.z
        ./configure --with-linux=<kernel src>
        make
        make check <as root>

2) Build ZFS, this port is based on build 89 of ZFS from OpenSolaris.
   You will need to have both the kernel and SPL source available.
   To build ZFS for use as a Linux kernel module (default):

        tar -xzf zfs-x.y.z.tgz
        cd zfs-x.y.z
        ./configure --with-linux=<kernel src> \
                    --with-spl=<spl src>
        make
        make check <as root>

========================= ZFS USER LIBRARY BUILD =========================

1) Build ZFS, this port is based on build 89 of ZFS from OpenSolaris.
   To build ZFS as a userspace library:

        tar -xzf zfs-x.y.z.tgz
        cd zfs-x.y.z
        ./configure --zfsconfig=user
        make
        make check <as root>

============================ ZFS LUSTRE BUILD ============================

1) Build the SPL (Solaris Porting Layer) module which is designed to
   provide many Solaris APIs in the Linux kernel which are needed
   by ZFS.  To build the SPL:

        tar -xzf spl-x.y.z.tgz
        cd spl-x.y.z
        ./configure --with-linux=<kernel src>
        make
        make check <as root>

2) Build ZFS, this port is based on build 89 of ZFS from OpenSolaris.
   To build ZFS as a userspace library for use by a Lustre filesystem:

        tar -xzf zfs-x.y.z.tgz
        cd zfs-x.y.z
        ./configure --zfsconfig=lustre \
                    --with-linux=<kernel src> \
                    --with-spl=<spl src>
        make
        make check <as root>

3) Provided is an in-kernel test application called zpios which can be
   used to simulate a Lustre IO load.  It may be used as a stress test
   or as a performance to measure your configuration.  To simplify testing
   there are scripts provided in the scripts/ directory.  A single test
   can be run as follows:

        WARNING: You MUST update DEVICES in the create-zpool.sh script
                 to reference the devices you wish to use.

       cd scripts
       ./load-zfs.sh		# Load the ZFS/SPL module stack
       ./create-zpool.sh	# Modify DEVICES to list your zpool devices
       ./zpios.sh		# Modify for your particular zpios test
       ./unload-zfs.sh		# Unload the ZFS/SPL module stack

Enjoy,
Brian Behlendorf <behlendorf1@llnl.gov>