B.5. Ubuntu Partitioning Programs

Several varieties of partitioning programs have been adapted by Debian and Ubuntu developers to work on various types of hard disks and computer architectures. Following is a list of the program(s) applicable for your architecture.

partman

Recommended partitioning tool in Ubuntu. This swiss army knife can also resize partitions, create filesystems and assign them to the mountpoints.

cfdisk

A simple-to-use, full-screen disk partitioner for the rest of us; read the cfdisk manual page.

Note that cfdisk doesn't understand FreeBSD partitions at all, and, again, device names may differ as a result.

One of these programs will be run by default when you select Partition a Hard Disk. If the one which is run by default isn't the one you want, quit the partitioner, go to the shell (tty2) by pressing Alt and F2 keys together, and manually type in the name of the program you want to use (and arguments, if any). Then skip the Partition a Hard Disk step in debian-installer and continue to the next step.

If you will be working with more than 20 partitions on your ide disk, you will need to create devices for partitions 21 and beyond. The next step of initializing the partition will fail unless a proper device is present. As an example, here are commands you can use in tty2 or under Execute A Shell to add a device so the 21st partition can be initialized:

# cd /dev
# mknod hda21 b 3 21 
# chgrp disk hda21
# chmod 660 hda21

Booting into the new system will fail unless proper devices are present on the target system. After installing the kernel and modules, execute:

# cd /target/dev
# mknod hda21 b 3 21 
# chgrp disk hda21
# chmod 660 hda21

B.5.1. Partitioning for IA-64

The partman disk partitioner is the default partitioning tool for the installer. It manages the set of partitions and their mount points to ensure that the disks and filesystems is properly configured for a successful installation. It actually uses the parted to do the on-disk partitioning.

EFI Recognized Formats

The IA64 EFI firmware supports two partition table (or disk label) formats, GPT and MS-DOS. MS-DOS, the format typically used on i386 PCs, is no longer recommended for IA64 systems. Although the installer also provides the cfdisk, you should only use the parted because only it can manage both GPT and MS-DOS tables correctly.

The automatic partitioning recipes for partman allocate an EFI partition as the first partition on the disk. You can also set up the partition under the Guided partitioning from the main menu in a manner similar to setting up a swap partition.

The partman partitioner will handle most disk layouts. For those rare cases where it is necessary to manually set up a disk, you can use the shell as described above and run the parted utility directly using its command line interface. Assuming that you want to erase your whole disk and create a GPT table and some partitions, then something similar to the following command sequence could be used:

      mklabel gpt
      mkpartfs primary fat 0 50
      mkpartfs primary linux-swap 51 1000
      mkpartfs primary ext2 1001 3000
      set 1 boot on
      print
      quit

This creates a new partition table, and three partitions to be used as an EFI boot partition, swap space, and a root file system. Finally it sets the boot flag on the EFI partition. Partitions are specified in Megabytes, with start and end offsets from the beginning of the disk. So, for example, above we created a 1999MB ext2 file system starting at offset 1001MB from the start of the disk. Note that formatting swap space with parted can take a few minutes to complete, as it scans the partition for bad blocks.

B.5.2. Boot Loader Partition Requirements

ELILO, the ia64 boot loader, requires a partition containing a FAT file system with the boot flag set. The partition must be big enough to hold the boot loader and any kernels or RAMdisks you may wish to boot. A minimum size would be about 20MB, but if you expect to run with multiple kernels, then 128MB might be a better size.

The EFI Boot Manager and the EFI Shell fully support the GPT table so the boot partition does not necessarily have to be the first partition or even on the same disk. This is convenient if you should forget to allocate the partition and only find out after you have formatted the other partitions on your disk(s). The partman partitioner checks for an EFI partition at the same time it checks for a properly set up root partition. This gives you an opportunity to correct the disk layout before the package install begins. The easiest way to correct this omission is to shrink the last partition of the disk to make enough free space for adding an EFI partition.

It is strongly recommended that you allocate the EFI boot partition on the same disk as the root filesystem.

B.5.3. EFI Diagnostic Partitions

The EFI firmware is significantly more sophisticated than the usual BIOS seen on most x86 PCs. Some system vendors take advantage of the ability of the EFI to access files and run programs from a hard disk filesystem to store diagnostics and EFI based system management utilities on the hard disk. This is a separate FAT format filesystem on the system disk. Consult the system documentation and accessories that come with the system for details. The easiest time to set up a diagnostics partition is at the same time you set up the EFI boot partition.