Upgrade Kernel to 4.16

Just another update, it appears that the latest btrfs-progs require a couple more dependencies, so here’s my full steps for successful upgrade to kernel 5.7.2-1.el7.elrepo.x86_64 and btrfs-progs v5.6.1:

yum -y group install "Development Tools"  # Not sure if this is needed, but can't hurt
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  # Import the key for the mainline kernel repo
yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm  # Install the elrepo repo file
yum -y --enablerepo=elrepo-kernel update  # elrepo-kernel is deactivated by default, enable it and update the system
yum list installed | grep kernel  # You should see multiple kernel versions now

kernelver=$(grubby --default-kernel | sed 's@/boot/vmlinuz-@@')  # The default kernel will now be the latest
sed -i "/SUPPORTED_KERNEL_VERSION/c\SUPPORTED_KERNEL_VERSION = '${kernelver}'" /opt/rockstor/src/rockstor/settings.py  # Update the supported kernel version
grep SUPPORTED /opt/rockstor/src/rockstor/settings.py  # Verify the setting is changed correctly

reboot  # To ensure that the build happens with the new kernel
uname -r  # After reboot to be sure we're running the new kernel

# Install required devel packages for building btrfs-tools
yum -y install asciidoc e2fsprogs-devel libacl-devel libattr-devel libblkid-devel libuuid-devel libzstd-devel lzo-devel python36-devel xmlto zlib-devel
mkdir ~/src; cd ~/src  # Make a new source directory to hold our btrfs-progs source
git clone git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git  # Grab the latest source, cd into the dir and git pull if you have it already
cd btrfs-progs  # Change to the source dir

./autogen.sh  # Begin the configuration
./configure --prefix=/usr --bindir=/sbin --libdir=/lib  # Configure the build
make  # Compile the source
yum remove btrfs-progs  # Remove the repo version of btrfs-progs to avoid update conflicts
make install  # Install the source
btrfs --version  # Verify
man btrfs  # Double verify
4 Likes