summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorMarkus Pargmann <mpa@pengutronix.de>2016-02-19 15:01:22 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-02-23 08:39:11 +0100
commit8be7ba7c61e43c1d3317a2e137e26ef3daaac2d9 (patch)
tree41a146d8314cf8bfb31e473fba14ce6ac233def3 /Documentation
parentb4d8ee6876b7a62f1811030d3940083569ba9b9e (diff)
downloadbarebox-8be7ba7c61e43c1d3317a2e137e26ef3daaac2d9.tar.gz
barebox-8be7ba7c61e43c1d3317a2e137e26ef3daaac2d9.tar.xz
Documentation: Update USB fastboot section
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@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/user/usb.rst52
1 files changed, 52 insertions, 0 deletions
diff --git a/Documentation/user/usb.rst b/Documentation/user/usb.rst
index 9eb1437135..24bb8d8b1f 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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^