GEREAL.CONF(5)

πŸ“¦ version 0.1.1, in ubuntu stonking

πŸ’– GEREAL.CONF β€” the whole vibe πŸ’–

okay bestie, imagine this is a file format manual (section 5, no cap) and the star of the show is gereal.conf, the configuration file for the gereal serial console manager. yes she's giving infrastructure queen energy πŸ’…


✨ SYNOPSIS ✨

/etc/gereal/gereal.conf

that's it. that's the path. iconic. πŸŽ€


🌸 DESCRIPTION 🌸

So gereal.conf is a YAML configuration file, and what it does is describe serial console sessions managed by gereal(8). like, it's literally the blueprint. πŸ¦‹

It holds two things: the global defaults, and then a list of individual sessions. And for every single session you write down? gereal-generator(8) auto-magically generates a systemd service for it. not you doing it by hand. the generator. we love a delegating moment. ✨


🧚 FILE FORMAT 🧚

Written in YAML, and it's got exactly two top-level keys:

  • defaults β€” a mapping of default values that get applied to all the sessions, unless a session overrides them. the "everybody wears this unless you say otherwise" section 🫢
  • sessions β€” a list of session definitions. the main characters πŸ‘‘

And here's the cute part: both sections can hold the same keys. A key you put in defaults is the default value for that key whenever it's not given in the config of a certain section. so defaults is the fallback bestie πŸ₯Ί

Each entry in sessions describes one serial console session.

Here's every key that's supported:

  • baudrate β€” the baud rate for the serial connection. Mandatory. ⭐
  • device β€” path to the serial device (for example, /dev/ttyUSB0). Mandatory.
  • enable β€” boolean, says whether the session should be enabled automatically at boot. Default: False. πŸ’€
  • group β€” the group under which the session runs. Mandatory.
  • name β€” the logical name of the session. This is the one used to construct the systemd unit name and the screen session name. Mandatory. iykyk πŸ‘‘
  • screenrc β€” optional path to a screen configuration file just for this session. Default: /etc/gereal/gereal-<name> if that file exists, otherwise /etc/gereal/screenrc πŸŽ€
  • user β€” the user account under which the session runs. Mandatory.

🌈 EXAMPLE 🌈

here's the moment you've been waiting for, literally:

defaults:
  baudrate: 115200
  user: _gereal
  group: dialout

sessions:
  - name: router
    device: /dev/ttyUSB0
    baudrate: 9600
    enable: true

ate. no crumbs. πŸ”₯


🫢 NOTES 🫢

⚠️ After modifying gereal.conf, a systemctl daemon-reload is required to regenerate systemd units. do not skip this step bestie, nothing happens without it 😭
πŸ™ˆ If the configured user or group does not exist, the corresponding systemd service will not be generated. it's just… not gonna show up. so double-check those names fr fr.

πŸ’œ SEE ALSO πŸ’œ

the whole friend group πŸ’–


⭐ AUTHOR ⭐

Marc Haber <mh+debian-packages@zugschlus.de>


and that's the page!! brought to you by gereal, dated January 2026, manual GEREAL.CONF(5) β€” slay, bye πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from