# leopard-disk **Repository Path**: leopard-project/leopard-disk ## Basic Information - **Project Name**: leopard-disk - **Description**: disk manager for LeopardOS - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-26 - **Last Updated**: 2026-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # leopard-disk LeopardOS 用户态 GPT/MBR 分区工具(gdisk 式)。 ## 设计红线 - **分区表 = 文件**:直接 open `/dev/` 后按 LBA 偏移 read/write,不新增内核分区 syscall。 - **只依赖内核既有原语**:块设备节点 + LBA 读写 + 重扫 ioctl(`IOPARTSCAN`)。 - **不自己提权**:权限门控将来由内核权限模型(System 密码)负责。 - **原生 XAPI + 裸 syscall**:不用 musl;POSIX 文件 I/O 走 `enter_syscall` 薄封装(xapi 无块设备替代品)。 ## 命令 ``` lpdisk list lpdisk show lpdisk create lpdisk add [--type ef00|8300|8200|8e00] [--name ] lpdisk del lpdisk rescan ``` - `` 形如 `sata0`、`nvme1`、`ide0`(对应 `/dev/`)。 - `create/add/del` 会重写分区表(破坏性),调用前请确认目标磁盘。 - 默认扇区大小 512(QEMU AHCI/IDE 一致;4Kn 后续支持)。 ## 安装 - 二进制:`/apps/system/lpdisk.elf` - 打包:`ninja pack` → `leopard-disk-1.0_1.x86_64.xbps` ## 内核依赖 - 读/写/重扫前的块设备 LBA 读写:内核已具备(`devfs_read/write` 按偏移路由到 `blk_device_read/write`)。 - `rescan` 依赖内核 ioctl `IOPARTSCAN 0x5462`(见 OpenXSKernel `include/ioctl.h` + `driver/fs/vfs/dev.cpp`)。