GNU Parted

GNU Parted is a library and frontend designed for working with partitions and file systems achieving maximum portability, stability and compatiblity (the latter one of which is very important due to other software's buggy implementations).

GNU Parted ships its own CLI frontend, 'parted', and is used by many distribution's installers. GUI frontends include GParted and QtParted.

Google Summer of Code 2006 - Project Ideas


Students may begin submitting their proposals beginning May 1st at the Google SoC website. If none of the following ideas do not interest you, feel free to propose any other ideas that you think will add some value to Parted. Please direct proposals and questions to Leslie Polzer.

Important notice: you do NOT need to be an expert in partitioning and file systems.

Please see the following interesting texts from the Drupal project for helpful general advice on the Summer of Code:


Real partition ID support

GNU Parted's support of partition type identificators needs to be rewritten. This task involves enabling the use of partition ID's to libparted. A well-styled integration into the label/partition-id/filesystem framework is required. Please see this mailing list thread for more information.

Extending ext3 support

Add support for the ext3 extended attributes feature and support for the creation of ext3 file systems.

Support for more filesystems

Add support for additional file systems to libparted. Priority file systems include Microsoft NTFS (libntfs may be used), SGI XFS and Sun's new file system, ZFS. Support for BSD file systems is also desired. Additionally, support for SCO BFS, Minix and BeFS may be implemented, but those do not have priority.

Partition guessing

Assimilate the functionality of the gpart program by making libparted's file system probes return a probability indicator built upon gpart's guessing code.

Porting to other platforms

Port both libparted and the parted frontend to currently unsupported platforms, namely Solaris and the BSDs (FreeBSD support is already on the way!).

Frontend enhancements

The current sample implementation and frontend to libparted, 'parted', is open to several enhancements, which include, but are not limited to:

The student will have to select a number of tasks here.