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
wheredrive
![]()
If you are creating Linux partitions on more than one drive, run fdisk once for each drive.
#fdisk /dev/hdaHere fdisk is waiting for a command; you can type m to get a list of options.Command (m for help):
(m for help): mThe 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.
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 first thing you should do is display your current partition table and write the information down, for later reference. Use the p command.
(m for help): pIn this example, we have a single MS-DOS partition on /dev/hda1, which is 61693 blocks (about 60 megs). 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.
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytesDevice Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32MCommand (m for help):
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.
(m for help): nHere, 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.
Command action
e extended
p primary partition (1-4)
p
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.
number (1-4): 2Now 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):
cylinder (204-683): 204fdisk 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):
cylinder or +size or +sizeM or +sizeK (204-683): +80MIf 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.Warning: Linux cannot currently use 33090 sectors of this partition
Now we're ready to create our second Linux partition. For sake of demonstration, we'll create it with a size of 10 megabytes.
(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
Lastly, 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.
(m for help): pAs 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).Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytesDevice 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
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.
(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 1024. 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.