mirror of
https://github.com/LearningOS/rust-based-os-comp2022.git
synced 2026-05-08 23:01:31 +08:00
update guide for github classroom
This commit is contained in:
@@ -23,6 +23,24 @@ OS 环境配置
|
||||
|
||||
Windows10 用户可以通过系统内置的 **WSL2** 虚拟机(请不要使用 WSL1)来安装 Ubuntu 18.04 / 20.04 。读者请自行在互联网上搜索相关安装教程,或 `适用于 Linux 的 Windows 子系统安装指南 (Windows 10) <https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package>`_ 。
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
**基于github classroom的开发方式**
|
||||
|
||||
基于github classroom,可方便建立开发用的git repository,并可基于github的 codespace (在线版ubuntu +vscode)在线开发使用。整个开发环境仅仅需要一个网络浏览器。
|
||||
|
||||
1. 在网络浏览器中用自己的 github id 登录 github.com
|
||||
2. 接收 `第一个实验练习 setup-env-run-os1 的github classroom在线邀请 <https://classroom.github.com/a/hnoWuKGF>`_ ,根据提示一路选择OK即可。
|
||||
3. 完成第二步后,你的第一个实验练习 setup-env-run-os1 的 github repository 会被自动建立好,点击此github repository的链接,就可看到你要完成的第一个实验了。
|
||||
4. 在你的第一个实验练习的网页的中上部可以看到一个醒目的 `code` 绿色按钮,点击后,可以进一步看到 `codespace` 标签和醒目的 `create codesapce on main` 绿色按钮。请点击这个绿色按钮,就可以进入到在线的ubuntu +vscode环境中
|
||||
5. 再按照下面的环境安装提示在vscode的 `console` 中安装配置开发环境:rustc,qemu等工具。
|
||||
6. **重要:** 在vscode的 `console` 中执行 `make setupclassroom` (该命令仅执行一次)配置githubclassroom 自动评分功能。
|
||||
7. 然后就可以基于在线vscode进行开发、运行、提交等完整的实验过程了。
|
||||
|
||||
上述的3,4,5步不是必须的,你也可以线下本地开发。
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
**Docker 开发环境**
|
||||
@@ -188,8 +206,9 @@ Qemu 模拟器安装
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
cd rust-based-os-comp2022
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
我们先运行不需要处理用户代码的裸机操作系统 ``os1`` :
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了编号。
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,14 +37,13 @@
|
||||
上述的3,4,5步不是必须的,你也可以线下本地开发。
|
||||
|
||||
|
||||
本章我们引入了用户程序。为了将内核与应用解耦,我们将二者分成了两个仓库,分别是存放内核程序的 ``rCore-Tutorial-Code-20xxx`` (下称代码仓库,最后几位 x 表示学期)与存放用户程序的 ``rCore-Tutorial-Test-20xxx`` (下称测例仓库)。 你首先需要进入代码仓库文件夹并 clone 用户程序仓库(如果已经执行过该步骤则不需要再重复执行):
|
||||
本章我们引入了用户程序。
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022
|
||||
|
||||
上面的指令会将测例仓库克隆到代码仓库下并命名为 ``user`` ,注意 ``/user`` 在代码仓库的 ``.gitignore`` 文件中,因此不会出现 ``.git`` 文件夹嵌套的问题,并且你在代码仓库进行 checkout 操作时也不会影响测例仓库的内容。
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
在 qemu 模拟器上运行本章代码:
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
在 qemu 模拟器上运行 `lab1(os3)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os3-ref>`_ :
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -34,7 +34,9 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
|
||||
在 qemu 模拟器上运行 `lab2(os4)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os4-ref>`_ :
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -41,10 +41,8 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
请仿照ch4的做法将代码在本地更新并push到自己的实验仓库中。
|
||||
|
||||
注意:user仓库有对ch5的测例更新,请重新clone或者使用git pull等获取。
|
||||
|
||||
在 qemu 模拟器上运行`lab3(os5)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os5-ref>`_ :
|
||||
|
||||
|
||||
@@ -32,7 +32,9 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
|
||||
在 qemu 模拟器上运行本章代码参考框架:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
|
||||
在 qemu 模拟器上运行 `os7参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os7-ref>`_ :
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -107,8 +107,8 @@
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
记得更新测例仓库的代码。
|
||||
|
||||
在 qemu 模拟器上运行本章代码 `lab5(os8)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os8-ref>`_ :
|
||||
|
||||
|
||||
Reference in New Issue
Block a user