Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pkg/binfmt] Possible feature requests #3401

Open
umarcor opened this issue Aug 12, 2019 · 0 comments
Open

[pkg/binfmt] Possible feature requests #3401

umarcor opened this issue Aug 12, 2019 · 0 comments

Comments

@umarcor
Copy link

umarcor commented Aug 12, 2019

Please, tell whether it is worth creating a separate issue for any of the following feature requests:

  • Add missing target architectures (arm32v6, mips and mips64el).
  • Provide images for i386, arm64v8, arm32v7, arm32v6, s390x and ppc64le hosts, and a multi-arch manifest (linuxkit/binfmt).
  • Add CLI options to the golang application to:
    • Select/limit the list of target architectures to be registered.
    • Clean a list of registered architectures

Coming from docker/binfmt#17:

[@justincormack]

  1. there is no point in providing mips or mips64el as there are no Docker base images for those architectures. There might be some reason to provide arm32v6 but there have been no asks for it that I am aware of, all the binaries will generally run on arm32v7

The use case is development of apps for devices such as RPi2. Although both arm32v6 and arm32v7 can run on armv7 (or armv8, i.e. aarch32) devices, the opposite will not work. Thus, images for arm32v6 hosts are required in order to build multiarch images that can run on RPi2.

Overall, providing targets such as armv6 or mips is meant for testing cross-compiled binaries (e.g. ASMImproved/qemu-mips-docker). Moreover, supporting armv6 as a host allows to avoid cross-compilation (just as it is now supported for aarch64).

[@justincormack]

  1. Changing the target set is not a request we have had; users can re-register handlers if they know what they are doing.

The point is that I find it great for docker/binfmt to be written in golang, since it allows to distribute it as a static executable. I think that other users/projects could greatly benefit from it. Precisely, I think it might be interesting to enhance it with spf13/cobra and upstream it as an (optional) replacement for qemu-binfmt-conf.sh .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant