[PATCH 00/31] Allow building sandbox with MSYS2

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Apr 25 04:59:53 CEST 2023



Am 25. April 2023 01:08:05 MESZ schrieb Simon Glass <sjg at chromium.org>:
>This expands the existing work to allow sandbox to build and run on
>Windows using MSYS2.

Why do we need this?
Wouldn't a developer on Windows be much better served using WSL (https://learn.microsoft.com/en-us/windows/wsl/install)?

Best regards

Heinrich

>
>It also fixes a few issues so that binman can be used.
>
>There are various limitations and some features do not work fully yet. In
>particular, weak functions are not well supported on Windows so these are
>disabled. Various minor compiler-flag and filename adjustments are also
>needed.
>
>This does not support SDL, so U-Boot has no display. This is potentially
>possible, but requires using minggw instead of the base toolchain [1] so
>needs to be dealt with separately.
>
>[1] https://gist.github.com/thales17/fb2e4cff60890a51d9dddd4c6e832ad2
>
>
>Simon Glass (31):
>  patman: Declare the future Series memory
>  u_boot_pylib: Correct name of readme
>  u_boot_pylib: Make pty optional
>  binman: Avoid using a symlink
>  binman: Don't require a HOME directory
>  pylibfdt: Allow building on Windows
>  Fix Makefile warning about parallel targets
>  mkimage: Correct checking of configuration node
>  Kbuild: Detect including an MSYS2 path
>  sandbox: Provide a linker script for MSYS2
>  sandbox: Provide an EFI link script for PE
>  sandbox: Drop dead code from Makefile
>  sandbox: Disable raw Ethernet on MSYS2
>  sandbox: Drop signal handling for MSYS2
>  sandbox: Correct SDL.h header inclusion
>  sandbox: Include errno.h in the test header
>  sandbox: Allow weak symbols to be dropped
>  sections: Drop use of linux/types.h
>  sandbox: Drop incorrect inclusion of linux/types.h
>  sandbox: Drop inclusion of os.h in sscanf.c
>  test: Avoid strange symbols in the assembler file
>  sandbox: Fix up setting of monitor_len on MSYS2
>  ctype: Avoid using a symlink
>  build: Disable weak symbols for MSYS2
>  Makefile: Disable unsupported compiler options with PE
>  Makefile: Correct the ans1_compiler rule for MSYS2
>  Makefile: Disable LTO when building with MSYS2
>  doc: Update the MSYS2 packages and versions
>  doc: Show how to build sandbox for MSYS2
>  Makefile: Drop unwind tables
>  CI: Enable sandbox build for Windows
>
> .azure-pipelines.yml                  |  27 ++
> Kconfig                               |  15 +
> Makefile                              |  27 +-
> arch/sandbox/Makefile                 |   7 -
> arch/sandbox/config.mk                |   8 +-
> arch/sandbox/cpu/Makefile             |   2 +
> arch/sandbox/cpu/os.c                 |   3 +-
> arch/sandbox/cpu/sdl.c                |   2 +-
> arch/sandbox/cpu/u-boot-pe.lds        | 447 ++++++++++++++++++++++++++
> arch/sandbox/include/asm/test.h       |   1 +
> arch/x86/lib/crt0_x86_64_efi.S        |   2 +
> arch/x86/lib/pe_x86_64_efi.lds        |  83 +++++
> cmd/bootefi.c                         |   3 +-
> cmd/bootz.c                           |   3 +
> common/board_f.c                      |   2 +-
> common/usb.c                          |   3 +
> doc/build/gcc.rst                     |  35 ++
> doc/build/tools.rst                   |  20 +-
> drivers/core/root.c                   |   3 +
> drivers/net/Makefile                  |   2 +
> drivers/spi/sandbox_spi.c             |   3 +
> env/env.c                             |   6 +
> include/asm-generic/sections.h        |  16 +-
> include/ctype.h                       |   7 +-
> include/linux/compiler_attributes.h   |   4 +
> include/os.h                          |   2 -
> include/test/test.h                   |   4 +-
> lib/efi_loader/Makefile               |   8 +
> lib/efi_loader/efi_image_loader.c     |   3 +
> lib/efi_loader/efi_runtime.c          |   4 +
> lib/lmb.c                             |   4 +-
> lib/sscanf.c                          |   1 -
> lib/time.c                            |   3 +
> scripts/Kbuild.include                |   3 +-
> scripts/Makefile.build                |   2 +-
> scripts/Makefile.lib                  |   9 +-
> scripts/dtc/pylibfdt/Makefile         |  16 +-
> scripts/make_pip.sh                   |   9 +-
> tools/Makefile                        |  14 +-
> tools/binman/binman                   |  11 +-
> tools/binman/cmdline.py               |   2 +-
> tools/image-host.c                    |   4 +-
> tools/patman/commit.py                |   3 +
> tools/u_boot_pylib/README.rst         |   2 +-
> tools/u_boot_pylib/cros_subprocess.py |  28 +-
> tools/u_boot_pylib/pyproject.toml     |   2 +-
> 46 files changed, 803 insertions(+), 62 deletions(-)
> create mode 100644 arch/sandbox/cpu/u-boot-pe.lds
> create mode 100644 arch/x86/lib/pe_x86_64_efi.lds
> mode change 120000 => 100644 include/ctype.h
> mode change 120000 => 100755 tools/binman/binman
>


More information about the U-Boot mailing list