From 339570a2f3f7a2ff68f61c4011bf2658f1c0b318 Mon Sep 17 00:00:00 2001 From: hwzzy666 Date: Wed, 6 Jul 2022 08:21:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=88=9B=E5=BB=BA=E7=A3=81?= =?UTF-8?q?=E7=9B=98=E3=80=81=E6=8C=82=E8=BD=BD=E7=A3=81=E7=9B=98=E5=8F=8A?= =?UTF-8?q?=E5=8D=B8=E8=BD=BD=E7=A3=81=E7=9B=98=E7=9A=84=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/introduction/build_system.md | 10 +++------- run.sh | 2 ++ tools/create_hdd_image.sh | 12 +++--------- tools/mount_virt_disk.sh | 12 ++++++++---- tools/umount_virt_disk.sh | 5 +++-- 5 files changed, 19 insertions(+), 22 deletions(-) mode change 100644 => 100755 tools/create_hdd_image.sh mode change 100644 => 100755 tools/mount_virt_disk.sh mode change 100644 => 100755 tools/umount_virt_disk.sh diff --git a/docs/introduction/build_system.md b/docs/introduction/build_system.md index 9c2185b7..6f3296a5 100644 --- a/docs/introduction/build_system.md +++ b/docs/introduction/build_system.md @@ -41,10 +41,6 @@ #### 具体操作方法 -    首先,您需要使用`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 +    首先,您需要使用`tools/create_hdd_image.sh`创建一块磁盘镜像文件,该脚本在创建磁盘镜像之后,会自动调用fdisk,您需要在fdisk之中对虚拟磁盘进行初始化。您需要使用fdisk把磁盘的分区表设置为MBR格式,并创建1个分区。具体操作为:输入o、n, 然后按4次回车,直到回到fdisk的默认界面,再输入w即可,按顺序输入,并且,每次输入完成后要按下回车。完成操作后,磁盘镜像`disk.img`将会被创建。 + +    至此,准备工作已经完成,您可以运行`run.sh`,然后DragonOS将会被启动。 \ No newline at end of file diff --git a/run.sh b/run.sh index 6fbfbc42..07a95aa4 100644 --- a/run.sh +++ b/run.sh @@ -93,6 +93,8 @@ cd tools bash m* sudo cp ${root_folder}/bin/user/shell.elf ${root_folder}/bin/disk_mount sudo cp ${root_folder}/bin/user/about.elf ${root_folder}/bin/disk_mount +sudo mkdir ${root_folder}/bin/disk_mount/dev +sudo touch ${root_folder}/bin/disk_mount/dev/keyboard.dev sync bash u* cd .. diff --git a/tools/create_hdd_image.sh b/tools/create_hdd_image.sh old mode 100644 new mode 100755 index f658647c..ef450be0 --- a/tools/create_hdd_image.sh +++ b/tools/create_hdd_image.sh @@ -4,13 +4,7 @@ qemu-img create -f raw disk.img 16M # 再输入w即可 # 按顺序输入,并且,每次输入完成后要按下回车) fdisk disk.img -LOOP_DEVICE=$(sudo losetup -f --show -P disk.img) \ - || exit 1 -# 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/" +echo "Successfully created disk image, please make a FAT32 filesystem on it" +sudo mkdir -p ../bin +sudo cp ./disk.img ../bin/ diff --git a/tools/mount_virt_disk.sh b/tools/mount_virt_disk.sh old mode 100644 new mode 100755 index 7c4b9d23..8a7314ce --- a/tools/mount_virt_disk.sh +++ b/tools/mount_virt_disk.sh @@ -1,4 +1,8 @@ -sudo losetup -P /dev/loop1 --show ../bin/disk.img -lsblk -mkdir -p ../bin/disk_mount/ -sudo mount /dev/loop1p1 ../bin/disk_mount/ \ No newline at end of file +LOOP_DEVICE=$(sudo losetup -f --show -P ../bin/disk.img) \ + || exit 1 + +echo ${LOOP_DEVICE}p1 +sudo mkfs.vfat -F 32 ${LOOP_DEVICE}p1 +mkdir -p ../bin/disk_mount/ +sudo mount ${LOOP_DEVICE}p1 ../bin/disk_mount/ +lsblk \ No newline at end of file diff --git a/tools/umount_virt_disk.sh b/tools/umount_virt_disk.sh old mode 100644 new mode 100755 index bfd31b7c..7b573a96 --- a/tools/umount_virt_disk.sh +++ b/tools/umount_virt_disk.sh @@ -1,3 +1,4 @@ +LOOP_DEVICE=$(lsblk | grep disk_mount) sudo umount -f ../bin/disk_mount/ -# rm -rf ../bin/disk_mount/ -sudo losetup -d /dev/loop1 \ No newline at end of file +sudo losetup -d /dev/${LOOP_DEVICE:2:5} +echo ${LOOP_DEVICE:2:5} \ No newline at end of file