Skip to content

Instantly share code, notes, and snippets.

@jonatron
Created April 1, 2017 15:34
Show Gist options
  • Save jonatron/81e79b37c73a85de710981138321563b to your computer and use it in GitHub Desktop.
Save jonatron/81e79b37c73a85de710981138321563b to your computer and use it in GitHub Desktop.
scaleway zfs kernel module
apt-get update
apt-get install -y zfs-dkms zfsutils-linux libssl-dev git unzip openssl build-essential automake libtool dpkg-dev alien uuid-dev autoconf gawk fakeroot zlib1g-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libdevmapper-dev parted lsscsi ksh
apt-get purge -y zfs-dkms zfsutils-linux
# Determine versions
arch="$(uname -m)"
release="$(uname -r)"
upstream="${release%%-*}"
local="${release#*-}"
# Get kernel sources
mkdir -p /usr/src
wget -O "/usr/src/linux-${upstream}.tar.xz" "https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${upstream}.tar.xz"
tar xf "/usr/src/linux-${upstream}.tar.xz" -C /usr/src/
ln -fns "/usr/src/linux-${upstream}" /usr/src/linux
ln -fns "/usr/src/linux-${upstream}" "/lib/modules/${release}/build"
# Prepare kernel
zcat /proc/config.gz > /usr/src/linux/.config
printf 'CONFIG_LOCALVERSION="%s"\nCONFIG_CROSS_COMPILE=""\n' "${local:+-$local}" >> /usr/src/linux/.config
wget -O /usr/src/linux/Module.symvers "http://mirror.scaleway.com/kernel/${arch}/${release}/Module.symvers"
apt-get install -y libssl-dev # adapt to your package manager
make -C /usr/src/linux prepare modules_prepare
cd /root
wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.6.5.9/spl-0.6.5.9.tar.gz
wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.6.5.9/zfs-0.6.5.9.tar.gz
tar -xf spl-0.6.5.9.tar.gz
tar -xf zfs-0.6.5.9.tar.gz
cd spl-0.6.5.9
sh autogen.sh
export KDIR=/lib/modules/$(uname -r)/build/
./configure --with-linux=$KDIR
make -j4
make deb
dpkg -i kmod-spl-4.4.38-std-1_0.6.5.9-1_amd64.deb
modprobe spl
cd /root/zfs-0.6.5.9
sh autogen.sh
./configure KDIR=/lib/modules/$(uname -r)/build/
make -j4
make deb
dpkg -i kmod-zfs-4.4.38-std-1_0.6.5.9-1_amd64.deb
modprobe zfs
apt-get install -y zfs-dkms zfsutils-linux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment