diff options
Diffstat (limited to 'meta-phosphor/common/recipes-phosphor/obmc-console')
3 files changed, 41 insertions, 1 deletions
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console.bb b/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console.bb index 75a1d8429..e5553fe43 100644 --- a/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console.bb +++ b/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console.bb @@ -10,12 +10,30 @@ inherit autotools TARGET_CFLAGS += "-fpic -O2" SRC_URI += "git://github.com/openbmc/obmc-console" -SRC_URI += "file://${PN}.conf" +SRC_URI += "file://${PN}.conf \ + file://obmc-console-ssh.socket \ + file://obmc-console-ssh@.service" + SRCREV = "2eacda524e98c7964e542e01aabf82360cf60344" +FILES_${PN} += "${systemd_unitdir}/system/obmc-console-ssh@.service \ + ${systemd_unitdir}/system/obmc-console-ssh.socket" + +SYSTEMD_SERVICE_${PN} = "${BPN}.service ${BPN}-ssh.socket" + do_install_append() { install -m 0755 -d ${D}${sysconfdir} install -m 0644 ${WORKDIR}/${PN}.conf ${D}${sysconfdir}/${PN}.conf + + # add additional unit files for ssh-based console server + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/obmc-console-ssh@.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/obmc-console-ssh.socket ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@BINDIR@,${bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/obmc-console-ssh@.service \ + ${D}${systemd_unitdir}/system/obmc-console-ssh.socket } S = "${WORKDIR}/git" diff --git a/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console/obmc-console-ssh.socket b/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console/obmc-console-ssh.socket new file mode 100644 index 000000000..3fbfd99d7 --- /dev/null +++ b/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console/obmc-console-ssh.socket @@ -0,0 +1,11 @@ +[Unit] +Description=OpenBMC console ssh server socket +Conflicts=obmc-console-ssh.service +Requires=obmc-console.service + +[Socket] +ListenStream=2200 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console/obmc-console-ssh@.service b/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console/obmc-console-ssh@.service new file mode 100644 index 000000000..74d5a7a32 --- /dev/null +++ b/meta-phosphor/common/recipes-phosphor/obmc-console/obmc-console/obmc-console-ssh@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OBMC console SSH Per-Connection Server +Wants=obmc-console.service + +[Service] +Environment="DROPBEAR_RSAKEY_DIR=/etc/dropbear" +EnvironmentFile=-/etc/default/dropbear +ExecStart=-@SBINDIR@/dropbear -i -r ${DROPBEAR_RSAKEY_DIR}/dropbear_rsa_host_key -c @BINDIR@/obmc-console-client $DROPBEAR_EXTRA_ARGS +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID +StandardInput=socket +KillMode=process |