/var/db/kernel.SHA256 contains the hash of the /bsd kernel. Upon
authorderaadt <deraadt@openbsd.org>
Wed, 21 Jun 2017 23:54:19 +0000 (23:54 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 21 Jun 2017 23:54:19 +0000 (23:54 +0000)
install or upgrade, set it correctly.
diff from rpe, also thanks tb for comments and review

distrib/miniroot/install.sub

index 56f460a..1044397 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/ksh
-#      $OpenBSD: install.sub,v 1.1014 2017/06/03 22:27:41 deraadt Exp $
+#      $OpenBSD: install.sub,v 1.1015 2017/06/21 23:54:19 deraadt Exp $
 #
 # Copyright (c) 1997-2015 Todd Miller, Theo de Raadt, Ken Westerback
 # Copyright (c) 2015, Robert Peichaer <rpe@openbsd.org>
@@ -2633,6 +2633,14 @@ finish_up() {
                mv /mnt/bsd.mp /mnt/bsd
        fi
 
+       # Create/update kernel.SHA256 matching the just installed kernel.
+       # Fix path in kernel.SHA256 to ensure it references the kernel as /bsd.
+       (
+               umask 077
+               sha256 -h /mnt/var/db/kernel.SHA256 /mnt/bsd
+               sed -i 's,(/mnt,(,' /mnt/var/db/kernel.SHA256
+       )
+
        # Ensure that sysmerge in batch mode is run on reboot.
        [[ $MODE == upgrade ]] &&
                echo "/usr/sbin/sysmerge -b" >>/mnt/etc/rc.sysmerge