From 621e65fede2f1c397e99872c8c4ecd73611c54d8 Mon Sep 17 00:00:00 2001 From: fslongjin Date: Thu, 30 Jun 2022 19:45:56 +0800 Subject: [PATCH] =?UTF-8?q?:doc:=20=E5=AE=8C=E5=96=84=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=A3=81=E7=9B=98=E9=95=9C=E5=83=8F=E7=9A=84=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8A=E4=BF=AE=E6=AD=A3=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/introduction/build_system.md | 26 ++++++++++++++++++++++---- tools/create_hdd_image.sh | 14 +++++++++++--- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/docs/introduction/build_system.md b/docs/introduction/build_system.md index f55e0d14..9c2185b7 100644 --- a/docs/introduction/build_system.md +++ b/docs/introduction/build_system.md @@ -9,7 +9,7 @@ ## 开发环境 -​ 目前,DragonOS在Deepin V20上进行开发。经测试,在Debian bullseye上,可以正常编译、运行。建议使用Docker运行debian镜像进行开发。(后期将会发布开发环境的docker镜像) +​ 目前,DragonOS在Deepin V20上进行开发。经测试,在Debian bullseye上,可以正常编译、运行。建议使用Docker运行debian镜像进行开发。(后期将会发布开发环境的docker镜像) ## 运行环境 @@ -25,8 +25,26 @@ ## 运行DragonOS -​ 在运行DragonOS之前,需要先使用tools目录下的脚本,创建一至少为16MB磁盘镜像(类型选择raw)。并建立MBR分区表,然后将第一个分区格式化为FAT32分区。 +### 安装软件依赖 -​ 在完成以上操作后,将创建的磁盘文件移动至bin文件夹(若不存在,则需要您手动创建),并将其重命名为“disk.img” +​ 在运行DragonOS之前,需要先安装需要先安装上述软件依赖。 -​ 最后,在DragonOS目录下运行 `bash run.sh`脚本,将会完成编译、文件拷贝、内核镜像打包、启动qemu虚拟机的全过程。当qemu虚拟机启动后,即可使用VNC Viewer连接到虚拟机。 \ No newline at end of file +### 创建磁盘镜像 + +#### 概述 + +    使用tools目录下的脚本,创建一至少为16MB磁盘镜像(类型选择raw)。并建立MBR分区表,然后将第一个分区格式化为FAT32分区。 + +​ 在完成以上操作后,将创建的磁盘文件移动至bin文件夹(若不存在,则需要您手动创建),并将其重命名为“disk.img” + +​ 最后,在DragonOS目录下运行 `bash run.sh`脚本,将会完成编译、文件拷贝、内核镜像打包、启动qemu虚拟机的全过程。当qemu虚拟机启动后,即可使用VNC Viewer连接到虚拟机。 + +#### 具体操作方法 + +    首先,您需要使用`tools/create_hdd_image.sh`创建一块磁盘镜像文件,该脚本在创建磁盘镜像之后,会自动调用fdisk,您需要在fdisk之中对虚拟磁盘进行初始化。您需要使用fdisk把磁盘的分区表设置为MBR格式,并创建1个分区。具体操作为:分别输入命令`o`,`n`,`w`。完成操作后,磁盘镜像`disk.img`将会被创建。 + +    随后,您需要将这个`disk.img`磁盘文件移动到bin/文件夹(需要您手动创建)下。 +并在bin文件夹下创建子文件夹disk_mount。 + +    接着,使用`tools/mount_virt_disk.sh`,挂载该磁盘镜像到disk_mount文件夹。然后在disk_mount文件夹中,创建子文件夹dev,并在dev文件夹中创建键盘文件`keyboard.dev` +    至此,准备工作已经完成,您可以运行`run.sh`,然后DragonOS将会被启动。 \ No newline at end of file diff --git a/tools/create_hdd_image.sh b/tools/create_hdd_image.sh index d39b22cd..a238ffdb 100644 --- a/tools/create_hdd_image.sh +++ b/tools/create_hdd_image.sh @@ -1,7 +1,15 @@ echo "Creating virtual disk image..." -qemu-img create -f raw disk.img 16M +# qemu-img create -f raw disk.img 16M +# 输入o m w即可 fdisk disk.img +LOOP_DEVICE=$(sudo losetup -f --show -P disk.img) \ + || exit 1 + sudo losetup -P /dev/loop1 --show disk.img -lsblk -#mkfs.vfat -F 32 /dev/loop1p1 +# lsblk +echo ${LOOP_DEVICE}p1 + +sudo mkfs.vfat -F 32 ${LOOP_DEVICE}p1 +sudo losetup -d ${LOOP_DEVICE} + echo "Successfully created disk image, please make a FAT32 filesystem on it and move it to folder ../bin/"