V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LxnChan
V2EX  ›  程序员

如何在 x86 架构的 Windows 设备上仿真运行 arm 架构的 CentOS?

  •  
  •   LxnChan ·
    lxnchan · 2022-10-27 17:02:17 +08:00 · 1515 次点击
    这是一个创建于 758 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,目前个需求是把程序跑在 arm 架构的 CentOS 上,目标 CentOS 版本为 7.9Minimal ,需要同时运行三个实例,同时每个实例都必须有虚拟网卡直接连到外部交换机上。

    我第一反应是 QEMU ,于是下了一个最新版的,按照记忆和网上查的教程创建了磁盘、下载了 arm 版本的 centos7.9-2009 的 ISO ,并用命令跑起来了一个 qemu 实例。

    qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\ITP-arm\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\vm-arm\maindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=D:\CentOS-7-aarch64-Minimal-2009.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom  -net nic -net user,hostfwd=tcp::2222-:22
    

    可是跑起来之后直接报错:

    Failed to set MokListRT: Invalid Parameter 
    Something has gone seriously wrong: import_mok_state () failed
    : Invalid Parameter
    

    查了一下说是 CentOS 版本太新,换了 7.5(1804)能看到 GRUB 了,不过点 Install 之后就黑屏了,只有光标在闪。

    想问一下大家如何在 x86 架构的 Windows ( Ubuntu 也行)上仿真运行 arm 架构的 CentOS7 ,要求能跑 Gitlab 就行,同时网卡要能桥接到和主机平齐的交换机上。


    使用的 EFI 固件:http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd

    QEMU 版本:qemu-w64-setup-20220831

    主机 CPU:Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz 2.21 GHz

    2 条回复    2022-10-27 18:57:35 +08:00
    superchijinpeng
        1
    superchijinpeng  
       2022-10-27 17:13:35 +08:00
    Nerdctl
    adoal
        2
    adoal  
       2022-10-27 18:57:35 +08:00
    我在 X64 的 Debian 11 里用 QEMU 跑过 ARM64 的 Debian 9 、Alpine 3.13 ,MIPS 的 Debian 9 ,都没有问题。ARM64 的是用 UEFI 启动,MIPS 的用外置 Kernle 启动。

    估计你这个就是 QEMU 硬件设置和虚拟机里系统的版本兼容性问题吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2679 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.