![在 qemu(ARM64)上启动 Ubuntu 时出现“读取不受支持的 AArch64 系统寄存器的访问”](https://linux22.com/image/1163680/%E5%9C%A8%20qemu%EF%BC%88ARM64%EF%BC%89%E4%B8%8A%E5%90%AF%E5%8A%A8%20Ubuntu%20%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9C%E8%AF%BB%E5%8F%96%E4%B8%8D%E5%8F%97%E6%94%AF%E6%8C%81%E7%9A%84%20AArch64%20%E7%B3%BB%E7%BB%9F%E5%AF%84%E5%AD%98%E5%99%A8%E7%9A%84%E8%AE%BF%E9%97%AE%E2%80%9D.png)
我想在库姆。我使用了来自各个 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