如题,目前个需求是把程序跑在 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
1
superchijinpeng 2022-10-27 17:13:35 +08:00
Nerdctl
|
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 硬件设置和虚拟机里系统的版本兼容性问题吧。 |