我在尝试模拟 riscv64 架构时遇到 QEMU 问题。 QEMU 启动,但在显示启动进度条后冻结,并且没有进一步的输出。我正在尝试模拟 riscv64 系统并加载 Linux 内核,但它似乎在启动过程中停止了。以下是我使用的命令和相关输出: 我运行的命令:
qemu-system-riscv64 \
-nographic \
-machine virt \
-kernel $OUT/bbl \
-append 'root=/dev/vda ro console=ttyS0' \
-drive file=$OUT/riscv_disk,format=raw,id=hd0,if=none \
-device virtio-blk-device,drive=hd0
输出冻结如下:
qemu-system-riscv64 -D ~/qemulog.txt -nographic -smp 2 -machine virt -bios none -kernel $OUT/bbl -append 'root=/dev/vda ro console=ttyS0' -drive file=$OUT/riscv_disk,format=raw,id=hd0,if=none -device virtio-blk-device,drive=hd0
hart_filter_mask saw unknown hart type: status="okay", mmu_type="riscv,sv57"
hart_filter_mask saw unknown hart type: status="okay", mmu_type="riscv,sv57"
这里的输出文件
-D ~/qemulog.txt
是空的,我已经按照以下方式设置了bbl和linux内核https://github.com/ppeetteerrs/gem5-RISC-V-FS-Linux
如何诊断并解决 QEMU 在启动过程中冻结的问题?
检查你是否分配了足够的内存,即-m 2G