Forked from Akheon23/install-modprobe-ubuntu-kernel.sh
Created
November 24, 2022 13:14
-
-
Save gema-arta/a4824caafd958948264a6b633cbc6708 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