Date: Sun, 17 Jun 2018 03:18:57 +0000 (UTC) From: Allan Jude <allanjude@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r335276 - in head/stand/i386: gptboot zfsboot Message-ID: <201806170318.w5H3IvJP090557@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: allanjude Date: Sun Jun 17 03:18:56 2018 New Revision: 335276 URL: https://svnweb.freebsd.org/changeset/base/335276 Log: gptboot, zfsboot, gptzfsboot: Enable the video and serial consoles early Normally the serial console is not enabled until /boot.config is read and we know how the serial console should be configured. Initialize the consoles early in 'dual' mode (serial & keyboard) with a default serial rate of 115200. Then serial is re-initialized once the disk is decrypted and the /boot.config file can be read. This allows the GELIBoot passphrase to be provided via the serial console. PR: 221526 Requested by: many Reviewed by: imp Sponsored by: Klara Systems Differential Revision: https://reviews.freebsd.org/D15862 Modified: head/stand/i386/gptboot/gptboot.c head/stand/i386/zfsboot/zfsboot.c Modified: head/stand/i386/gptboot/gptboot.c ============================================================================== --- head/stand/i386/gptboot/gptboot.c Sun Jun 17 03:10:25 2018 (r335275) +++ head/stand/i386/gptboot/gptboot.c Sun Jun 17 03:18:56 2018 (r335276) @@ -285,6 +285,16 @@ main(void) bootinfo.bi_memsizes_valid++; bootinfo.bi_bios_dev = dsk.drive; + /* + * Initialize the serial console early with a modern default of 115200. + * Later, we'll read PATH_DOTCONFIG and reconfigure serial according + * to the configuration provided. + */ + opts = OPT_SET(RBX_DUAL); + ioctrl = (IO_SERIAL|IO_KEYBOARD); + if (sio_init(115200) != 0) + ioctrl &= ~IO_SERIAL; + #ifdef LOADER_GELI_SUPPORT geli_init(); #endif Modified: head/stand/i386/zfsboot/zfsboot.c ============================================================================== --- head/stand/i386/zfsboot/zfsboot.c Sun Jun 17 03:10:25 2018 (r335275) +++ head/stand/i386/zfsboot/zfsboot.c Sun Jun 17 03:18:56 2018 (r335276) @@ -693,6 +693,16 @@ main(void) } setheap(heap_next, heap_end); + /* + * Initialize the serial console early with a modern default of 115200. + * Later, we'll read PATH_DOTCONFIG and reconfigure serial according + * to the configuration provided. + */ + opts = OPT_SET(RBX_DUAL); + ioctrl = (IO_SERIAL|IO_KEYBOARD); + if (sio_init(115200) != 0) + ioctrl &= ~IO_SERIAL; + dsk = malloc(sizeof(struct dsk)); dsk->drive = *(uint8_t *)PTOV(ARGS); dsk->type = dsk->drive & DRV_HARD ? TYPE_AD : TYPE_FD;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806170318.w5H3IvJP090557>