Forked from iampeterbanjo/install-modprobe-ubuntu-kernel.sh
Created
April 22, 2020 23:36
-
-
Save Akheon23/20210c6056892195452afa07ec5eb8a1 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