# Creating a File System on the Partition

Now that a blank partition has been set up, the file system can be created. The most widely-used system in the Linux world is the second extended file system (ext2), but with newer high-capacity hard disks, journaling file systems are becoming increasingly popular. We will create an `ext2` file system. Instructions for other file systems can be found at .

To create an `ext2` file system on the CLFS partition, run the following:

    mke2fs /dev/[xxx]

Replace `[xxx]` with the name of the CLFS partition (`hda5` in our previous example).

Some host distributions use custom features in their filesystem creation tools (E2fsprogs). This can cause problems when booting into your new CLFS system, as those features will not be supported by the CLFS-installed E2fsprogs; you will get an error similar to `unsupported filesystem features, upgrade your e2fsprogs`. To check if your host system uses custom enhancements, run the following command:

    debugfs -R feature /dev/[xxx]

If the output contains features other than: dir_index; filetype; large_file; resize_inode or sparse_super then your host system may have custom enhancements. In that case, to avoid later problems, you should compile the stock E2fsprogs package and use the resulting binaries to re-create the filesystem on your CLFS partition:

    cd /tmp
    tar xjf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2
    cd e2fsprogs-&e2fsprogs-version;
    mkdir build
    cd build
    ../configure
    make #note that we intentionally don't 'make install' here!
    ./misc/mke2fs /dev/[xxx]
    cd /tmp
    rm -rf e2fsprogs-&e2fsprogs-version;

If a swap partition was created, it will need to be initialized for use by issuing the command below. If you are using an existing swap partition, there is no need to format it.

    mkswap /dev/[yyy]

Replace `[yyy]` with the name of the swap partition.