xref: /DADK/dadk/src/console/rootfs.rs (revision ce26d6757b4911f3f1632cdae52a89574d7e9a67)
1*ce26d675SLoGin use clap::Parser;
2eaa67f3cSLoGin 
3eaa67f3cSLoGin // 定义一个枚举类型 RootFSCommand,表示根文件系统操作命令
4*ce26d675SLoGin #[derive(Debug, Parser, Clone, PartialEq, Eq)]
5eaa67f3cSLoGin pub enum RootFSCommand {
6eaa67f3cSLoGin     /// 创建根文件系统(磁盘镜像)
7*ce26d675SLoGin     Create(CreateCommandParam),
8eaa67f3cSLoGin     /// 删除根文件系统(磁盘镜像)
9eaa67f3cSLoGin     Delete,
10eaa67f3cSLoGin     /// 删除系统根目录(sysroot文件夹)
11eaa67f3cSLoGin     DeleteSysroot,
12eaa67f3cSLoGin     /// 挂载根文件系统(磁盘镜像)
13eaa67f3cSLoGin     Mount,
14eaa67f3cSLoGin     /// 卸载根文件系统(磁盘镜像)
157a97f354SLoGin     Umount,
16*ce26d675SLoGin     /// 输出磁盘镜像的挂载点
17*ce26d675SLoGin     #[clap(name = "show-mountpoint")]
18*ce26d675SLoGin     ShowMountPoint,
19*ce26d675SLoGin     /// 输出磁盘镜像挂载到的loop设备
20*ce26d675SLoGin     ShowLoopDevice,
21*ce26d675SLoGin     /// 检查磁盘镜像文件是否存在
22*ce26d675SLoGin     CheckDiskImageExists,
23*ce26d675SLoGin }
24*ce26d675SLoGin 
25*ce26d675SLoGin #[derive(Debug, Parser, Clone, PartialEq, Eq)]
26*ce26d675SLoGin pub struct CreateCommandParam {
27*ce26d675SLoGin     /// 当磁盘镜像文件存在时,跳过创建
28*ce26d675SLoGin     #[clap(long = "skip-if-exists", default_value = "false")]
29*ce26d675SLoGin     pub skip_if_exists: bool,
30eaa67f3cSLoGin }
31