The Solaris Porting Layer (SPL) is a Linux kernel module which
provides many of the Solaris kernel APIs.  This shim layer makes
it possible to run Solaris kernel code in the Linux kernel with
relatively minimal modification.

This can be particularly useful when you want to track upstream
Solaris development closely and do not want the overhead of
maintaining a large patch which converts Solaris primitives to Linux
primitives.

You need this if you want to run ZFS on Linux.

NOTE: You'll need the kernel source code to be able to compile this.
This package is kernel dependent, so you'll need to recompile it for
every new kernel you choose to run.

If you're building this for a kernel that isn't currently running,
you'll need to pass what that kernel's 'uname -r' output will be
to the KERN variable when running the build script, e.g. KERN=4.14.9