第二阶段需要完成的5个实验分别在【3/4/5/6/8】5个章节,必须按指导书【要求的文件名】添加实验报告后才会通过测试。
第二阶段将于11月10日截止,请同学们记得提交实验
git add ${YOUR_MODIFIED_FILES} (generally git add . will work) git commit -m"Your commit message" git push origin ch<Number>
一般来说,在项目根目录下执行或者在 os 目录下执行都可以,但要注意,在某个子目录下执行 git add . 操作时,git 只会将当前目录以及当前目录的子目录下的文件加到暂存区,请确保 git add 上了所有你所修改的文件
推荐看一下 教程 学习 git 的基本用法
参考实验指导书 grading 一节,
这个命令会 clone 评测脚本仓库到项目目录的 ci-user 文件夹,以及用户程序测例程序到项目目录的 ci-user/user 文件夹,切换到被测分支,
cd ci-user && make test CHAPTER=$ID
即可进行本地测试
(本地测试的过程与同学向 GitHub 远程仓库提交之后触发的 action 评测流程基本是一致的,通过本地测试即可排查错误,建议在提交评测之前先进行本地自测。
注意:评测脚本只会复写两个实验同学不应修改的文件,可以
git restore os/Makefile git restore os/build.rs
复原。
我们默认晋级第二阶段的同学有一定的 git 知识,没有在指导书里再额外说明这些修改
优先考虑 QEMU 版本问题,见指导书 QEMU 一节的说明 ,我们推荐使用 QEMU 7.0.0 版本进行实验(可能需要大家手动编译一个 QEMU)
可能是由于 hash 值不一致导致的误判
请优先检查自己的代码输出,确认输出无误后,可以尝试删除 ci-user 目录 (`rm -rf ci-user`), 重新 git clone 拉取后重新进行评测
请参照 https://opencamp.cn/os2edu/bbs/1382 第19问
每个阶段结束后需要写总结报告,第二阶段需要完成第一、二阶段的blog。
总结报告和每个实验的实验报告是两回事,都需要完成。
1. 如果 Actions 中显示通过或 Deply to pages 失败:
打开自己仓库 ( github.com/LearningOS/2024a-rcore-XXXX ) 点击 【Sync fork】,然后点 【Update branch】,即可自动 merge 修复模板仓库。之后还需要自己提交一个新的 commit 覆盖掉 merge 的提交。
2. 如果 Actions 中 basic-test 阶段失败:
检查是否有实验报告文件 reports/lab1.md,或者本地使用 README.md 提供的 Grading 方法测试
比较早从 template-2024a-rcore fork 仓库的同学,其代码仓库中的评测脚本可能带上了 ch7 的评测与分数统计脚本(此问题在最新的 template 仓库中已经被修复),故提交评测后的统计分数可能算上了 ch7 的。
这些“多出来”的分数已经被助教团队修正,所以少数同学的 ch7 分支与 gh-pages 分支可能会有额外的提交或 sync fork 操作。
【再次提醒】:本次训练营要求完成 ch [3,4,5,6,8] ,每个 chapter 100分,总分 500分