Linux - load new kernel with kexec - faster than reboot

Published on Author admin

Load new Linux kernel with kexec - method faster than reboot.
Just run below script using sudo or as a root.
Script is also available at: https://github.com/openterprise/scripts/blob/master/kexec.sh

#!/bin/bash
latestkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | head -n1`
echo "kernel current: $(uname -r)"
echo "kernel target:  ${latestkernel}"
echo ""
echo "Arming kexec..."
#kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"
kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --reuse-cmdline
echo ""
read -p "Press [Enter] key to start new kernel..."
#systemctl start kexec.target
kexec -e