1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 21:27:36 +00:00

PartitionEditor: Add the beginnings of a partition editor :^)

This adds a new application PartitionEditor which will eventually be
used to create and edit partition tables. Since LibPartition does not
know how to write partition tables yet, it is currently read-only.

Devices are discovered by scanning /dev for block device files.
Since block devices are chmod 600, PartitionEditor be must run as root.

By default Serenity uses the entire disk for the ext2 filesystem
without a partition table. This isn't useful for testing as the
partition list for the default disk will be empty. To test properly,
I created a few disk images using various partitioning schemes
(MBR, EBR, and GPT) and attached them using the following command:

export SERENITY_EXTRA_QEMU_ARGS="
  -drive file=/path/to/mbr.img,format=raw,index=1,media=disk
  -drive file=/path/to/ebr.img,format=raw,index=2,media=disk
  -drive file=/path/to/gpt.img,format=raw,index=3,media=disk"
This commit is contained in:
Samuel Bowman 2022-06-27 22:48:30 -04:00 committed by Linus Groh
parent 7b8088c78d
commit 7a8953a833
7 changed files with 256 additions and 0 deletions

View file

@ -0,0 +1,15 @@
serenity_component(
PartitionEditor
TARGETS PartitionEditor
)
compile_gml(PartitionEditorWindow.gml PartitionEditorWindowGML.h partition_editor_window_gml)
set(SOURCES
main.cpp
PartitionEditorWindowGML.h
PartitionModel.cpp
)
serenity_app(PartitionEditor ICON app-space-analyzer)
target_link_libraries(PartitionEditor LibMain LibGUI LibPartition)