ZFS 安裝紀錄 (on Helios64-RK3399)

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
This entry was posted in embedded system, ZFS. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *