Browse Source

doc: 用户快速开始指南 (#90)

Signed-off-by: longjin <longjin@DragonOS.org>
LoGin 4 months ago
parent
commit
2c1a697be7

+ 1 - 1
docs/.vuepress/config.js

@@ -48,7 +48,7 @@ export default defineUserConfig({
                     {
                         text: '用户指南',
                         children: [
-                            '/user-manual/README.md',
+                            '/user-manual/quickstart.md',
                             
                         ]
                     }

+ 1 - 1
docs/dev-guide/how-to-write-docs.md

@@ -31,4 +31,4 @@ npm run docs:dev
 
 ### 添加一个新的文档
 
-您创建md之后,需要在`docs/.vitepress/config.js`中添加路由。
+您创建md之后,需要在`docs/.vuepress/config.js`中添加路由。

+ 3 - 85
docs/user-manual/README.md

@@ -1,90 +1,8 @@
 # 用户指南
 
-## 用户程序配置文件模版
-在dadk-config/templates/config/目录下,可以找到用户程序的配置文件模版`userapp_config.toml`
-```toml
-# 用户程序名称
-name = "userapp_config"
 
-# 版本号
-version = "0.2.0"
+本指南将详细介绍DADK的使用方法。
 
-# 用户程序描述信息
-description = ""
+## 目录
 
-# (可选)默认: false 是否只构建一次,如果为true,DADK会在构建成功后,将构建结果缓存起来,下次构建时,直接使用缓存的构建结果
-build-once = false
-
-#  (可选) 默认: false 是否只安装一次,如果为true,DADK会在安装成功后,不再重复安装
-install-once = false
-
-# 目标架构
-# 可选值:"x86_64", "aarch64", "riscv64"
-target-arch = ["x86_64"]
-
-# 任务源
-[task-source]
-
-# 构建类型
-# 可选值:"build-from_source", "install-from-prebuilt"
-type = "build-from-source"
-
-# 构建来源
-# "build_from_source" 可选值:"git", "local", "archive"
-# "install_from_prebuilt" 可选值:"local", "archive"
-source = "git"
-
-# 路径或URL
-source-path = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/test_git.git"
-
-# git标签或分支
-# 注意: branch和revision只能二选一,且source要设置为"git"
-revision = "01cdc56863"
-# branch = "test"
-
-# 构建相关信息
-[build]
-
-# (可选)构建命令
-build-command = "make install"
-
-# (可选)预构建脚本路径
-pre-build = "config/pre_build.sh"
-
-# (可选)构建后脚本路径
-post-build = "config/post_build.sh"
-
-# 安装相关信息
-[install]
-
-# (可选)安装到DragonOS的路径
-in-dragonos-path = "/bin"
-
-# 清除相关信息
-[clean]
-
-# (可选)清除命令
-clean-command = "make clean"
-
-# (可选)依赖项
-# 注意:如果没有依赖项,忽略此项,不允许只留一个[[depends]]
-[[depends]]
-name = "depend1"
-version = "0.1.1"
-
-[[depends]]
-name = "depend2"
-version = "0.1.2"
-
-# (可选)环境变量
-[[envs]]
-key = "PATH"
-value = "/usr/bin"
-
-[[envs]]
-key = "LD_LIBRARY_PATH"
-value = "/usr/lib"
-
-```
-
-TODO
+- [Quick Start - 快速开始!](./quickstart.md)

+ 179 - 0
docs/user-manual/quickstart.md

@@ -0,0 +1,179 @@
+# Quick Start
+
+本指南旨在教您快速上手DADK。
+
+DADK是一个用于管理DragonOS的应用编译打包的工具。您可以通过声明配置文件的方式,
+把您的应用程序打包到DragonOS中。
+
+## 安装
+
+目前,DADK版本与DragonOS的版本是绑定的,一般来说,DragonOS在编译的时候就会帮您安装正确版本的dadk。
+
+如果您需要手动安装,可以在dragonos的`user/Makefile`中找到匹配的dadk版本。
+
+
+```
+MIN_DADK_VERSION = 0.2.0
+```
+
+::: warning 注意兼容性变化
+请注意,由于dadk重构的原因,0.2.0版本之前的dadk版本将不再兼容。这意味着您升级到0.2.0版本后,将无法再使用它去编译旧版本的DragonOS(可以降级)。
+:::
+
+您可以通过以下命令安装dadk:
+```shell
+cargo install --git https://git.mirrors.dragonos.org.cn/DragonOS-Community/DADK.git --tag <版本号>
+```
+
+比如,对于0.2.0版本,您可以使用以下命令安装: `(注意版本号前面有个v)`
+```shell
+cargo install --git https://git.mirrors.dragonos.org.cn/DragonOS-Community/DADK.git --tag v0.2.0
+```
+
+## 打包你的第一个应用
+
+在安装完成后,您可以使用dadk来打包您的第一个应用。
+
+使用以下命令进入到DragonOS仓库的`user/apps/`目录:
+
+```shell
+cd DragonOS/user/apps/
+```
+
+### 编写代码
+
+然后,为你的应用创建一个目录:
+```shell
+mkdir myapp
+cd myapp
+```
+
+接下来,在该目录下创建一个`main.c`文件:
+
+```shell
+touch main.c
+```
+
+并向`main.c`写入以下内容:
+
+```c
+
+#include <stdio.h>
+
+int main()
+{
+    printf("Hello World!\n");
+    return 0;
+}
+
+```
+
+然后,在该目录下创建一个`Makefile`文件:
+
+```shell
+touch Makefile
+```
+
+并向`Makefile`写入以下内容:
+```Makefile
+ifeq ($(ARCH), x86_64)
+	CROSS_COMPILE=x86_64-linux-musl-
+else ifeq ($(ARCH), riscv64)
+	CROSS_COMPILE=riscv64-linux-musl-
+endif
+
+CC=$(CROSS_COMPILE)gcc
+
+.PHONY: all
+all: main.c
+	$(CC) -static -o helloworld main.c
+
+.PHONY: install clean
+install: all
+	mv helloworld $(DADK_CURRENT_BUILD_DIR)/helloworld
+
+clean:
+	rm helloworld *.o
+
+```
+
+### 编写dadk用户程序配置文件
+
+最后,在DragonOS仓库的`user/dadk/config`目录下创建一个`myapp.toml`文件:
+
+```shell
+cd DragonOS/user/dadk/config
+touch myapp.toml
+```
+
+在`myapp.toml`文件中写入以下内容,用于描述你的应用的构建方式:
+
+```toml
+# 用户程序名称
+name = "helloworld"
+# 版本号
+version = "0.1.0"
+# 用户程序描述信息
+description = "一个用来测试helloworld的app"
+
+# (可选)默认: false 是否只构建一次,如果为true,DADK会在构建成功后,将构建结果缓存起来,下次构建时,直接使用缓存的构建结果
+build-once = false
+#  (可选) 默认: false 是否只安装一次,如果为true,DADK会在安装成功后,不再重复安装
+install-once = false
+# 目标架构
+# 可选值:"x86_64", "aarch64", "riscv64"
+target-arch = ["x86_64"]
+
+# 任务源
+[task-source]
+# 构建类型
+# 可选值:"build-from_source", "install-from-prebuilt"
+type = "build-from-source"
+# 构建来源
+# "build_from_source" 可选值:"git", "local", "archive"
+# "install_from_prebuilt" 可选值:"local", "archive"
+source = "local"
+# 路径或URL
+source-path = "user/apps/helloworld"
+
+# 构建相关信息
+[build]
+# (可选)构建命令
+build-command = "make install"
+
+# 安装相关信息
+[install]
+# (可选)安装到DragonOS的路径
+in-dragonos-path = "/bin"
+
+# clean相关信息
+[clean]
+# (可选)清除命令
+clean-command = "make clean"
+```
+上面这就是一个简单的dadk应用的配置文件。完整的模版请见:[userapp_config.toml](https://github.com/DragonOS-Community/DADK/blob/main/dadk-config/templates/config/userapp_config.toml)
+
+### 运行DragonOS
+
+在完成上述步骤后,您可以使用以下命令来运行DragonOS:
+
+```shell
+make run
+```
+
+更详细的运行命令请参考:[构建DragonOS](https://docs.dragonos.org.cn/introduction/build_system.html#build-system-command)
+
+### 测试你的应用
+
+在DragonOS启动后,您可以在终端中输入以下命令来测试您的应用:
+
+```shell
+cd /bin
+./helloworld
+```
+
+如果一切正常,您应该会看到以下输出:
+
+```text
+Hello World!
+```