qemu riscv 模拟环境搭建,运行riscv linux

 方法一:

使用buildroot-2020.08.1  全自动

https://buildroot.org/download.html

下载后在ubuntu内解压,在buildroot-2020.08.1目录下 

make qemu_riscv64_virt_defconfig

然后

make menuconfig

如果你不懂怎么配置,直接默认。这两步如果出错,一般是你的ubuntu有些软件没装。根据提示,直接搜一下error信息就能找到解决方法。

 

然后直接 make

buildroot会自动下载riscv-toolchian、linux kernel source code、qemu、rootfs、opensbi等等,自动编译,生成各种可执行文件和image文件。

 

编译结束后,到 buildroot-2020.08.1/output/images

 ./start-qemu.sh

 即可启动qemu,将首先执行qemu内置的rom,然后执行OpenSBi作为bootloader,之后载linux kernel。登录名root 密码默认没有密码。

 

 

 方法二:

 

qemu的编译可以参考

https://www.cnblogs.com/qmjc/articles/12692584.html

不想自己编译可以去官网下载发布版,编译好的全家桶,直接用就是了,在windows环境下使用即可。

https://www.qemu.org/download/#windows

 

 

 


 

 

qemu运行整个操作系统需要加载一个操作系统镜像,就是虚拟机的镜像,参考了这篇配置qemu

https://wiki.qemu.org/Documentation/Platforms/RISCV

我图省事儿,用的现成的fedora

https://fedorapeople.org/groups/risc-v/disk-images/

注意,要把全部文件都下载,尤其不要遗漏bbl,这是bbl(bootloader) + Linux kernel一体的。stage4-disk.img是根文件系统,你可以用busybox自己做一个。

 

stage4-disk.img和bbl同文件夹,然后在这个文件夹运行qemu-system-riscv64,命令参数还是看 https://wiki.qemu.org/Documentation/Platforms/RISCV
  qemu-system-riscv64 \
    -nographic \
    -machine virt \
    -smp 4 \
    -m 2G \
    -kernel bbl \
    -object rng-random,filename=/dev/urandom,id=rng0 \
    -device virtio-rng-device,rng=rng0 \
    -append "console=ttyS0 ro root=/dev/vda" \
    -device virtio-blk-device,drive=hd0 \
    -drive file=stage4-disk.img,format=raw,id=hd0 \
    -device virtio-net-device,netdev=usernet \
    -netdev user,id=usernet,hostfwd=tcp::10000-:22
 

 

qemu就跑起来了。

 

windows下的bat脚本: 文件路径自己改

复制代码

cd C:\Program Files\qemu

.\qemu-system-riscv64.exe ^
-nographic ^
-machine virt ^
-smp 4 ^
-m 2G ^
-kernel C:\fedora\bbl ^
-append "console=ttyS0 ro root=/dev/vda" ^
-device virtio-blk-device,drive=hd0 ^
-drive file=C:\fedora\stage4-disk.img,format=raw,id=hd0 ^
-device virtio-net-device,netdev=usernet ^
-netdev user,id=usernet,hostfwd=tcp::10000-:22

复制代码

 

 


 

 

要看刚刚下载readme!!!

https://fedorapeople.org/groups/risc-v/disk-images/readme.txt

 

可以ssh登录它:

  ssh -p 10000 root@localhost

用户名 root 密码 riscv

  root@localhost's password: riscv

 

 windows效果,建议用powershell,cmd下字符乱码:

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果qemu-system-riscv64命令没有任何反应,可能是因为一些原因导致QEMU无法正常运行。下面是一些可能的原因和解决方法: 1. 检查QEMU是否正确安装 首先,你需要检查QEMU是否正确安装到了你的系统中。你可以在命令行终端中执行以下命令来检查QEMU的版本信息: ``` qemu-system-riscv64 --version ``` 如果QEMU正确安装,会输出QEMU的版本号。如果没有输出,则说明QEMU没有正确安装。你需要重新安装QEMU,或者检查QEMU的安装路径是否在系统的PATH环境变量中。 2. 检查LoongArch64的ISO文件是否存在 你需要检查LoongArch64的ISO文件是否存在,并且文件路径是否正确。你可以使用以下命令来检查文件是否存在: ``` ls /path/to/loongarch64.iso ``` 如果文件不存在,或者路径不正确,则需要重新下载LoongArch64的ISO文件,并且指定正确的文件路径。 3. 检查命令行参数是否正确 你需要检查qemu-system-riscv64命令的参数是否正确。特别是,你需要检查-machine选项是否正确指定了虚拟机的机器模型,-kernel选项是否正确指定了要加载的LoongArch64的ISO文件。 4. 检查系统是否支持RISC-V架构 最后,你需要检查你的系统是否支持RISC-V架构。如果你的系统不支持RISC-V架构,那么QEMU就无法正常运行LoongArch64。你可以在命令行终端中执行以下命令来检查系统的CPU架构: ``` uname -m ``` 如果输出结果为x86_64或者i686等,那么你的系统不支持RISC-V架构。如果输出结果为riscv64或者riscv32等,那么你的系统支持RISC-V架构。 希望这些解决方法可以帮助你解决QEMU无法运行的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值