17.4. Creating the Filesystem

Formatting a disk partition or a floppy is not the same thing as creating a filesystem on it. Formatting allows the disk driver to read and write blocks on the disk, while creating a filesystem means setting up the structures described in detail earlier in this chapter.

Modern hard disks come preformatted from the factory and need not be reformatted; floppy disks may be formatted by using the /usr/bin/superformat utility program.

Ext2 filesystems are created by the /sbin/mke2fs utility program; it assumes the following default options, which may be modified by the user with flags on the command line:

  • Block size: 1024 bytes

  • Fragment size: block size

  • Number of allocated inodes: one for each group of 4096 bytes

  • Percentage of reserved blocks: 5%

The program performs the following actions:

  1. Initializes the superblock and the group descriptors

  2. Optionally, checks whether the partition contains defective blocks: if so, creates a list of defective blocks

  3. For each block group, reserves all the disk blocks needed to store the superblock, the group descriptors, the inode table, and the two bitmaps

  4. Initializes the inode bitmap and the data map bitmap of each block group to

  5. Initializes the inode table of each block group

  6. Creates the / root directory

  7. Creates the lost+found directory, which is used by /sbin/e2fsck to link the lost and defective blocks found

  8. Updates the inode bitmap and the data block bitmap of the block group in which the two previous directories have been ...

Get Understanding the Linux Kernel now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.