mirror of
https://github.com/RGBCube/serenity
synced 2025-10-15 07:02:06 +00:00

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"
15 lines
369 B
CMake
15 lines
369 B
CMake
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)
|