next up previous contents index
Next: 2.3.4 Creating the swap Up: 2.3 Installing the Linux Previous: 2.3.2 Drives and partitions

2.3.3 Creating Linux partitions

 

   

Now you are ready to create Linux partitions with the fdisk command. As described in Section 2.2.3, in general you will need to create at least one partition for the Linux software itself, and another partition for swap space.

After booting the installation media, run fdisk by typing

fdisk

where is the Linux device name of the drive you plan to add partitions to (see Table 2.1). For instance, if you want to run fdisk on the first SCSI disk in your system, use the command fdisk /dev/sda. /dev/hda (the first IDE drive) is the default if you don't specify one.

If you are creating Linux partitions on more than one drive, run fdisk once for each drive.

# fdisk /dev/hda

Command (m for help):

Here fdisk is waiting for a command; you can type m to get a list of options.

Command (m for help): m
Command action
a toggle a bootable flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
p print the partition table
q quit without saving changes
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help):

The n command is used to create a new partition. Most of the other options you won't need to worry about. To quit fdisk without saving any changes, use the q command. To quit fdisk and write the changes to the partition table to disk, use the w command.

The first thing you should do is display your current partition table and write the information down, for later reference. Use the p command.

Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes

   Device Boot  Begin   Start     End  Blocks   Id  System 
/dev/hda1   *       1       1     203   61693    6  DOS 16-bit >=32M
Command (m for help):

In this example, we have a single MS-DOS partition on /dev/hda1, which is 61693 blocks (about 60 megs).gif This partition starts at cylinder number 1, and ends on cylinder 203. We have a total of 683 cylinders in this disk; so there are 480 cylinders left to create Linux partitions on.

To create a new partition, use the n command. In this example, we'll create two primary partitions (/dev/hda2 and /dev/hda3) for Linux.

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Here, fdisk is asking the type of the partition to create: extended or primary. In our example, we're creating only primary partitions, so we choose p.

Partition number (1-4):

fdisk will then ask for the number of the partition to create; since partition 1 is already used, our first Linux partition will be number 2.

Partition number (1-4): 2
First cylinder (204-683):

Now enter the starting cylinder number of the partition. Since cylinders 204 through 683 are unused, we'll use the first available one (numbered 204). There's no reason to leave empty space between partitions.

First cylinder (204-683): 204
Last cylinder or +size or +sizeM or +sizeK (204-683):

fdisk is asking for the size of the partition to create. We can either specify an ending cylinder number, or a size in bytes, kilobytes, or megabytes. Since we want our partition to be 80 megs in size, we specify +80M. When specifying a partition size in this way, fdisk will round the actual partition size to the nearest number of cylinders.

Last cylinder or +size or +sizeM or +sizeK (204-683): +80M

Warning: Linux cannot currently use 33090 sectors of this partition

If you see a warning message such as this, it can be ignored. fdisk prints the warning because it's an older program, and dates before the time that Linux partitions were allowed to be larger than 64 megabytes.

Now we're ready to create our second Linux partition. For sake of demonstration, we'll create it with a size of 10 megabytes.

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or +size or +sizeM or +sizeK (474-683): +10M

At last, we'll display the partition table. Again, write down all of this information---especially the block sizes of your new partitions. You'll need to know the sizes of the partitions when creating filesystems, later. Also, verify that none of your partitions overlap.

Command (m for help): p

Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes

   Device Boot  Begin   Start     End  Blocks   Id  System 
/dev/hda1   *       1       1     203   61693    6  DOS 16-bit >=32M 
/dev/hda2         204     204     473   82080   81  Linux/MINIX 
/dev/hda3         474     474     507   10336   81  Linux/MINIX

As you can see, /dev/hda2 is now a partition of size 82080 blocks (which corresponds to about 80 megabytes), and /dev/hda3 is 10336 blocks (about 10 megs).

Note that many distributions (such as Slackware) require you to use the t command in fdisk to change the type of the swap partition to ``Linux swap'', which is usually numbered 82. You can use the L command to print a list of known partition type codes, and then use t to set the type of the swap partition to that which corresponds to ``Linux swap''.

In this way, the installation software will be able to automatically find your swap partitions based on type. If the installation software doesn't seem to recognize your swap partition, you might want to re-run fdisk and use the t command on the partition in question.

In the example above, the remaining cylinders on the disk (numbered 508 to 683) are unused. You may wish to leave unused space on the disk, in case you wish to create additional partitions later.

Finally, we use the w command to write the changes to disk and exit fdisk.

Command (m for help): w

#

Keep in mind that none of the changes you make while running fdisk will take effect until you give the w command, so you can toy with different configurations and save them when you're done. Also, if you want to quit fdisk at any time without saving the changes, use the q command. Remember that you shouldn't modify partitions for operating systems other than Linux with the Linux fdisk program.

Remember that you may not be able to boot Linux from a partition using cylinders numbered over 1023. Therefore, you should try to create your Linux root partition within the sub-1024 cylinder range. Again, if this is impossible, you can simply boot Linux from floppy.

Some Linux distributions require you to reboot the system after running fdisk. This is to allow the changes to the partition table to take effect before installing the software. Newer versions of fdisk automatically update the partition information in the kernel, so rebooting isn't necessary. To be on the safe side, after running fdisk you should reboot the installation media, as before, before proceeding.

   



next up previous contents index
Next: 2.3.4 Creating the swap Up: 2.3 Installing the Linux Previous: 2.3.2 Drives and partitions



Matt Welsh
mdw@sunsite.unc.edu