After 'freebsd-update' the old kernel saved in /boot/kernel.old1 and not /kernel.old, but kernel/old1 is not in the boot loader's menu by default. Thus one can't go back after an update in case something went wrong. Environment: FreeBSD paul-lifebook.local.lan 9.3-RELEASE-p10 FreeBSD 9.3-RELEASE-p10 #0: Tue Feb 24 21:28:03 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 (I booted kernel.old after update) How-To-Repeat: have /boot/kernel.old and issue 'freebsd-update' Fix: Add this line to /boot/loader.conf: kernels="kernel kernel.old kernel.old1"
Note that FreeBSD-update first tries kernel.old, then kernel.old1 etc.: # We could not use current directory name, so add counter to # the end and try again. CNT=$((CNT + 1)) if [ $CNT -gt 9 ]; then echo "Could not find valid backup dir ($BASEDIR/$BACKUPKERNELDIR)" exit 1 fi BACKUPKERNELDIR="`echo $BACKUPKERNELDIR | sed -Ee 's/[0-9]\$//'`" BACKUPKERNELDIR="${BACKUPKERNELDIR}${CNT}" Allan has some WIP to automatically determine the available kernel list; this problem will likely be solved with that work.