Forked from Akheon23/install-modprobe-ubuntu-kernel.sh
Created
November 24, 2022 13:14
-
-
Save gema-arta/f985c66ddaa13958e09cb2f11d8f8a62 to your computer and use it in GitHub Desktop.
Install modprobe on Ubuntu
This file contains hidden or 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