x86 平台运行 arm 的方法

这篇具有很好参考价值的文章主要介绍了x86 平台运行 arm 的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考: https://github.com/multiarch/qemu-user-static

核心是使用 binfmt_misc 设定运行 arm 的默认程序为 qemu-aarch64-static

1.先下载 arm64 即 aarch64 的运行文件

curl -LO https://github.com/multiarch/qemu-user-static/releases/download/v7.1.0-2/qemu-aarch64-static.tar.gz
tar -zxf qemu-aarch64-static.tar.gz -C /usr/bin && /usr/bin/qemu-aarch64-static --version

2.设置默认打开方式, 即设置 binfmt_misc 以支持 arm64 程序的运行
# --reset 会删除同名条目后重新设置

docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker run --rm --privileged multiarch/qemu-user-static:register --help

3.测试

docker run -t --rm -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static --platform=arm64 alpine uname -m

4.不用映射qemu-*-static也可以使用的方法, --persistent yes 使得binfmt保留在内存中,但重启会失效[可选]
# 使用完整镜像注册(有300M), 注意!! 低版本内核不支持 -p yes 取消即可, 但在运行docker时需指定-v qemu-*-static, 参考第3步文章来源地址https://www.toymoban.com/news/detail-521052.html

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes  
# 因使用了参数 -p yes , 此时运行docker可以不用指定 -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static
docker run --rm -t arm32v6/alpine uname -m
docker run --rm -t alpine uname -m

到了这里,关于x86 平台运行 arm 的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用QEMU(x86)模拟运行ARM64架构并进行内核调试

    在 x86 上使用 QEMU 虚拟机模拟并调试 ARM64。 参考:ubuntu虚拟机中使用QEMU搭建ARM64环境 主机 ubuntu 20.04, Linux 5.16.0 QEMU emulator version 7.2.92 (v8.0.0-rc2-23-gefcd0ec14b) :qemu-7.2.29 合适的ARM64内核源码:linux-4.14.221.tar.gz 安装交叉编译工具: sudo apt-get install gcc-aarch64-linux-gnu 命令安装以及源码

    2024年02月09日
    浏览(41)
  • openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路

    随着国产化的普及,国家政策对信创产业的支持,尤其一些金融证券行业、政府单位等,逐渐开始走国产化信创的路线,越来越多接触到国产 CPU ( arm  平台,比如华为的鲲鹏处理器) 自己买  arm  平台的  CPU ,这个成本着实吃不消,于是尝试  x86  平台运行  arm  平台的

    2024年02月04日
    浏览(36)
  • 【ARM v8】如何在ARM上实现x86的rdtsc()函数

    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客内容主要围绕:        5G/6G协议

    2024年02月05日
    浏览(39)
  • RISC-V是如何与X86、ARM三分天下

    目录 1.行业CPU指令集格局 2.汽车中的RISC-V进展 2.1 国际进展 2.2 国内进展 3.小结 2023年3月2日,在平头哥牵头举办的玄铁RISC-V生态大会上,工程院院士倪光南表示,基于RISC-V模块化、可扩展、容易定制、不受垄断制约等优势,成为了中国CPU领域最受欢迎的架构。 那么RISC-V到底是

    2024年01月15日
    浏览(38)
  • x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理

    x86 听过吗? 64位操作系统知道吧 和x86什么关系 32和64都是什么东西? 曾经的我也一头雾水,今天我才来整理一下,惭愧惭愧! 今天带着沉重的心情来梳理一下学习内容吧 如果你很熟悉很了解计算机的话,应该知道,处理器、操作系统、驱动、软件都有32位和64位之分,只不

    2024年04月29日
    浏览(43)
  • Linux操作系统下Docker和Docker Compose的安装教程(包含x86和arm64平台离线一键安装资源包)

    本文章将详细介绍Linux下Docker和Docker Compose的安装教程。 目录3为x86和arm64平台Docker离线安装资源包,包含Docker Compose、一键安装脚本使用教程。 相关文章参考: Docker常用基础命令 Docker批量清理删除镜像和容器常用命令 版本如下 名称 版本 CentOS 7.6+ openEuler等其他操作系统可以使

    2024年02月06日
    浏览(31)
  • X86_64平台运行Arm docker容器

    QEMU是一个通用的开源的跨平台仿真模拟器,提供user和system两种模式。其模拟的作用可是可以模拟在特定的体系结构下的应用的执行或者构建,比如在x86的体系结构的操作系统上运行ARM的应用。 在ARM体系结构的硬件环境中安装Docker,然后构建并运行ARM的镜像自然非常简单,但

    2024年02月12日
    浏览(30)
  • X86和arm的区别

    硬件上的区别 x86 系统中的硬件组件(如声卡、显卡、内存、存储器和 CPU)都是相互独立的。大多数组件都有单独的芯片,称为控制器。我们可以对这些组件进行更改或扩展,而不会影响连接性或整个硬件平台。 ARM 处理器没有单独的 CPU。相反,处理单元与其他硬件控制器位

    2024年02月03日
    浏览(32)
  • X86、X64和ARM

    X86架构和X64架构(也称为x86-64、AMD64或Intel 64)都是计算机处理器架构的名称,它们都属于x86家族的一部分。 这些架构主要用于描述计算机中处理器的指令集和寻址能力。   X86指的是支持32位的指令集架构处理器, 最初由英特尔在1978年发布的 intel 8086,这个系统主要为X86结尾

    2024年02月15日
    浏览(29)
  • ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍

    X86 和 ARM 都是CPU设计的一个架构。X86 用的是复杂指令集。ARM用的是精简指令集。 指令集其实就是机器码,机器码上是汇编,汇编之上是程序语言例如java、c、c#。 复杂指令集是在硬件层面上设计了很多指令,所以编程会简单些。 精简指令集是在硬件层面上设计的指令比较少

    2024年02月04日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包