我想在库姆。我使用了来自各个 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