Fedora, Tutorials/Tips

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.
Related Post:  How to access your Windows 10 files from Linux on a dual-boot 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

Related Post:  Why you should disable autofill on your browsers

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

LinuxBSDos needs your donation to continue!

I hope this article has saved you valuable time and effort to fix a problem that would have taken more time than is necessary. That makes me happy, and why I love doing this. But because more people than ever are reading articles like this with an adblocker, ad revenues have fallen to a level that's not enough to cover my operating costs. That's why I want to ask you a favor: To make a one-time or recurring donation to support this site and keep it going. It's a small favor, but every one counts. And you can make your donation using Patreon or directly via Paypal. Thank you for whatever donation you're able to make.

Donate via Patreon. Donate via Paypal.

Aside from donation, you may also signup to receive an email once I publish new content. Your email will not be shared or traded to anyone. And you can unsubscribe at any time.

Please share:

We Recommend These Vendors and Free Offers

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).

Want to become an expert ethical hacker and penetration tester? Request your free video training course of Online Penetration Testing and Ethical Hacking

Whether you're new to Linux or are a Linux guru, you can learn a lot more about the Linux kernel by requesting your free ebook of Linux Kernel In A Nutshell.


  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 *