mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Subject: [PATCH 8/8] barebox remote control: Documentation
Date: Fri,  8 Jan 2016 12:13:55 +0100	[thread overview]
Message-ID: <1452251635-14689-9-git-send-email-s.hauer@pengutronix.de> (raw)
In-Reply-To: <1452251635-14689-1-git-send-email-s.hauer@pengutronix.de>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 Documentation/user/remote-control.rst | 121 ++++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)
 create mode 100644 Documentation/user/remote-control.rst

diff --git a/Documentation/user/remote-control.rst b/Documentation/user/remote-control.rst
new file mode 100644
index 0000000..07fdd4c
--- /dev/null
+++ b/Documentation/user/remote-control.rst
@@ -0,0 +1,121 @@
+barebox remote control
+======================
+
+barebox remote control is for controlling barebox from a remote host via
+scripts. The barebox console is designed for human interaction,
+controlling it from a script is very error prone since UARTs do not
+offer reliable communication. Usually a tool like 'expect' is used for
+this purpose which uses its own language to communicate with the remote
+partner. The barebox remote control offers an alternative. barebox
+commands can be integrated into regular shell scripts running on the
+host:
+
+.. code-block:: sh
+
+  bbremote --port /dev/ttyUSB0 run "ls"
+
+Additionally files can be transferred from/to barebox and a regular
+console offers interactive access to barebox on flawy serial
+connections.
+
+Enabling remote control support
+-------------------------------
+
+To get remote control support barebox has to be compiled with
+CONFIG_RATP and CONFIG_CONSOLE_RATP enabled. Optionally CONFIG_FS_RATP
+can also be enabled.
+
+Running the bbremote tool
+-------------------------
+
+The bbremote host tool is written in python. To run it python2 has to be
+installed with the following additional packages:
+
++----------------+---------------------+
+| python package | Debian package name |
++================+=====================+
+| crcmod         | python-crcmod       |
++----------------+---------------------+
+| enum           | python-enum         |
++----------------+---------------------+
+| enum34         | python-enum34       |
++----------------+---------------------+
+
+configuring bbremote
+^^^^^^^^^^^^^^^^^^^^
+
+bbremote needs the port and possibly the baudrate to access the remote
+barebox. The port can be configured with the ``--baudrate`` option or
+with the ``BBREMOTE_PORT`` environment variable. The port can either be
+the device special file if it's a local port or if it's a remote port a
+string of the form: ``rfc2217://host:port``. The baudrate can be given
+with the ``--baudrate`` option or the ``BBREMOTE_BAUDRATE`` environment
+variable. For the rest of this document it is assumed that ``bbremote``
+has been configured using environment variables.
+
+running commands on the target
+------------------------------
+
+``bbremote`` can be used to run arbitrary commands on the remote
+barebox:
+
+.. code-block:: sh
+
+  bbremote run "echo huhu"
+  huhu
+
+The bbremote exit status will be 0 if the remote command exited
+successfully, 1 if the remote command failed and 127 if there was a
+communication error.
+
+**NOTE** It is possible to put the output into a shell variable for
+further processing, like ``RESULT=$(bbremote run "echo huhu")``.
+However, this string may contain unexpected messages from drivers and
+the like because currently we cannot filter out driver messages and
+messages to stderr.
+
+ping
+----
+
+This is a simple ping test.
+
+.. code-block:: sh
+
+  bbremote ping
+  pong
+
+getenv
+------
+
+.. code-block:: sh
+
+  bbremote getenv global.version
+  2015.12.0-00150-g81cd49f
+
+interactive console
+-------------------
+
+The bbremote tool also offers a regular interactive console to barebox.
+This is especially useful for flawy serial connections.
+
+.. code-block:: sh
+
+  bbremote console
+  barebox@Phytec phyFLEX-i.MX6 Quad Carrier-Board:/ ls
+  .      ..     dev    env    mnt
+
+transferring files
+------------------
+
+With the bbremote tool it's possible to transfer files both from the
+host to barebox and from barebox to the host. Using the ``--export``
+option to bbremote a directory can be specified to export to barebox.
+This can be mounted on barebox using the regular mount command using
+``-t ratpfs`` as filesystem type.
+
+.. code-block:: sh
+
+  bbremote --export=somedir console
+  mkdir -p /ratpfs; mount -t ratpfs none /ratpfs
+  ls /ratpfs
+
-- 
2.6.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  parent reply	other threads:[~2016-01-08 11:14 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-08 11:13 [PATCH] remote control support Sascha Hauer
2016-01-08 11:13 ` [PATCH 1/8] Add Reliable Asynchronous Transfer Protocol Sascha Hauer
2016-01-18  1:09   ` Andrey Smirnov
2016-01-08 11:13 ` [PATCH 2/8] barebox remote control Sascha Hauer
2016-01-11  2:10   ` Andrey Smirnov
2016-01-11  7:52     ` Sascha Hauer
2016-01-18  1:04       ` Andrey Smirnov
2016-01-18  2:39   ` Andrey Smirnov
2016-01-08 11:13 ` [PATCH 3/8] fs: Add RATP fs support Sascha Hauer
2016-01-18  1:10   ` Andrey Smirnov
2016-01-08 11:13 ` [PATCH 4/8] include pyserial trunk Sascha Hauer
2016-01-08 11:57   ` Yegor Yefremov
2016-01-08 12:00     ` Sascha Hauer
2016-01-08 11:13 ` [PATCH 5/8] pyserial: decrease timeouts Sascha Hauer
2016-01-08 11:13 ` [PATCH 6/8] host side for barebox remote control Sascha Hauer
2016-01-18  1:07   ` Andrey Smirnov
2016-01-18  9:32     ` Jan Lübbe
2016-01-08 11:13 ` [PATCH 7/8] defaultenv2: Add automount for RATPFS Sascha Hauer
2016-01-08 11:13 ` Sascha Hauer [this message]
2016-01-18  1:16   ` [PATCH 8/8] barebox remote control: Documentation Andrey Smirnov
2016-01-18  9:25     ` Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1452251635-14689-9-git-send-email-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox