OpenZFS on Linux and FreeBSD
Go to file
Brian Behlendorf 4ab8a725ce Merge branch 'builtin-clean'
Support in-tree builtin module building.

These commits add support for compiling the ZFS module as a built-in
kernel module by copying the module code into the kernel source tree.
Here's the procedure:

  - Create your kernel configuration (`.config` file) as usual. This
    has to be done first so that ZFS's configure script is able to
    detect kernel features correctly.
  - Run `make prepare scripts` inside the kernel source tree.
  - Run `./configure --enable-linux-builtin --with-linux=/usr/src/linux-...`
    inside the ZFS directory.
  - Run `./copy-builtin /usr/src/linux-...` inside the ZFS directory.
  - In the kernel source tree, enable the `CONFIG_ZFS` option (e.g. using
    `make menuconfig`). Note that this option depends on `CONFIG_SPL`
    (see zfsonlinux/spl@744038069d).
  - Build the kernel as usual.

ZFS module parameters can be set at boot time using the following syntax
on the kernel command line: `zfs.parameter_name=parameter_value`.

Note that you also need to rebuild the userspace tools (see
zfsonlinux/zfs@f09398cec6).

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #851
2012-07-26 15:37:17 -07:00
cmd Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
config When checking for symbol exports, try compiling. 2012-07-26 13:42:57 -07:00
dracut Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
etc Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
include Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
lib Use /sys/module instead of /proc/modules. 2012-07-26 13:45:33 -07:00
man Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
module Add script for builtin module building. 2012-07-26 13:45:09 -07:00
patches Add build system 2010-08-31 13:41:27 -07:00
scripts Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
udev Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
AUTHORS Add "ashift" property to zpool create 2011-06-17 16:35:49 -07:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
ChangeLog Add build system 2010-08-31 13:41:27 -07:00
DISCLAIMER Update COPYRIGHT and DISCLAIMER. 2010-05-18 10:32:23 -07:00
META ZFS 0.6.0-rc9 2012-06-14 11:46:40 -07:00
Makefile.am Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00
Makefile.in Don't build packages that haven't been selected. 2012-07-26 13:39:37 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
PKGBUILD-zfs-modules.in Add make rule for building Arch Linux packages 2011-12-14 19:14:23 -08:00
PKGBUILD-zfs.in Add make rule for building Arch Linux packages 2011-12-14 19:14:23 -08:00
README.markdown Add script for builtin module building. 2012-07-26 13:45:09 -07:00
ZFS.RELEASE Update to onnv_147 2010-08-26 14:24:34 -07:00
autogen.sh Make autogen.sh executable 2011-07-26 10:15:35 -07:00
configure When checking for symbol exports, try compiling. 2012-07-26 13:42:57 -07:00
configure.ac Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00
copy-builtin Add script for builtin module building. 2012-07-26 13:45:09 -07:00
zfs-modules.spec.in Remove Chaos 4.x RPM support 2012-07-02 15:16:05 -07:00
zfs-script-config.sh.in Unconditionally load core kernel modules 2010-11-11 11:38:25 -08:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00
zfs.spec.in Mark zdev.conf as a config file 2012-06-13 13:02:43 -07:00
zfs_config.h.in Linux 3.5 compat, end_writeback() changed to clear_inode() 2012-07-23 12:29:36 -07:00

README.markdown

Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!

$ ./configure
$ make pkg

To copy the kernel code inside your kernel source tree for builtin compilation:

$ ./configure --enable-linux-builtin --with-linux=/usr/src/linux-...
$ ./copy-builtin /usr/src/linux-...

Full documentation for building, configuring, and using ZFS can be found at: http://zfsonlinux.org