Initial Linux ZFS GIT Repo
[zfs.git] / README
1 ============================ ZFS KERNEL BUILD ============================
2
3 1) Build the SPL (Solaris Porting Layer) module which is designed to
4    provide many Solaris APIs in the Linux kernel which are needed
5    by ZFS.  To build the SPL:
6
7         tar -xzf spl-x.y.z.tgz
8         cd spl-x.y.z
9         ./configure --with-linux=<kernel src>
10         make
11         make check <as root>
12
13 2) Build ZFS, this port is based on build 89 of ZFS from OpenSolaris.
14    You will need to have both the kernel and SPL source available.
15    To build ZFS for use as a Linux kernel module (default):
16
17         tar -xzf zfs-x.y.z.tgz
18         cd zfs-x.y.z
19         ./configure --with-linux=<kernel src> \
20                     --with-spl=<spl src>
21         make
22         make check <as root>
23
24 ========================= ZFS USER LIBRARY BUILD =========================
25
26 1) Build ZFS, this port is based on build 89 of ZFS from OpenSolaris.
27    To build ZFS as a userspace library:
28
29         tar -xzf zfs-x.y.z.tgz
30         cd zfs-x.y.z
31         ./configure --zfsconfig=user
32         make
33         make check <as root>
34
35 ============================ ZFS LUSTRE BUILD ============================
36
37 1) Build the SPL (Solaris Porting Layer) module which is designed to
38    provide many Solaris APIs in the Linux kernel which are needed
39    by ZFS.  To build the SPL:
40
41         tar -xzf spl-x.y.z.tgz
42         cd spl-x.y.z
43         ./configure --with-linux=<kernel src>
44         make
45         make check <as root>
46
47 2) Build ZFS, this port is based on build 89 of ZFS from OpenSolaris.
48    To build ZFS as a userspace library for use by a Lustre filesystem:
49
50         tar -xzf zfs-x.y.z.tgz
51         cd zfs-x.y.z
52         ./configure --zfsconfig=lustre \
53                     --with-linux=<kernel src> \
54                     --with-spl=<spl src>
55         make
56         make check <as root>
57
58 3) Provided is an in-kernel test application called kpios which can be
59    used to simulate a Lustre IO load.  It may be used as a stress test
60    or as a performance to measure your configuration.  To simplify testing
61    there are scripts provided in the scripts/ directory.  A single test
62    can be run as follows:
63
64         WARNING: You MUST update DEVICES in the create-zpool.sh script
65                  to reference the devices you wish to use.
66
67        cd scripts
68        ./load-zfs.sh            # Load the ZFS/SPL module stack
69        ./create-zpool.sh        # Modify DEVICES to list your zpool devices
70        ./zpios.sh               # Modify for your particular kpios test
71        ./unload-zfs.sh          # Unload the ZFS/SPL module stack
72
73 Enjoy,
74 Brian Behlendorf <behlendorf1@llnl.gov>