[PATCH v2 28/30] doc: Show how to build sandbox for MSYS2

Simon Glass sjg at chromium.org
Sun Apr 30 03:30:01 CEST 2023


Add instructions for building u-boot.exe to run on Windows.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v2:
- Clearify the documentation to explain the environment better

 doc/build/gcc.rst | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/doc/build/gcc.rst b/doc/build/gcc.rst
index a0650a51db4b..96861c2b3d90 100644
--- a/doc/build/gcc.rst
+++ b/doc/build/gcc.rst
@@ -184,8 +184,48 @@ Important ones are
 * clean - remove most generated files but keep the configuration
 * mrproper - remove all generated files + config + various backup files
 
+Building on/for Windows
+-----------------------
+
+Limited support is available for Windows, including building sandbox in the
+MSYS2 environment. This produces native applications, but they must have access
+to the `msys-2.0.dll` file.
+
+Note that this is not the same as running Windows Subsystem for Linux (WSL),
+which is designed to build Linux applications.
+
+It is best to use an out-of-tree build, so you can build multiple boards,
+with the output in a temporary directory like `/tmp/b`.
+
+First enable Windows developer mode with `Developer Mode`_ so that symbolic
+links can be used. Then run the MSYS2 shell and enable symbolic links::
+
+   cd
+   echo "export MSYS=winsymlinks:nativestrict" >>.bashrc
+
+Close all MSYS2 shells so that the setting takes effect.
+
+To build sandbox, first install some required packages::
+
+    pacman install bc bison diffutils flex gcc libgnutls-devel \
+      libutil-linux-devel make openssl-devel python python-setuptools swig
+
+then::
+
+    make O=/tmp/b/sandbox -j$(nproc) sandbox_defconfig all
+
+Note that it currently only gets as far as running binman, since this doesn't
+fully work on Windows.
+
+You can also build sandbox_spl::
+
+    make O=/tmp/b/sandbox_spl -j$(nproc) sandbox_spl_defconfig all
+
+
 Installation
 ------------
 
 The process for installing U-Boot on the target device is device specific.
 Please, refer to the board specific documentation :doc:`../board/index`.
+
+.. _`Developer Mode`: https://msdn.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development
-- 
2.40.1.495.gc816e09b53d-goog



More information about the U-Boot mailing list