问题描述
在 Ubuntu 20.04 上,我使用页面 Tools Used in 6.828
安装了 xv6 项目$ sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
他们在网页上检查的文件版本是
$ riscv64-unkNown-elf-gcc --version
riscv64-unkNown-elf-gcc () 9.3.0
copyright (C) 2019 Free Software Foundation,Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or fitness FOR A PARTIculaR PURPOSE.
$ qemu-system-riscv64 --version
QEMU emulator version 5.2.50 (v5.2.0-2349-g51db2d7cf2)
copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
在 xv6-riscv 上
$ make qemu
# ... lots of output ...
qemu-system-riscv64 -machine virt -bios none -kernel kernel/kernel -m 128M -smp 3 -nographic -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0
欢迎任何有关如何解决此问题的想法。
解决方法
中已经提到
此时,似乎包 qemu-system-misc 收到了 更新破坏了它与我们的内核的兼容性。如果你运行 make qemu 和 脚本似乎在
之后挂起qemu-system-riscv64 -machine virt -bios none -kernel kernel/kernel -m 128M -smp 3
nographic -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk
device,drive=x0,bus=virtio-mmio-bus.0
您需要卸载该软件包并安装旧版本:
$ sudo apt-get remove qemu-system-misc
$ sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6