Author: Stefan Hundhammer (sh@suse.de)
Updated: Dec 16, 1999 - see the change log for details.
This document is the specification for a new YaST2 partitioner module.
This new partitioner is intended for experts who know what they are doing. Novice users should stick with the automatic mode that will still be available.
Being fool-proof is not one of the primary goals for this expert partitioner. But providing the required functionality is. So excessive input and logic validations will be sacrificed for the sake of completeness. If the user decides it is OK the way he specified the partitioner will not question that.
At least the first version of this partitioner will be limited to the i386 PC platform. It will not support BSD disk labels or any other platform specific partitioning schemes.
This section describes the functionality required for any partitioner regardless of its respective user interface.
(i386 specific)
Any of the following partition types can be created:
This is subject so the following restrictions:
For primary partitions and the extended partition, the partition name (e.g. /dev/hda1 - /dev/hda2) needs to be specified.
In order to stay compatible with other operating systems on the same machine, those partition names cannot be selected automatically: PC technology does not require the table entries to be sorted according to starting cylinder etc. - they might as well be mixed at random, and other OSes might rely on one of the slots to contain the address (i.e. the start and end cylinders) of one of their partitions.
For logical partitions, the partition name will be automatically generated: There is no central table for logical partitions within the extended partition. Rather, one logical partition points to the next one (or, more precisely, wraps the next one). So always the next free slot will be used.
For all types of partitions, the following values need to be specified:
Start and end cylinder values are subject to the following restrictions:
(i386 specific)
The user can delete a partition subject to the following restrictions:
Since the underlying 'fdisk' program does not provide a facility to actually modify a partition's cylinder boundaries other than deleting and re-creating a partition, this "modify" facility cannot offer modification of all of the "create" facility's fields, namely the start and end cylinders.
The following values can be changed:
This function abandons all modifications to the original partitioning on the hard disk(s) and re-reads the original partition tables.
This will do the same as the novice mode automatic partitioning. The resulting partitioning scheme can be used as a basis for further customization.
The YaST1 partitioner provided all of the required and most of the optional functionality described above.
YaST1 used to have a sequence of screens like this:
A lot of confusion can be avoided if the new partitioner does not require the user to go through a sequence of screens like this, manually choosing when to terminate that process and continue with the installation. Avoiding this is a design goal.
Providing a better overview of the system's hard disks and their respective partitions (and any free space left) is another. It is much easier to have all information on one screen when trying to decide which disk should hold what part of the Linux system to be installed than switching back and forth between several screens.
Users should not be required to make notes on paper during that process just to keep track of partitions on several disks and their respective sizes.
Plus, many low-end PC systems only have one single hard disk to begin with. So step (1) above most of the times is unnecessary but still required here since this is the only exit from that screen sequence loop.
And this category of users will not be overloaded with information in one single dialog because this dialog of course will contain information about their one single hard disk.
All hard disks and all partitions on them will be displayed on the screen in a scrolled window.
Each hard disk will be displayed in one line including:
Each partition will be displayed in one line including:
Free space between partitions or at the end of a disk will be displayed along with the partitions. This will include:
Partition and segments of free space will be displayed sorted by (a) hard disk and (b) start cylinder.
Hard disks, primary, extended and logical partitions and free space should be indented to reflect hierarchy they have. Thus it would be much easier to explain to the not-yet-so-expert user the connections between extended and logical partitions and why he cannot simply delete an extended partition as long as there are still logical partitions within it.
The tradeoff, however, is screen space. This indentation might eat up just the screen space necessary to avoid horizontal scrolling (which makes operating this screen very annoying). But if possible with a reasonable amount of work, this indentation should be done.
Before any action (create, delete, ...) can be performed, a list entry (i.e. a hard disk, a partition or a segment of free space) has to be selected. Depending on that selection, the user can perform actions:
Modifying hard disks, extended partitions or free space does not make any sense. Neither does deleting hard disks (automatic eject?) or free space.
"Default Partitioning" and "Re-Read Partition Table" are independent of any selection. They may be performed at any time.
For each of the required and optional functions, a push button will be provided:
The "create" button will open a popup dialog window to select a partition type (primary, extended or logical). This popup window includes an "OK" button and a "Cancel" button.
Upon making a selection and pressing the "OK" button, another dialog window will be popped up with the following fields:
The user will be prompted for confirmation when activating this function.
This opens the same dialog like the "create" function's second popup dialog with the fields for partition name, start cylinder, and end cylinder disabled. Those values will be displayed, however.
The user will be prompted for confirmation when activating this function.
If the partitioning has been modified in any way, the user will be prompted for confirmation when activating this function since this will essentially abandon all changes.
Partition your hard disk: /dev/hda 1-1115 8.5 GB SEAGATE ST48012 /dev/hda1 1- 65 509.8 MB FAT16 /dev/hda2 66- 150 666.7 MB NTFS 151- 300 1.1 GB [free] /dev/hda3 301-1024 5.5 GB Extended /dev/hda5 301- 302 7.8 MB F Linux ext2 /boot /dev/hda6 303- 318 128.0 MB F Linux Swap /dev/hda7 319-1024 5.4 GB F Linux ext2 / 1025-1115 713.0 MB [free] /dev/hdb 1-1115 8.5 GB SEAGATE ST48012 /dev/hdb1 1- 260 2.0 GB NTFS /dev/hdb2 261-1115 6.5 GB Extended /dev/hdb5 261- 276 128.0 MB F Linux Swap /dev/hdb6 277-1115 6.4 GB F Linux ext2 /work [Create] [Delete] [Modify] [Default] [Re-Read]
Create new primary partition Name: [/dev/hda1] Start Cyl: [____1] End Cyl: [__512] (99/+99/+99M) Type: Linux ext2 Linux Swap Mount Point: [/_________] [ ] Format this partition Inode Density: [______] [OK] [Cancel]
Create new primary partition Name Start Cyl End Cyl Type Mount Point Format Inode Dens. [hda1] [____1] [__512] Linux ext2 [/________] [ ] [_______] Linux swap [OK] [Cancel]
Dec 16, 1999 | sh@suse.de |
|