Support #521
Updated by Daniel Curtis almost 10 years ago
{{>toc}}
One of the many projects I had for my pi was installing ZFS. While Raspbian is a a good distro for beginners, I require a bit more control and up to date packages than Raspbian can provide, so I use Arch Linux. This is a guide on how I compiled support for ZFS on my Raspberry Pi.
*WARNING*: I have not yet finished this yet, so please treat this as experimental for the time being.
*NOTE*: I have found that installing the zfs-dkms package from the AUR is much easier than trying to roll a custom kernel just for ZFS.
h2. Prepare The System
* Update the system:
<pre>
pacman -Syu
</pre>
* Install base-devel, cmake, and linux-headers packages
<pre>
pacman -S base-devel cmake linux-headers
</pre>
---
h2. Install yaourt
Yaourt isn't necessary, but makes managing AUR packages a lot easier.
* Download the packages for yaourt:
<pre>
cd /tmp
wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz && wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar xzf package-query.tar.gz
tar xzf yaourt.tar.gz
</pre>
#* Install package-query:
<pre>
cd ../package-query
makepkg -csi
</pre>
#* Install yaourt
<pre>
cd ../yaourt
makepkg -csi
</pre>
---
h2. Install ZFS DKMS from the AUR
* Install zfs-dkms:
<pre>
yaourt zfs-dkms
</pre>
* Install zfs-utils:
<pre>
yaourt zfs-utils
</pre>
#* Force install the zfs-utils package (probably a bad idea, but the only way I could get it to install properly):
<pre>
pacman -U --force /tmp/yaourt-tmp-username/zfs-utils-0.6.3-1.2-armv6h.pkg.tar.xz
</pre>
#* Replace *username* with the user that built the zfs-utils package
#* Replace the version with the current version being installed
* *NOTE*: Edit the +PKGBUILD+ for *zfs-dkms*, *spl-dkms*, and *zfs-utils*
#* And modify the arch parameter to match the following; adding *"armv6h"* and *"armv6l"*:
<pre>
arch=("i686" "x86_64" "armv6h" "armv6l")
</pre>
* Install the zfs kernel module:
<pre>
depmod -a
modprobe zfs
</pre>
# Check that the zfs modules were loaded:
<pre>
lsmod
</pre>
#* _Example output:_
<pre>
zfs 1229845 0
zunicode 322454 1 zfs
zavl 5993 1 zfs
zcommon 43765 1 zfs
znvpair 80689 2 zfs,zcommon
spl 165409 5 zfs,zavl,zunicode,zcommon,znvpair
</pre>
h2. Resources
* https://wiki.archlinux.org/index.php/ZFS
* https://aur.archlinux.org/packages/zfs-dkms/
* https://aur.archlinux.org/packages/zfs-utils/