• 请不要在回答技术问题时复制粘贴 AI 生成的内容
LxnChan
V2EX  ›  程序员

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

  •  
  •   LxnChan ·
    lxnchan · Oct 27, 2022 · 2140 views
    This topic created in 1317 days ago, the information mentioned may be changed or developed.

    如题,目前个需求是把程序跑在 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 replies    2022-10-27 18:57:35 +08:00
    cutiechi
        1
    cutiechi  
       Oct 27, 2022
    Nerdctl
    adoal
        2
    adoal  
       Oct 27, 2022
    我在 X64 的 Debian 11 里用 QEMU 跑过 ARM64 的 Debian 9 、Alpine 3.13 ,MIPS 的 Debian 9 ,都没有问题。ARM64 的是用 UEFI 启动,MIPS 的用外置 Kernle 启动。

    估计你这个就是 QEMU 硬件设置和虚拟机里系统的版本兼容性问题吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2928 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:44 · PVG 14:44 · LAX 23:44 · JFK 02:44
    ♥ Do have faith in what you're doing.