ZFS 安裝紀錄 (on Helios64-RK3399)
使用 Armbian 中 Helio64 ubuntu-20.04(kernel 5.8.x) images
由於用 apt 安裝 ubuntu 20.04 的 zfs 套件會失敗(zfs-dkms 套件會有問題), 因此只能自己重新build zfs.
參考網址
目前測試成功的版本是:
Armbian ubuntu focal(20.04) , kernel 5.8.16-rockchip64, zfs source code 0.8.5
安裝步驟
首先將Helios64 kernel 套件更新到最新的版本. 裝完後重新開機, 確認kernel 的版本已經更新.
其目的是為了後步驟中,抓下來的 linux header 版本能夠和目前的 kernel 版本相符
apt update
apt install linux-image-current-rockchip64
reboot
準備編譯zfs. 這裡利用docker 在container 中編譯zfs, 編譯完後, 直接離開container 即可.
cd /root
mkdir zfs-scratch
cd zfs-scratch
apt-get download linux-headers-current-rockchip64
git clone -b zfs-0.8.5 https://github.com/openzfs/zfs.git
docker run --rm -it -v $(pwd):/scratch ubuntu:focal
# inside the container
cd /scratch
apt update
apt install build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev python3 python3-dev
python3-setuptools python3-cffi libffi-dev flex bison
dpkg -i linux-headers-current-*.deb
cd zfs
sh autogen.sh
./configure
make -s deb
離開docker container 後, 就可以在/root/zfs-sractch/zfs 目錄中找到一堆已經編譯好的zfs deb packages.
接下來安裝這些套件即可.
# 先安裝一些必要套件
apt install dkms
# 開始裝剛剛編譯好的zfs套件, 除了devel 和 test 相關的套件我沒安裝, 其餘全裝了
cd /root/zfs-scratch/zfs
dpkg -i kmod-zfs-5.8.16-rockchip64_0.8.5-1_arm64.deb libnvpair1_0.8.5-1_arm64.deb libuutil1_0.8.5-1_arm64.deb libzfs2_0.8.5-1_arm64.deb libzpool2_0.8.5-1_arm64.deb python3-pyzfs_0.8.5-1_arm64.deb
zfs_0.8.5-1_arm64.deb zfs-dracut_0.8.5-1_arm64.deb zfs-initramfs_0.8.5-1_arm64.deb
# 再補上一個zfs-zed 套件
apt install zfs-zed
# kernel module載入相關, 讓開機自動載入zfs modules
depmod
echo "zfs" >> /etc/modules-load.d/modules.conf
reboot