qemu-user-static | : earth_africa : /usr/bin/qemu- *

 by   multiarch Shell Version: v7.2.0-1 License: MIT

kandi X-RAY | qemu-user-static Summary

kandi X-RAY | qemu-user-static Summary

qemu-user-static is a Shell library typically used in Hardware, Raspberry Pi applications. qemu-user-static has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

multiarch/qemu-user-static images are managed on the Docker Hub container repository. The images have below tags. multiarch/qemu-user-static and multiarch/qemu-user-static:register images execute the register script that registers below kind of /proc/sys/fs/binfmt_misc/qemu-$arch files for all supported processors except the current one in it when running the container. See binfmt_misc manual [2] for detail of the files. As the /proc/sys/fs/binfmt_misc are common between host and inside of container, the register script modifies the file on host. The --reset option is implemented at the register script that executes find /proc/sys/fs/binfmt_misc -type f -name 'qemu-*' -exec sh -c 'echo -1 > {}' \; to remove binfmt_misc entry files before register the entry. When same name's file /proc/sys/fs/binfmt_misc/qemu-$arch exists, the register command is failed with an error message "sh: write error: File exists". On below image, we can not specify -p yes (--persistent yes) option. Because an interpreter's existance is checked when registering a binfmt_misc entry. As the interpreter does not exist in the container, the register script finshes with the error. Then the register script executes QEMU's scripts/qemu-binfmt-conf.sh script with options. You can check usage() in the file about the options. You can run /usr/bin/qemu-$arch-static binary file` in the container. multiarch/qemu-user-static:$from_arch-$to_arch images are used with multiarch/qemu-user-static:register image. Because when the binfmt_misc entry is registered without -p option, the interpreter needs to be put in the container. If you have qemu-$arch-static binary files on your local environment, you can set it to the container by docker -v volume mounted file.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              qemu-user-static has a medium active ecosystem.
              It has 1951 star(s) with 202 fork(s). There are 35 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 47 open issues and 54 have been closed. On average issues are closed in 195 days. There are 3 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of qemu-user-static is v7.2.0-1

            kandi-Quality Quality

              qemu-user-static has 0 bugs and 0 code smells.

            kandi-Security Security

              qemu-user-static has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              qemu-user-static code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              qemu-user-static is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              qemu-user-static releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of qemu-user-static
            Get all kandi verified functions for this library.

            qemu-user-static Key Features

            No Key Features are available at this moment for qemu-user-static.

            qemu-user-static Examples and Code Snippets

            No Code Snippets are available at this moment for qemu-user-static.

            Community Discussions

            QUESTION

            Modify an Image based on another architecture
            Asked 2021-Aug-03 at 05:08

            I would like to modify an image (arm64) from within a host which is based on another architecture, like x86.

            To be more specific: The image I would like to modify is the pre-installed Ubuntu arm64 image.

            My current way of doing the above, i.e. preinstalling new software, is based on another topic here on SO, which is:

            • install qemu-user-static on host
            • copy qemu-aarch64-static to the arm64 bin directory
            • run sth via chroot and the copied emulator

            Unfortunately it gets complicated as soon as you are running e.g. Apt from within a bash -c command. It looks like you would need the binfmt-support within the chroot

            This problem feels very basic to me, so I wonder if there is maybe another way for modifying such an image under the given circumstances. Maybe using sth. like qemu-system and docker?

            Thank you in advance!

            ...

            ANSWER

            Answered 2021-Aug-03 at 05:08

            I found an awesome article describing a way using systemd-nspawn and qemu-user-static, see here: https://blog.oddbit.com/post/2016-02-07-systemd-nspawn-for-fun-and-wel/

            To take it short:

            1. Install qemu-user-static on host
            2. Mount the arm64 image using losetup (both, \ and \boot\)
            3. systemd-nspawn into the mounted root and run whatever you need

            Source https://stackoverflow.com/questions/68628372

            QUESTION

            No such image: my-image:latest while pushing container with Github Actions
            Asked 2021-May-18 at 16:47

            I am modifying my docker-publish file to build a docker image so it can work with Arm64. The previous version was working fine with x86 architecture, but now I need to make it work for Arm 64 so I just changed the way the docker builds the images.

            The build process works fine but somehow the git push stopped working and I am getting the error

            ...

            ANSWER

            Answered 2021-May-17 at 17:39

            Buildx runs builds within a separate container, not directly in your docker engine. And the output of buildx does not store the resulting image in the local docker engine. This doesn't work when you get into multi-platform images anyway, so you typically push directly to the registry. It's much more efficient to avoid moving layers around that didn't change in the registry, and allows you to manage multi-platform images (everything loaded into the docker engine is dereferenced to a single platform).

            If you really want to save the output to the local docker engine, you can use --load in the buildx command. However, the preferred option is to use the build-push-action that builds your tag directly and pushes it in one step. This would mean reordering your steps to determine the versions and other variables first, and then run the build against that. You can see an example of this in my own project which was assembled from various other docker examples out there.

            Here's a quick untested attempt to make that change:

            Source https://stackoverflow.com/questions/67547801

            QUESTION

            K8S - Docker - ARM unbutu 64bits - qemu: uncaught target signal 11 (Segmentation fault) - core dumped
            Asked 2020-Jul-20 at 22:28

            I installed a K8S cluster on my 4 raspberry pi 4 with 2gb of RAM and 32gb SD cards.

            On my master and slave nodes I installed qemu binfmt-support qemu-user-static in order to enable the support of ARM CPU for the docker images.

            I tried to install Grafana and Prometheus in order to monitor the cluster by doing:

            ...

            ANSWER

            Answered 2020-Jul-20 at 22:28

            I looked at this 👀 and see 👀 since you are running on a raspberry pi 4, your architecture is probably aarch64 (arm64). So, it seems like the node-exporter DaemonSet K8s manifest is pulling the following image: prom/node-exporter:v0.14.0 and I looked at dockerhub and that image tag doesn't have the aarch64 architecture tag, so it's most likely pulling the amd64 version causing qemu on the node to crash in your case.

            You can also see that there's an arm64 image starting with prom/node-exporter:v0.18.0. So, you can try downloading the file editing the node-exporter container to use v0.18.0 and that should fix the issue with that container. You may also need to update other containers that have matching arm64 architecture.

            🏃‍♀️🏃‍♂️🏃

            Source https://stackoverflow.com/questions/63003706

            QUESTION

            Docker - Cannot build multi-platform images with docker buildx
            Asked 2020-Mar-13 at 08:56

            I'm trying to build a multi-platform (amd64, arm64 and armv7) image using docker buildx. Since I'm using an amd64 machine running Ubuntu 18.04, I followed the instructions on the Docker website and installed qemu via:

            sudo apt install qemu-user

            However, a weird error appears when I execute the previous command. More specifically, there seems to be an issue with the binfmt-support service. Here's the full log:

            ...

            ANSWER

            Answered 2020-Mar-13 at 08:56

            Run the multiarch container first

            Source https://stackoverflow.com/questions/60080264

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install qemu-user-static

            It works on many architectures and OS container images. Podman [4] also works. Singularity [5] also works.

            Support

            We encourage you to contribute to multiarch/qemu-user-static! Please check out the Contributing to multiarch/qemu-user-static guide for guidelines about how to proceed. See Developers guide for detail.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/multiarch/qemu-user-static.git

          • CLI

            gh repo clone multiarch/qemu-user-static

          • sshUrl

            git@github.com:multiarch/qemu-user-static.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Shell Libraries

            awesome

            by sindresorhus

            ohmyzsh

            by ohmyzsh

            realworld

            by gothinkster

            nvm

            by nvm-sh

            papers-we-love

            by papers-we-love

            Try Top Libraries by multiarch

            alpine

            by multiarchShell

            debian-debootstrap

            by multiarchShell

            ubuntu-core

            by multiarchShell

            ubuntu-debootstrap

            by multiarchShell

            centos

            by multiarchShell