Scenario: configuring NetBSD 9.3 serial console on a 32-bit ITX PC. I'm returning to this from SPARC (and DEC and SGI) where serial console natively "just worked", so it's a bit of new territory for me. I have a working config now, but I'm not sure if I'm doing this the "right way", and have some questions in any case. The recipe I've pieced together from man pages and mailing lists: raptor# installboot -v -e /dev/wd0a File system: /dev/rwd0a Boot options: timeout 5, flags 0, speed 115200, ioaddr 0, console auto raptor# dmesg | grep console [ 1.019942] com0: console raptor# diff /etc/ttys /etc/ttys.dist 9,12c9,10 < #console "/usr/libexec/getty Pc" wsvt25 off secure < #constty "/usr/libexec/getty Pc" wsvt25 on secure < console "/usr/libexec/getty std.115200" wsvt25 off secure < constty "/usr/libexec/getty std.115200" wsvt25 on secure --- > console "/usr/libexec/getty Pc" wsvt25 off secure > constty "/usr/libexec/getty Pc" wsvt25 on secure No changes to /boot.cfg (more on that later). This config works as I want -- on serial console I can interact with loader, boot messages show up there, getty gives a login: prompt, I can login there and use the shell etc. From that standpoint it's all good. :-) Pc keyboard is on ttyE1 now with this config. Some things I still wonder about: 0) is this setup for i386/amd64 serial console documented somewhere? I checked The NetBSD Guide a little, but didn't find much about it. I realize I could have chosen serial during install, but wasn't sure if/when I'd be doing this, so I punted to VGA+keyboard. Plus I'd simply like to understand how it works and how to configure serial console properly afterwards if desired. 1) it seems like the main (only?) way to enable serial console support is by updating boot blocks config via installboot, is that correct? I was hoping it wasn't strictly required, since console(4) says: "As of NetBSD 1.5, the consdev bootblock command allows changing the console device on-the-fly." which I (naively) interpretted as: configure /boot.cfg with consdev, use default boot blocks, and carry on. But that seems to not work as I hoped. 2) before redoing installboot, I tried several /boot.cfg settings, e.g. menu=Boot serial cons:consdev com0,115200;rndseed /var/db/entropy-file;boot this didn't seem to matter without serial boot blocks, and after installing serial boot blocks, my /boot.cfg additions seemed to be a no-op, i.e. the default entry worked with serial console anyway: menu=Boot normally:rndseed /var/db/entropy-file;boot So aside from menus and banners and so on, it seems like /boot.cfg isn't affecting this config, regardless of consdev et al or not. 3) I don't understand the intended usage for console vs. constty in /etc/ttys; I separately tried both with serial console, both seemd functional; I settled on constty since the default /etc/ttys has that set on and console is set off. 4) what is "-o console=auto" intended to do with installboot? I tried both com0 and auto and both seemed functional. installboot(8) almost makes me think auto could somehow make it easier to switch between serial and keyboard consoles, but I don't see how at the moment. 5) reading boot_console(8), e.g. if I build a loader with options: SUPPORT_SERIAL=CONSDEV_COM0 (or CONSDEV_AUTO ?) DIRECT_SERIAL CONSPEED=115200 would this allow serial console using generic boot blocks without console settings? Possibly with configurable behavior in /boot.cfg ? Or are serial boot blocks configuration required in any case? Overall, the ideal config for me would be the ability to use either serial or keyboard as system console, preferably with minimal changes, and without needing to change config files or boot blocks in order to switch back and forth. Adding menu options to /boot.cfg would be fine, maybe even preferable. That said, what I have works, and I'm not unhappy with it as-is. My next move is to repeat these experiments with NetBSD 10, fyi. Is there any reason to expect different results? Thanks for reading, this ended up being longer than I planned. :-) Cheers, sr.