调整创建磁盘、挂载磁盘及卸载磁盘的脚本

This commit is contained in:
hwzzy666 2022-07-06 08:21:46 +08:00
parent 9bf52cf2ab
commit 339570a2f3
5 changed files with 19 additions and 22 deletions

View File

@ -41,10 +41,6 @@
#### 具体操作方法
    首先,您需要使用`tools/create_hdd_image.sh`创建一块磁盘镜像文件该脚本在创建磁盘镜像之后会自动调用fdisk您需要在fdisk之中对虚拟磁盘进行初始化。您需要使用fdisk把磁盘的分区表设置为MBR格式并创建1个分区。具体操作为分别输入命令`o`,`n`,`w`。完成操作后,磁盘镜像`disk.img`将会被创建。
    首先,您需要使用`tools/create_hdd_image.sh`创建一块磁盘镜像文件该脚本在创建磁盘镜像之后会自动调用fdisk您需要在fdisk之中对虚拟磁盘进行初始化。您需要使用fdisk把磁盘的分区表设置为MBR格式并创建1个分区。具体操作为输入o、n, 然后按4次回车直到回到fdisk的默认界面再输入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将会被启动。

2
run.sh
View File

@ -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 ..

12
tools/create_hdd_image.sh Normal file → Executable file
View File

@ -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/

10
tools/mount_virt_disk.sh Normal file → Executable file
View File

@ -1,4 +1,8 @@
sudo losetup -P /dev/loop1 --show ../bin/disk.img
lsblk
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 /dev/loop1p1 ../bin/disk_mount/
sudo mount ${LOOP_DEVICE}p1 ../bin/disk_mount/
lsblk

5
tools/umount_virt_disk.sh Normal file → Executable file
View File

@ -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
sudo losetup -d /dev/${LOOP_DEVICE:2:5}
echo ${LOOP_DEVICE:2:5}