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