PartitioningTool
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/ue-partitioning-tool
Created: Date(2005-10-31T17:53:09Z) by JaneWeideman
Contributors: JaneWeideman, ColinWatson, MatthewPaulThomas
Packages affected: ubuntu-express, partman-auto, gparted
Summary
Design a partitioning tool for Ubuntu Express, with reference to existing installer code.
Rationale
For automatic partitioning, we would like to share code with the existing installer component (partman). This will be best accomplished by providing it as an installable binary package (in addition to an installer component), so that it can be added to the live seed and used in a standard environment. partman uses debconf progress indicators, so some consideration is required in order to provide a consistent progress bar in the installation tool.
For advanced/interactive partitioning, we will extend an existing partitioning tool. The selection and development of this tool are discussed in GraphicalPartitioningTool. The installer must unmount all hard disk filesystems and deactivate swap before acting on the partition table, or launching an external partition editor.
We only ever attempt to automatically present one partition for resizing, because attempting to resize more than one involves either (a) creating non-contiguous free space or (b) moving partitions around and thus risking breaking existing boot arrangements for the operating systems on those partitions.
Use cases
- A user wants to install Ubuntu onto a new (second) hard disk.
- A user wants to install Edubuntu into unpartitioned space on a hard disk.
- A user has an existing installation of Windows with some free space on that partition, and would like to downsize Windows to make space to install Kubuntu into part of that free space.
Scope
This specification considers only the partitioning component of UbuntuExpress, and the associated user interface issues.
Design
The implementor should feel free to decide on the exact text used in the following dialogs, in consultation with usability experts. Decisions may be influenced by translated text already available elsewhere.
Some effort has been made in the dialogs below to account for languages with non-trivial plural forms (e.g. by not spelling out numbers in English, and by consolidating various possibilities into single dialogs), but the result may not be perfect.
Choosing a disk
This stage will be skipped if only one disk is present.
The disk chooser should make sure enough information is available to allow the user to make an informed decision. For example:
The following hard disks are present: (*) <description of disk>, with 10 GB free space (*) <description of disk>, empty (*) <description of disk>, with 5 GB free space on Windows partition (*) <description of disk>, no free space (*) Specify partitions manually (advanced)
Partitioning the disk
Other systems on this disk
(Appears if other systems detected on the chosen disk)
It looks like the Seagate 18.2 GB hard disk has the following other systems on it already: Mac OS Mac OS X DebianPPC What do you want to do with these systems? ( ) Put Ubuntu alongside, so you choose a system on each startup If you choose this option, you'll need to decide how much space should be reserved for each system. ( ) Erase them all, and replace them with Ubuntu Warning: This will delete all documents, programs, and other files on the disk. [If more than one other system was detected:] ( ) Erase just this one, and replace it with Ubuntu: +-----------------------------+-+ |( ) Mac OS |A| |( ) Mac OS X |:| |( ) DebianPPC |V| +-----------------------------+-+ You will be able to confirm the changes that will be made to your disks before any of these changes are made. [If there is another disk:] To choose another disk, click "Go Back". ( ) Specify partitions manually (advanced)
Partition the disk
(Appears if dual-/multiple-booting)
Once Ubuntu is added to the disk "Seagate HD", there will be 4.9 GB left for documents and other files you add later. How much of this space do you want to allocate for each system? Windows 98: [ 2.4]H GB =====V===== Ubuntu: [ 2.5]H GB =====V===== Total: 4.9 GB
Advanced partitioning
gparted minus its toolbar. Provide a way (possibly the Back button) to commit or undo changes (since gparted is a separate application and we need to commit or undo on exit) and try automatic partitioning again.
Showing progress
The partitioning process should take only a small percentage (10%?) of the total progress bar.
We can accurately estimate time remaining for resizing + partitioning, but we can't accurately estimate time remaining for resizing + partitioning + copying files.
Additionally, we will show progress of individual steps in text next to the progress bar, e.g. "Resizing Windows partition: 40% complete".
Implementation
Code
Data preservation and migration
Outstanding issues
Should partman call gparted when you ask to partition manually?
- - Needs to shut down filesystems etc.
Look at [http://www.google.com/images?q=yast%20partitioning Yast's partitioning tool].
Minimise uses of the word Ubuntu in sentences, to make it easier for derivatives such as Kubuntu, Edubuntu, Impilinux, Guadalinex, etc. to use UbuntuExpress without modifications; see BrandingForDerivatives.