diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -740,6 +741,10 @@ /* Wipe GELI passphrase from the environment. */ kern_unsetenv("kern.geom.eli.passphrase"); + /* If muted, re-enable console starting now. */ + if ((boothowto & RB_MUTEMSGS) == RB_MUTEMSGS) + cn_mute = 0; + /* For Multicons, report which console is primary to both */ if (boothowto & RB_MULTIPLE) { if (boothowto & RB_SERIAL) diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c --- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -522,6 +522,10 @@ char *mnt; int error; + /* Enable console when there is no disk specified. */ + if (boothowto & (RB_MUTEMSGS | RB_MUTE)) + cn_mute = 0; + vfs_mountroot_wait(); printf("\nLoader variables:\n"); @@ -804,6 +808,8 @@ } out: if (error) { + if ((boothowto & RB_MUTEMSGS) == RB_MUTEMSGS) + cn_mute = 0; printf("Mounting from %s:%s failed with error %d", fs, dev, error); if (errmsg[0] != '\0')