Git Product home page Git Product logo

Comments (5)

tjamet avatar tjamet commented on May 25, 2024 1

Hi!
I have added the support to build mac arm64 binary here: https://github.com/whalebrew/whalebrew/actions/runs/1809369861
soon I will release a new version

from whalebrew.

glensc avatar glensc commented on May 25, 2024 1

binfmt not bitfmt, and it's linux kernel thing:

from whalebrew.

tjamet avatar tjamet commented on May 25, 2024

Hi! sorry about the late reply

This is indeed a good idea to support apple silicon.
I personally don't have one, but I tend to think there are 2 sides to the problem:

  1. building whalebrew for it (this should now be easy with latest go versions)
  2. making packages compatible. For this, I don't know exactly what is required. Is docker always x86 emulated?

from whalebrew.

andrewcrook avatar andrewcrook commented on May 25, 2024

@glensc

I don't think it’s the same thing I would have put the β€˜_misc’, but does emulate that functionality and yes that was a typo 🫒

https://github.com/tonistiigi/binfmt

I think its this image used by buildkit which is a bundle of qemu emulators for different platforms.
It can be used by BuildKit to to run and more importantly build multiple images for different platforms.

While Docker Desktop comes preconfigured with binfmt_misc support for additional platforms, for other installations it likely needs to be installed using [tonistiigi/binfmt](https://github.com/tonistiigi/binfmt) image.

from whalebrew.

andrewcrook avatar andrewcrook commented on May 25, 2024

@tjamet

making packages compatible. For this, I don't know exactly what is required. Is docker always x86 emulated?

Docker for macOS M1 already packs QEMU with AMD64 support.
I presume, the Intel version comes with ARM64 support?
That would make sense with the move to Apple Silicon
via docker hub, it will always try to use the native version to your platform first. I am not sure if it would automatically fallback to the emulated version or if you would have to provide the platform argument.

If a system isnt supported by emulation or otherwise you have to install binfmt image , as mentiond
$ docker run --privileged --rm tonistiigi/binfmt --install all

I don't think that this will be needed though. Unless you plan to build for and run a lot more platforms.

video demo here: https://youtu.be/hWSHtHasJUI?t=268

So I think would mean you could upload the various platforms as the one named item to docker hub and docker would automatically download the native version if possible unless over ruled.

from whalebrew.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.