DCONS(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’… DCONS(4) β€” the dumb console device driver, bestie

okay so this is the manual page for dcons, section 4 of the Kernel Interfaces Manual, and honestly? the name is doing a lot of self-deprecating work here. it's called the dumb console device driver, and no, that's not me being shady β€” that's literally the NAME section. let's get into it πŸ’–


✨ SYNOPSIS ✨

so you wanna get this driver all cozy inside your kernel? bestie, you gotta drop these lines into your kernel configuration file:

options GDB
device firewire
device dcons

or, if you'd rather load it as a module at boot time (which, honestly, valid), you put this line in your kernel configuration file:

options GDB

...and then this one in loader.conf(5):

dcons_load="YES"

like yes bestie we love a two-step. no cap. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the dcons device is a simple console device β€” and when I say simple I mean it literally just reads from and writes to an allocated buffer for input and output respectively. that's it. that's the whole thing.

it's of no use by itself, and it's supposed that the buffer is accessed via a bus like firewire(4) or kvm(3) for interaction.

so like, it needs a friend. it's giving sidekick energy, not main character energy. πŸ’€

now the buffer itself? it consists of 4 channels. there are 2 ports β€” one for the console TTY and another is the GDB port β€” and then each port has an input channel and an output channel. math is mathing, 2 ports Γ— 2 channels = 4 channels. slay. ✨


πŸŽ€ FILES πŸŽ€

  • /dev/dcons
  • /etc/ttys

short list, iconic list. πŸ‘‘


🌸 EXAMPLES 🌸

wanna run getty(8) on dcons? okay so insert the following line into ttys(5) and send a HUP signal to init(8) using kill(1). periodt.

dcons   "/usr/libexec/getty std.115200" vt100   on  secure

then, once the fwohci(4) device is initialized to allow physical access, the buffer can be accessed from another host via a firewire(4) bus using the dconschat(8) application. see dconschat(8) for more details β€” iykyk. 🧚

and if you want to use dcons as a gdb(1) (that's ports/devel/gdb, bestie) port? add the following line into loader.conf(5):

dcons_gdb="1"

boom. done. ate. πŸ”₯


πŸ‘‘ SEE ALSO πŸ‘‘

dcons_crom(4), ddb(4), firewire(4), fwohci(4), gdb(4), ttys(5), conscontrol(8), dconschat(8), fwcontrol(8)

go read them, they're all part of the lore. πŸ“š


πŸ’œ AUTHORS πŸ’œ

Hidetoshi Shimokawa <simokawa@FreeBSD.org>

thank you for your service, king. 🫑


πŸ™ˆ BUGS πŸ™ˆ

okay so real talk:

this driver is currently under development.

so like... be nice to it. it's a work in progress. we've all been there. 😭


and that's the whole page, bestie! this one's from Debian, dated January 26, 2008 β€” a certified classic. go forth and console dumbly πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from