+想要快速体验,请跟随以下步骤:
+
+1. 决定一个你想要体验的架构,如 `x86_64`。 (支持:`x86_64`, `i386`)为了叙述方便,这个架构在下文被指代为`<arch>`
+2. 检查你是否安装了: `qemu-system-<arch>`,`gdb`,`python3`,`telnet`,`gcc`
+3. 运行 `make ARCH=<arch> user` 来编译自带的用户程序
+4. 运行 `make ARCH=<arch> rootfs` 来打包根文件系统镜像。(需要本机系统支持 `dd`,`mkfs.ext2`, `mount -o loop`, `mktemp`)
+5. 运行 `ARCH=<arch> live_debug.sh` 来启动
+
+该脚本自动按照默认的选项构建Lunaix,而后调用 `scripts/qemu.py` 根据配置文件生成QEMU启动参数(配置文件位于`scripts/qemus/`)
+
+由于该脚本的主要用途是方便作者进行调试,所以在QEMU窗口打开后还需要进行以下动作:
+
+1. 使用telnet连接到`localhost:12345`,这里是Lunaix进行标准输入输出所使用的UART映射(QEMU为guest提供UART实现,并将其利用telnet协议重定向到宿主机)
+2. 在GDB窗口中输入`c`然后回车,此时Lunaix开始运行。这样做的目的是允许在QEMU进行模拟前,事先打好感兴趣的断点。
+
+## 5. 运行,分支以及 Issue
+
+### 5.1 代码稳定性
+
+主分支一般是稳定的。因为在大多数情况下,我都会尽量保证本机运行无误后,push到该分支中。所有正在开发的功能请参考当前活跃的Pull Request。
+
+如果主分支的运行出现了此问题,欢迎提issue。请参考[附录3:Issue的提交](#appendix3)
+
+## 6. 调试 Lunaix 内核
+
+除了[附录4:串口GDB远程调试](#appendix4)描述的一种用于实机调试的方式以外。LunaixOS还提供了LunaDBG调试套件。这是一个GDB客户端插件,包含了对GDB原生命令集的一些扩充,主要用于改善与简化内核调试的过程。目前包含以下几个命令:
+
++ `vmrs [pid]` 列举进程`<pid>`的内存区域图(Memory Regions),如果`<pid>`未指定,则默认为正在运行的进程(smp=1)。
++ `proc [pid]` 打印进程`<pid>`的进程控制块状态,如果`<pid>`未指定,则默认为正在运行的进程(smp=1)。
++ `sched <threads | procs> [-l]` 查看调度器信息,接受两个参数:
+ + `threads` 打印所有依然在调度器中有注册的线程
+ + `procs` 打印所有依然在调度器中有注册的进程
+ + 可选开关 `-l` 决定是否以长列表打印(更详细的信息)
+
+该插件可以通过运行以下命令来进行安装:
+
+```shell
+./scripts/gdb/install_lunadbg
+```
+
+## 7. 参考教程
+
+#### 没有!!
+
+本教程以及该操作系统的所有的架构设计与实现**均为原创**。
+
+对此,作者可以保证,该项目是做到了三个 “没有”:
+
++ **没有** 参考任何现行的,关于操作系统开发的,教程或书籍。
++ **没有** 参考任何开源内核的源代码(包括Linux)
++ **没有** 基于任何开源内核的二次开发行为。