conf: Ship default configuration and systemd units

Two configurations are supported:

1. A socket-activated, single-port client service arrangement, and
2. A port-templated client service

systemd's template-unit constraints prevent us from mapping ports to a
daemon configuration for the socket-activated case. To support multiple
concurrent console servers we have to revert to a standard daemon
arrangement where dropbear binds, listens and accepts its own
connections. This brings with it immediate memory overhead of running
dropbear before connections are received. As such configuration 2 is
opt-in as there are very few systems that require it.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ifbcac1b1ca75ab3ff08c73855d7ed2ebabc27c0a
9 files changed
tree: 9ba967424948fae30d5763389e22ce5842c5b2b6
  1. conf/
  2. test/
  3. .gitignore
  4. .travis.yml
  5. bootstrap.sh
  6. config.c
  7. configure.ac
  8. console-client.c
  9. console-server.c
  10. console-server.h
  11. console-socket.c
  12. LICENSE
  13. log-handler.c
  14. MAINTAINERS
  15. Makefile.am
  16. README.md
  17. ringbuffer.c
  18. socket-handler.c
  19. tty-handler.c
  20. util.c
README.md

To Build

Note: In addition to a toolchain and autoconf tools, this requires autotools-archive to be installed.

To build this project, run the following shell commands:

./bootstrap.sh
./configure ${CONFIGURE_FLAGS}
make

To fully clean the repository, run:

./bootstrap.sh clean

To Run Server

Running the server requires a serial port (e.g. /dev/ttyS0):

touch obmc-console.conf
./obmc-console-server --config obmc-console.conf ttyS0

To Connect Client

To connect to the server, simply run the client:

./obmc-console-client

To disconnect the client, use the standard ~. combination.