[PATCH] Documentation: Update USB fastboot section

Markus Pargmann mpa at pengutronix.de
Fri Feb 19 06:01:22 PST 2016


Add some documentation about fastboot 'flash' command and some useful
example how to use it to boot an initrd.

Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
---
 Documentation/user/usb.rst | 52 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/Documentation/user/usb.rst b/Documentation/user/usb.rst
index 9eb1437135a2..24bb8d8b1fb9 100644
--- a/Documentation/user/usb.rst
+++ b/Documentation/user/usb.rst
@@ -113,6 +113,11 @@ The Fastboot gadget supports the following commands:
 **NOTE** ``fastboot erase`` is not yet implemented. This means flashing MTD partitions
 does not yet work.
 
+``fastboot flash`` additionally supports image types UBI and Barebox. For UBI
+Images and a MTD device as target, ubiformat is called. For a Barebox image
+with an available barebox update handler for the fastboot exported device, the
+barebox_update is called.
+
 The barebox Fastboot gadget supports the following non standard extensions:
 
 - ``fastboot getvar all``
@@ -126,6 +131,53 @@ The barebox Fastboot gadget supports the following non standard extensions:
   command returns successfully when the barebox command was successful and it fails when
   the barebox command fails.
 
+**Example booting kernel/devicetree/initrd with fastboot**
+
+In Barebox start the fastboot gadget:
+
+.. code-block:: sh
+
+  usbgadget -A /kernel(kernel)c,/initrd(initrd)c,/devicetree(devicetree)c
+
+On the host you can use this script to start a kernel with kernel, devicetree
+and initrd:
+
+.. code-block:: sh
+
+  #!/bin/bash
+
+  set -e
+  set -v
+
+  if [ "$#" -lt 3 ]
+  then
+          echo "USAGE: $0 <KERNEL> <DT> <INITRD> [<ARGS>]"
+          exit 0
+  fi
+
+  kernel=$1
+  dt=$2
+  initrd=$3
+
+  shift 3
+
+  fastboot -i 7531 flash kernel $kernel
+  fastboot -i 7531 flash devicetree $dt
+  fastboot -i 7531 flash initrd $initrd
+
+
+  fastboot -i 7531 oem exec 'global linux.bootargs.fa'$ct'=rdinit=/sbin/init'
+  if [ $# -gt 0 ]
+  then
+          ct=1
+          for i in $*
+          do
+                  fastboot -i 7531 oem exec 'global linux.bootargs.fa'$ct'='"\"$i\""
+                  ct=$(($ct + 1))
+          done
+  fi
+  timeout -k 5 3 fastboot -i 7531 oem exec -- bootm -o /devicetree -r /initrd /kernel
+
 USB Composite Multifunction Gadget
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-- 
2.7.0




More information about the barebox mailing list