可以直接看阿苏的
https://tarplkpqsm.feishu.cn/docs/doccnxrUYjtjuoNnAyxwajplSyf#
大概就是这样
- docker安装Ubuntu
- 本地git clone xv6的基本环境代码
- 运行镜像并找个地方挂载xv6的代码
- 本地打开vscode远程连接到挂载点
- 在挂载点写代码会相应的修改xv6中的代码
- 要测试时进入容器中make qemu
用到了好多遗忘了的命令,粘一下
- docker rm $(docker ps -aq) 删除包括ps -a
- 先Ctrl+p,再Ctrl+q 退出但不关闭容器
- docker run -it -v /usr/local/6.S081/dockerData:/root —name ubuntu ubuntu bash 启动并挂载
- docker cp ubuntu:/root /usr/local/6.S081/dockerData 复制容量文件到宿主机
- docker exec -it 91291fdea196 /bin/bash 进入容器
- 按Ctrl+a,松开后按x 退出qemu
Clion
后面用vscode实在是不舒服,换了Clion,踩了好多坑。。
- 得先创建一个空项目,因为自己创建项目时,Clion会自动构造debug环境,再把github代码粘上去(暂时先这么浅的理解)
- 在ignore中,屏蔽掉了mkfs目录,导致上传到github上再在linux中pull时就不见,make qemu失败,得注释掉。
- 学了CMake的一些知识,配置CMakeLists,不然找不到c文件。
- include时,拉下来时是kernel/*.c,但在Clion中要前面加../
- 使用Clion同步远程代码,不用github做中间商了,先在setting-Deployment中配置好两个目录相连接,再在Tools-Deployment-Antomatic Upload做自动更新,但是好像删除文件不会自动。
