在 qemu(ARM64)上启动 Ubuntu 时出现“读取不受支持的 AArch64 系统寄存器的访问”

在 qemu(ARM64)上启动 Ubuntu 时出现“读取不受支持的 AArch64 系统寄存器的访问”

我想在库姆。我使用了来自各个 Ubuntu CD 映像的内核,并使用 AMD64 架构验证了我的命令行:

$ qemu-system-x86_64 --version
QEMU emulator version 2.5.0 ..
$ isoinfo -R -x "/install/vmlinuz" -i bionic-server-amd64.iso >linux
$ qemu-system-x86_64 -nodefaults -nographic -kernel linux \
   -serial stdio -append "console=ttyS0" \
   -machine pc -cpu qemu64 -m 1G
[    0.0000000] Linux version 4.15.0-44-generic ..

但是,当我对 ARM64 架构(不是我的主机架构)尝试执行相同操作时:

$ qemu-system-aarch64 --version
QEMU emulator version 2.5.0 ..
$ isoinfo -R -x "/install/vmlinuz" -i bionic-server-arm64.iso >linux
$ qemu-system-aarch64 -nodefaults -nographic -kernel linux \
   -serial stdio -append "console=ttyAMA0" \
   -machine virt -cpu cortex-a53 -m 1G

当 CPU 使用率为 100% 时,输出为零。我怎样才能确定哪里出了问题?

执行并-d unimp -D debug.log揭示:

read access to unsupported AArch64 system register op0:3 op1:0 crn:0 crm:7 op2:2

答案1

只需升级您的系统。

AMD64 和 ARM64 内核均按照上述方法启动QEMU emulator version 3.1.0

请注意,命令行并不完全相同,在 ARM 上console=ttyS0转换为console=ttyAMA0。要真正开始下位性, 添加-initrd initrd -cdrom bionic-server-arm64.iso

  • 提取使用isoinfo -R -x "/install/initrd.gz" -i bionic-server-arm64.iso >initrd(验证结果 -信息系统不会详细失败)
  • 从 ISO 加载会很慢,添加 virtio 和更多核心可能会显著加快速度
  • 添加预播种文件,记下 cdrom 挂载位置,例如file=/cdrom/preseed/example.seed

相关内容