Last active
June 23, 2023 11:39
-
-
Save iampeterbanjo/f1c9931002f5a939464c172fed6f96cb to your computer and use it in GitHub Desktop.
Install modprobe on Ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
the https://www.kernel.org
has changed to cdn.kernel.org
thanks for your effort!