Updated Building ZFS (markdown)

Brian Behlendorf 2019-06-21 15:03:15 -07:00
parent a3df0c69c9
commit ba11d850a4
1 changed files with 24 additions and 20 deletions

@ -2,7 +2,7 @@
The official source for ZFS on Linux is maintained at GitHub by the [zfsonlinux][zol-org] organization. The project consists of two primary git repositories named [spl][spl-repo] and [zfs][zfs-repo], both are required to build ZFS on Linux. The official source for ZFS on Linux is maintained at GitHub by the [zfsonlinux][zol-org] organization. The project consists of two primary git repositories named [spl][spl-repo] and [zfs][zfs-repo], both are required to build ZFS on Linux.
**NOTE:** SPL was merged in to the [zfs][zfs-repo] repository, last major release with separate SPL is `0.7`. **NOTE:** The SPL was merged in to the [zfs][zfs-repo] repository, the last major release with a separate SPL is `0.7`.
* **SPL**: The SPL is thin shim layer which is responsible for implementing the fundamental interfaces required by OpenZFS. It's this layer which allows OpenZFS to be used across multiple platforms. * **SPL**: The SPL is thin shim layer which is responsible for implementing the fundamental interfaces required by OpenZFS. It's this layer which allows OpenZFS to be used across multiple platforms.
@ -10,35 +10,39 @@ The official source for ZFS on Linux is maintained at GitHub by the [zfsonlinux]
### Installing Dependencies ### Installing Dependencies
The first thing you'll need to do is prepare your environment by installing a full development tool chain. In addition, development headers for both the kernel and the following libraries must be available: **zlib, libattr, libuuid, libblkid, selinux, and libudev**. Finally, if you wish to run the ZFS Test Suite **ksh** must be installed. The first thing you'll need to do is prepare your environment by installing a full development tool chain. In addition, development headers for both the kernel and the following libraries must be available. Finally, if you wish to run the ZFS Test Suite `ksh` must be installed.
It is important to note that if the development kernel headers for the currently running kernel aren't installed, the modules won't compile properly. It is important to note that if the development kernel headers for the currently running kernel aren't installed, the modules won't compile properly.
For Debian and Ubuntu:
```
sudo apt-get install build-essential autoconf libtool gawk alien fakeroot
sudo apt-get install zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev
sudo apt-get install parted lsscsi ksh libssl-dev libelf-dev
sudo apt-get install linux-headers-$(uname -r)
```
For RHEL and CentOS: For RHEL and CentOS:
``` ```sh
sudo yum groupinstall "Development Tools" $ sudo yum install autoconf automake libtool rpm-build ksh
sudo yum install zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel $ sudo yum install zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel
sudo yum install parted lsscsi ksh openssl-devel elfutils-libelf-devel $ sudo yum install libacl-devel libaio-devel device-mapper-devel openssl-devel libtirpc-devel elfutils-libelf-devel
sudo yum install kernel-devel-$(uname -r) $ sudo yum install kernel-devel-$(uname -r)
$ sudo yum install epel-release
$ sudo yum install python36 python36-devel python36-setuptools python36-cffi
``` ```
For Fedora: For Fedora:
```sh
$ sudo dnf install autoconf automake libtool rpm-build ksh
$ sudo dnf install zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel
$ sudo dnf install libacl-devel libaio-devel device-mapper-devel openssl-devel libtirpc-devel elfutils-libelf-devel
$ sudo dnf install kernel-devel-$(uname -r)
$ sudo dnf install python3 python3-devel python3-setuptools python3-cffi
``` ```
sudo dnf groupinstall "C Development Tools and Libraries"
sudo dnf install zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel For Debian and Ubuntu:
sudo dnf install parted lsscsi ksh openssl-devel elfutils-libelf-devel libtirpc-devel
sudo dnf install kernel-devel-$(uname -r) ```sh
$ sudo apt-get install build-essential autoconf automake libtool gawk alien fakeroot ksh
$ sudo apt-get install zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev
$ sudo apt-get install libacl1-dev libaio-dev libdevmapper-dev libssl-dev libelf-dev
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get install python3 python3-dev python3-setuptools python3-cffi
``` ```
### Build Options ### Build Options