xv6不同视频里安装了不同版本 两个我都装了
一个是xv6-public 点进去是深大视频里配套的i386 arch
另一个是xv6 risc-V 就是另一个我参考的视频里
运行xv6 用的QEMU 是个linux上的模拟器 xv6又是个unix变体简易版系统
所以最终说起来这个系统是一个程序,跑在一个模拟器程序里,模拟器程序跑在虚拟机里,虚拟机跑在我的window系统里,还挺绕
那么准备工作就有:
1.装个18.04以上的ubuntu 我的版本是20.04
2.装QEMU 这里有riscv的跟i386的 我装了俩
https://zhuanlan.zhihu.com/p/267159664
https://blog.csdn.net/icekittenice/article/details/102596537
https://blog.csdn.net/m0_45291976/article/details/109121959
3.拉取xv6 从github 两个都拉取了 一个public 一个riscv
拉取时git https的问题就不说了 最后都容易443,解决办法是在github.com之前加上gitclone.com 比如https://gitclone.com/github.com/xxx/xxx.git
https://blog.csdn.net/weixin_51015707/article/details/121557471
4.安装
拉取完了之后按教程make make qemu就行
当然这部分前提是有编译工具链 也就是riscv那一套 在上面装QEMU的时候有链接里有
risc-v工具链安装如果按照官网教程来安装,可能会因为下载过慢而失败,教程中的安装命令是brew install riscv-tools,但riscv-tools由几个部分组成,我们其实只需要riscv-gnu-toolchain,源码下载方式如下:
git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
下载完成之后输入如下命令测试一下:
riscv64-unknown-elf-gcc -v
如果能显示版本信息则说明安装成功
如果要退出,先按Ctrl+a,松手后再按x
最后讲一下QEMU的调试技巧 有个不完全指北的网站可以参考 并且结合b站一个视频去做GDB的调试练习以及vscode
https://www.cnblogs.com/KatyuMarisaBlog/p/13727565.html 不完全指北
这里头有一个找gdbinit的问题 用Ctrl+H查看ubuntu fs中的隐藏文件
另一个问题是gdb的路径问题 不用riscv的gdb 用默认的就好
如何GDB调试QEMU 用到GDBStub
https://blog.csdn.net/Gefangenes/article/details/131193235?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-131193235-blog-83758127.235^v39^pc_relevant_default_base&spm=1001.2101.3001.4242.1&utm_relevant_index=3
重点在vscode 因为现代编辑器嘛
方法是make qemu-gdb 开启gdb
然后vscode里修改launch.json 远程地址选GDB服务器
"miDebuggerServerAddress"
https://www.cnblogs.com/tocy/p/gnu-binutils-simple-usage.html
https://zhuanlan.zhihu.com/p/645286863 bios MBR boot
标签:riscv,QEMU,什么,想到,xv6,blog,https,com From: https://www.cnblogs.com/synapse331/p/17891548.html