Install Fedora 16 on an encrypted btrfs file system

Btrfs was supposed to have been the default file system for Fedora 16, but for technical reasons, that did not happen. Word on the street says it will be, in Fedora 17. But you do not have to wait for Fedora 17 to get your system humming on btrfs because you can do it right now.

This tutorial offers a step-by-step guide on how to do just that. To start, you need to download either a DVD installation image, a network install image, or a bfo installation image. The Live CD installation images will not allow you to install Fedora 16 on a btrfs file system. To take advantage of Fedora’s excellent security measures, the root and Swap partitions will be encrypted, giving you an encrypted btrfs file system.

So, if you have downloaded your choice of installation ISO image and transfered it to a CD/DVD, boot your computer from it and click until you get to the step shown in this image.
Fedora 16 Storage Types

Which should lead to this, if the target hard drive has an existing installation of Fedora.
Fedora 16 Upgrade Options

Or to this one if it does not. At this step, you need to select the “Create Custom Layout” option. Next.
Fedora 16 Partition Methods

Fedora 16 is the first Linux distribution, as far as I know, to use GPT, the GUID Partition Table, as the default. Previous version used the MBR or MS-DOS partition table format. (See Fedora 16 GPT disk partitioning guide.) The use of GPT adds one more step to the process, so that instead of creating three partitions, we are now required to create four. The four partitions required are (in order):

  1. A BIOS Boot partition no more than 1 MB in size
  2. A boot partition
  3. Swap
  4. A btrfs partition mounted at /. This is the root file system.

Note that with GPT, all the partitions are primary partitions because the concept of an extended or logical partition is foreign to GPT. Note also that if you attempt to install the system without a BIOS BOOT partition, the installer will complain, generating the error message shown below.
Fedora 15 Partition Error

Ok, with the preliminary stuff out of the way, we can start creating the required partitions. Select the free space and click Create. This step will be repeated for all the partitions.
Fedora 16 Create Partitions

All the partitions will be Standard partitions. Create.
Fedora 16 Standard Partition

For the “BIOS Boot” partition, select “BIOS Boot” from the “File System Type” menu, allocate a disk space of 1 MB to it, and select ‘Fixed size” if it is not already selected. OK.
Fedora 16 BIOS Boot Partition

For the boot partition, select the mount point as shown, and allocate 500 MB to it. By the way, that size has been the default in Fedora for some time. Do not encrypt this partition. OK.
Fedora 16 Boot Partition

For Swap, select the values shown in this image. You can encrypt the Swap partition. In fact, it is highly recommended that you do. No point in encrypting the root partition and leave Swap wide open. How much disk space to allocate to Swap is a function of installed RAM or memory. See this guide for help in deciding what to allocate to Swap. OK.
Fedora 16 Swap Partition

The last partition will be the root file system, so select the appropriate option from the “File System Type” dropdown menu. If you intend to use all available disk space for this partition, select “Fill to maximum allowable size.” Otherwise, specify the size. Encrypt this partition. OK.
Fedora 16 Root Partition

With all four partitions created, click Next to continue with the rest of the installation.
Fedora 16 GPT Partitions

The installer will request a passphrase that will be used to encrypt the partitions. Specify a strong one. You will need this passphrase every time the system is booting. OK.
Fedora 16 Encryption Passphrase

At the boot loader configuration step, you may opt to specify a password for GRUB, the GRand Unified Bootloader. There is no downside to this, so you might as well. Next.
Fedora 16 GRUB Password

After installation has completed, reboot the computer and see if it worked. You will know, if you see this screen. Enter the passphrase and enjoy.
Specify Encryption Passphrase

Related Posts

Debugging a failed Ansible ad hoc command Ansible is an IT automation and configuration management tool. Of all the most popular Free Software applications of its kind, it is the only one that...
Apply the nuke patch to LUKS cryptsetup in Linux Mint 16 and Ubuntu 13.10 This short tutorial shows how to apply the Kali Linux nuke patch to LUKS cryptsetup in Linux Mint 16 and Ubuntu 13.10. From a physical security and...
How to install Linux Mint 11 on a btrfs file system Like Ubuntu 11.04 on which it is based, Linux Mint 11 has support for btrfs, a modern journaling file system with features that are not available on t...
Solution for crashing KDE applications on Linux Mint 17.1 Cinnamon On one of my test systems, I have Linux Mint 17.1 Cinnamon installed. However, I still like to use KSnapshot, the screenshot application for KDE. A...
How to customize Linux Mint 10 After a review of Linux Mint 10, the next logical step is to write a few tutorials and tips for those that might need it. The first of these tutorials...
How to create a standard user on Kali Linux 2.0 using the cli Kali Linux is a niche distribution designed for those with a certain degree of expertise in Linux. However, that shouldn't stop you, if you don't have...

We Recommend These Vendors

Launch an SSD VPS in Europe, USA, Asia & Australia on Vultr's KVM-based Cloud platform starting at $5:00/month (15 GB SSD, 768 MB of RAM).

Deploy an SSD Cloud server in 55 seconds on DigitalOcean. Built for developers and starting at $5:00/month (20 GB SSD, 512 MB of RAM).


  1. check schloegl

    omg, not working any more :(

  2. Pingback: Links 17/11/2011: AMD Catalyst 11.11, Memcached 1.4.10 | Techrights

  3. cornel panceac

    will the btrfs option be available if the ‘btrfs’ bootparam is _not_ passed to the kernel boot line?

Leave a Comment

Your email address will not be published. Required fields are marked *