Skip to content

Instantly share code, notes, and snippets.

@iampeterbanjo
Last active June 23, 2023 11:39
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save iampeterbanjo/f1c9931002f5a939464c172fed6f96cb to your computer and use it in GitHub Desktop.
Save iampeterbanjo/f1c9931002f5a939464c172fed6f96cb to your computer and use it in GitHub Desktop.
Install modprobe on Ubuntu
# run with
# bash <(curl -s https://gist.githubusercontent.com/iampeterbanjo/f1c9931002f5a939464c172fed6f96cb/raw/520cee811a47714291394dec5fb4352683a17158/install-modprobe-ubuntu-kernel.sh)
apt-get update
apt-get install build-essential libssl-dev
apt-get install -y libssl-dev
apt-get install -y zfsutils-linux # will fail on dkms
# 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
apt-get install zfsutils-linux
zcat /proc/config.gz > /boot/config-4.5.7
cd /tmp; wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.5.7.tar.xz && tar xf linux-4.5.7.tar.xz
cp -r /tmp/linux-4.5.7 /lib/modules/4.5.7-std-2/build && cd /lib/modules/4.5.7-std-2/build/
cp /boot/config-4.5.7 .config
make oldconfig
make prepare scripts
apt-get remove -y zfsutils-linux
apt-get install -y zfsutils-linux
cd /lib/modules/4.5.7-std-2/build && make -j4
dkms --verbose install spl/0.6.5.6
dkms --verbose install zfs/0.6.5.6
dkms status
spl, 0.6.5.6, 4.5.7-std-2, x86_64: installed
zfs, 0.6.5.6, 4.5.7-std-2, x86_64: installed
modprobe zfs
zpool list
@sirlens
Copy link

sirlens commented Jun 27, 2019

puedo usar este mismo proceso para termux-ubuntu?

@jung915ed
Copy link

the https://www.kernel.org
has changed to cdn.kernel.org
thanks for your effort!

@iampeterbanjo
Copy link
Author

Thanks @jung915ed for letting me know. I've updated the script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment