summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-01-10 06:13:48 +0300
committerSimon Glass <sjg@chromium.org>2022-01-25 22:36:11 +0300
commit81d6e3f088f799b213b3a4be2b26619c5801e967 (patch)
tree54206117a05fe5504ead5203baa7d8afb5ba6a58 /tools
parent7f29583113b2d9aeba116183df5a8bc8ae2d86e2 (diff)
downloadu-boot-81d6e3f088f799b213b3a4be2b26619c5801e967.tar.xz
binman: Add installation instructions
Explain how to install binman, since it is not obvious. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/binman.rst27
1 files changed, 25 insertions, 2 deletions
diff --git a/tools/binman/binman.rst b/tools/binman/binman.rst
index 3e063d1f86..9dbe582ade 100644
--- a/tools/binman/binman.rst
+++ b/tools/binman/binman.rst
@@ -185,14 +185,37 @@ Binman is intended to replace all of this, with ifdtool left to handle only
the configuration of the Intel-format descriptor.
-Running binman
---------------
+Installing binman
+-----------------
First install prerequisites, e.g::
sudo apt-get install python-pyelftools python3-pyelftools lzma-alone \
liblz4-tool
+You can run binman directly if you put it on your PATH. But if you want to
+install into your `~/.local` Python directory, use::
+
+ pip install tools/patman tools/dtoc tools/binman
+
+Note that binman makes use of libraries from patman and dtoc, which is why these
+need to be installed. Also you need `libfdt` and `pylibfdt` which can be
+installed like this::
+
+ git clone git://git.kernel.org/pub/scm/utils/dtc/dtc.git
+ cd dtc
+ pip install .
+ make NO_PYTHON=1 install
+
+This installs the `libfdt.so` library into `~/lib` so you can use
+`LD_LIBRARY_PATH=~/lib` when running binman. If you want to install it in the
+system-library directory, replace the last line with::
+
+ make NO_PYTHON=1 PREFIX=/ install
+
+Running binman
+--------------
+
Type::
binman build -b <board_name>