Просмотр исходного кода

:doc: 完善创建磁盘镜像的脚本,以及修正对应的文档

fslongjin 2 лет назад
Родитель
Сommit
621e65fede
2 измененных файлов с 33 добавлено и 7 удалено
  1. 22 4
      docs/introduction/build_system.md
  2. 11 3
      tools/create_hdd_image.sh

+ 22 - 4
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连接到虚拟机。
+### 创建磁盘镜像
+
+#### 概述
+
+    使用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将会被启动。   

+ 11 - 3
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/"