实践过程中遇到的小问题
老版本的Qemu-5.0.0不支持新的代码,需要按实验指导书来更新为qumu-7.0.0,但是需要安装依赖ninja,可以按照https://blog.csdn.net/qq_19707521/article/details/111176909的指导来完成,但是根据本人实测,命令“git clone git://github.com/ninja-build/ninja.git && cd ninja”中的“git:”需要改为“https”才能clone完成。
在 ubuntu上 sudo apt install ninja-build 就可以安装好这个工具了。
老版本的Qemu-5.0.0不支持新的代码,需要按实验指导书来更新为qumu-7.0.0,但是需要安装依赖ninja,可以按照https://blog.csdn.net/qq_19707521/article/details/111176909的指导来完成,但是根据本人实测,命令“git clone git://github.com/ninja-build/ninja.git && cd ninja”中的“git:”需要改为“https”才能clone完成。
第一个实验rustc能装上,rustup装不上,更新apt-get也不行,原来是忘了执行source $HOME/.cargo/

在 lab0-1-run-os2-**** 仓库初始化自动评分功能时,commit 一直显示红色的小叉,报错为
error: cannot find macro `asm` in this scope
需要对 ci-user 目录下的 overwrite.py 文件进行修改,将 git = "https://github.com/rcore-os/riscv" 替换为 git = "https://gitee.com/rcore-os/riscv"
lines = []
with open("../os/Cargo.toml", 'r') as f:
for line in f.readlines():
processed = line.replace(' git = "https://gitee.com/rcore-os/riscv"', ' path = "../ci-user/riscv" ')
lines.append(processed)
with open("../os/Cargo.toml", 'w+') as f:
f.writelines(lines)
在 lab2-os4 实验中,需要注意,内核中定义的 TaskStatus 与 user 中定义的 TaskStatus 是不一致的,需要保证这两个地方一致,否则 task_info 的测试会失败,报错为
Panicked at src/bin/ch3_taskinfo.rs:28, assertion failed: info.status == TaskStatus::Running
rustlings用github在线的,rustlings list 显示的已完成数目不对; stlings watch在重启电脑后一直停止在第二个(是因为没有cd进入rustlings) 看清楚是删rustlings里的exercise 的no done,不是仓库自带的excercise里的no done