mirror of
https://github.com/LearningOS/rust-based-os-comp2022.git
synced 2026-02-08 04:43:27 +08:00
udpate guide
This commit is contained in:
@@ -222,12 +222,28 @@ Qemu 模拟器安装
|
||||
试运行 rCore-Tutorial
|
||||
------------------------------------------------------------
|
||||
|
||||
基于Github Classroom 模式
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022
|
||||
$ make setupclassroom //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
$ git clone ``Github-Classroom帮你生成的某个OS实验的仓库``
|
||||
$ cd ``刚克隆的本地某个OS实验的仓库``
|
||||
$ make setupclassroom_``实验编号`` //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。实验编号是与某个实验匹配的编号
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
|
||||
我们先运行不需要处理用户代码的裸机操作系统 ``os1`` :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -61,11 +61,24 @@
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
获取本章代码:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone ``gitaddr of github-classroom-build-lab0-0``
|
||||
$ cd ``github-classroom-build-lab0-0``
|
||||
$ make setupclassroom_test1 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
运行本章代码,并设置日志级别为 ``TRACE``:
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
3. 完成第二步后,你的第二个实验练习的 github repository 会被自动建立好,点击此github repository的链接,就可看到你要完成的第一个实验了。
|
||||
4. 在你的第二个实验练习的网页的中上部可以看到一个醒目的 `code` 绿色按钮,点击后,可以进一步看到 `codespace` 标签和醒目的 `create codesapce on main` 绿色按钮。请点击这个绿色按钮,就可以进入到在线的ubuntu +vscode环境中
|
||||
5. 再按照下面的环境安装提示在vscode的 `console` 中安装配置开发环境:rustc,qemu等工具。注:也可在vscode的 `console` 中执行 ``make codespaces_setenv`` 来自动安装配置开发环境(执行``sudo``需要root权限,仅需要执行一次)。
|
||||
6. 在vscode的 `console` 中执行 `make setupclassroom_test2` (该命令仅执行一次)配置githubclassroom 自动评分功能。
|
||||
6. 在vscode的 `console` 中执行 `make setupclassroom_test2` (该命令仅执行一次)配置githubclassroom 自动评分功能,以后一般就不用执行了,除非 ``.github/workflows/classroom.yml`` 发生了变化。
|
||||
7. 然后就可以基于在线vscode进行开发、运行、提交等完整的实验过程了。
|
||||
|
||||
上述的3,4,5步不是必须的,你也可以线下本地开发。
|
||||
@@ -40,12 +40,25 @@
|
||||
|
||||
本章我们引入了用户程序。
|
||||
|
||||
获取本章代码:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022
|
||||
$ git clone ``gitaddr of github-classroom-build-lab0-1``
|
||||
$ cd ``github-classroom-build-lab0-1``
|
||||
$ make setupclassroom_test2 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
在 qemu 模拟器上运行本章代码:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -34,12 +34,25 @@
|
||||
|
||||
注:如果是本地的ubuntu中建立开发环境,可在shell中执行 ``make ubuntu_local_setenv`` 来自动安装配置开发环境(执行``sudo``需要root权限,仅需要执行一次)。
|
||||
|
||||
获取本章代码:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ git clone ``gitaddr of github-classroom-build-lab1``
|
||||
$ cd ``github-classroom-build-lab1``
|
||||
$ make setupclassroom_test3 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
在 qemu 模拟器上运行 `lab1(os3)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os3-ref>`_ :
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -34,10 +34,20 @@
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ git clone ``gitaddr of github-classroom-build-lab2``
|
||||
$ cd ``github-classroom-build-lab2``
|
||||
$ make setupclassroom_test4 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
在 qemu 模拟器上运行 `lab2(os4)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os4-ref>`_ :
|
||||
|
||||
|
||||
@@ -37,22 +37,29 @@
|
||||
实践体验
|
||||
-------------------------------------------
|
||||
|
||||
获取本章代码:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom_test5 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
|
||||
在 qemu 模拟器上运行`lab3(os5)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os5-ref>`_ :
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone ``gitaddr of github-classroom-build-lab3``
|
||||
$ cd ``github-classroom-build-lab3``
|
||||
$ make setupclassroom_test5 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
$ cd os5-ref
|
||||
$ make run
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
待内核初始化完毕之后,将在屏幕上打印可用的应用列表并进入shell程序:
|
||||
|
||||
.. code-block::
|
||||
|
||||
@@ -27,22 +27,29 @@
|
||||
|
||||
注:如果是本地的ubuntu中建立开发环境,可在shell中执行 ``make ubuntu_local_setenv`` 来自动安装配置开发环境(执行``sudo``需要root权限,仅需要执行一次)。
|
||||
|
||||
获取本章代码:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ make setupclassroom_test6 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
|
||||
在 qemu 模拟器上运行本章代码参考框架:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
||||
$ git clone ``gitaddr of github-classroom-build-lab4``
|
||||
$ cd ``github-classroom-build-lab4``
|
||||
$ make setupclassroom_test6 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
$ cd os6-ref
|
||||
$ make run
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
内核初始化完成之后就会进入shell程序,在这里我们运行一下本章的测例 ``ch6b_filetest_simple`` :
|
||||
|
||||
.. code-block::
|
||||
|
||||
@@ -19,6 +19,16 @@
|
||||
$ cd rust-based-os-comp2022/
|
||||
//$ make setupclassroom //注意:在本章不需要做这一步,因为这不是一个作业。(这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。)
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
在 qemu 模拟器上运行 `os7参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os7-ref>`_ :
|
||||
|
||||
|
||||
@@ -106,11 +106,21 @@
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/LearningOS/rust-based-os-comp2022.git
|
||||
$ cd rust-based-os-comp2022/
|
||||
$ git clone ``gitaddr of github-classroom-build-lab5``
|
||||
$ cd ``github-classroom-build-lab5``
|
||||
$ make setupclassroom_test8 //注意:这一步很重要,是用于github classroom自动评测你的工作。这一步只需在首次克隆项目仓库时执行一次,以后一般就不用执行了,除非 .github/workflows/classroom.yml发生了变化。
|
||||
|
||||
.. note::
|
||||
|
||||
实验名称 :实验编号
|
||||
- lab0-0 : test1
|
||||
- lab0-1:test2
|
||||
- lab1:test3
|
||||
- lab2:test4
|
||||
- lab3:test5
|
||||
- lab4:test6
|
||||
- lab5:test8
|
||||
|
||||
在 qemu 模拟器上运行本章代码 `lab5(os8)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os8-ref>`_ :
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Reference in New Issue
Block a user