loader(8) claims that setting comconsole_pcidev will automatically set comconsole_port, but this did not work for me. My Lenovo Thinkpad X220 has the following UART (provided by AMT Serial-over-LAN): uart2@pci0:0:22:3: class=0x070002 card=0x21da17aa chip=0x1c3d8086 rev=0x04 hdr=0x00 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family KT Controller' class = simple comms subclass = UART bar [10] = type I/O Port, range 32, base rx50b0, size 8, enabled bar [14] = type Memory, range 32, base rxf252c000, size 4096, enabled cap 01[c8] = powerspec 3 supports D0 D3 current D0 cap 05[d0] = MSI supports 1 message, 64 bit I set comconsole_pcidev="0:22:3" in loader.conf, but did not get a serial console and when the system booted kenv showed comconsole_port=1016. I was able to get it to work by setting comconsole_port and hw.uart.console explicitly: comconsole_port="0x50b0" hw.uart.console="io:0x50b0,br:115200"