DragonOS/docs/introduction/build_system.md
2022-08-17 23:52:55 -04:00

132 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 构建DragonOS
## 从Docker构建推荐
  为减轻配置环境的负担DragonOS发布了一个Docker编译环境便于开发者运行DragonOS。我们强烈建议您采用这种方式来运行DragonOS。
  本节假设以下操作均在Linux下进行。
### 安装Docker
  您可以在docker官网下载安装docker-ce.
> 详细信息请转到: https://docs.docker.com/engine/install/
### 获取DragonOS编译镜像
  当您成功安装了docker之后您可以通过以下命令下载DragonOS的编译镜像
```shell
docker pull dragonos/dragonos-dev:v1.0
```
### 安装qemu虚拟机
  在本节中我们建议您采用命令行安装qemu
```shell
sudo apt install -y qemu qemu-system qemu-kvm
```
  请留意若您的Linux系统是在虚拟机中运行的还请您在您的VMware/Virtual Box虚拟机的处理器设置选项卡中开启Intel VT-x或AMD-V选项否则DragonOS将无法运行。
*在某些Linux发行版的软件仓库中构建的Qemu可能存在不识别命令参数的问题如果遇到这种问题请卸载Qemu并采用编译安装的方式重新安装Qemu*
在该地址下载Qemu源代码 https://download.qemu.org/
解压后进入源代码目录,然后执行下列命令:
```shell
./configure --enable-kvm
make -j 8
sudo make install
```
### 下载DragonOS的源代码
  假设您的计算机上已经安装了git您可以通过以下命令获得DragonOS的最新的源代码
```shell
git clone https://github.com/fslongjin/DragonOS
cd DragonOS
```
### 创建磁盘镜像
  首先您需要使用tools文件夹下的create_hdd_image.sh创建一块虚拟磁盘镜像。您需要在tools文件夹下运行此命令。
```shell
bash create_hdd_image.sh
```
### 运行DragonOS
  如果不出意外的话这将是运行DragonOS的最后一步。您只需要在DragonOS的根目录下方执行以下命令即可运行DragonOS。
```shell
bash run.sh --docker
```
  若输入密码后仍提示权限不足,您可以使用以下命令运行:
```shell
sudo bash run.sh --docker
```
  稍等片刻DragonOS将会被运行。
  在qemu虚拟机被启动后我们需要在控制台输入字母`c`,然后回车。这样,虚拟机就会开始执行。
## 手动搭建开发环境
  若您追求快速的编译速度,以及完整的开发调试支持,且愿意花费半个小时到两个小时的时间来配置开发环境的话,该小节的内容能帮助到您。
### 软件依赖
  您需要编译安装以下软件依赖。他们的源代码可以在对应项目的官方网站上获得。
- grub 2.06 (不必使用sudo权限进行install)
- qemu 6.2.0 (启用所有选项)
  需要注意的是编译安装qemu将会是一件费时费力的工作它可能需要花费你40分钟以上的时间。
  对于以下软件依赖,建议您使用系统自带的包管理器进行安装。
- gcc >= 8.3.0
- xorriso
- fdisk
- make
- VNC Viewer
- gdb
### 编译DragonOS
1. 安装编译及运行环境
2. 进入DragonOS文件夹
3. 输入命令:`make -j 16`即可编译
### 创建磁盘镜像
  首先,您需要使用`sudo`权限运行`tools/create_hdd_image.sh`为DragonOS创建一块磁盘镜像文件。该脚本会自动完成创建磁盘镜像的工作并将其移动到`bin/`目录下。
### 运行DragonOS
  至此准备工作已经完成您可以在DragonOS项目的根目录下输入
```shell
bash run.sh
```
  然后DragonOS将会被启动您可以通过VNC Viewer连接至虚拟机。在qemu虚拟机被启动后我们需要在控制台输入字母`c`,然后回车。这样,虚拟机就会开始执行。