- even from a root (<tt>/</tt>) filesystem, if you use ReiserFS on it.
- <b>Caution:</b> If you use this driver, you should use the
- <tt>notail</tt> option in Linux's <tt>/etc/fstab</tt> file for the
- partition(s) you want the EFI to read. This is because the driver
- doesn't properly handle ReiserFS's "tail-packing" feature, so files can
- seem to be corrupted in EFI if you use this feature, which is disabled
- by <tt>notail</tt>.</li>
-
-<li><b>Ext2fs</b>—This driver also originated with rEFIt. It can be
- used in the same way as the ReiserFS driver. Although it's called an
- "ext2fs" driver, it also works with ext3fs.</li>
-
-<li><b>Ext4fs</b>—Stefan Agner modified the rEFIt/rEFInd ext2fs
- driver so that it could handle ext4fs. I'm including this as a separate
- driver from the ext2fs driver, although the ext4fs version seems to be
- able to handle ext2fs and ext3fs, too.</li>
+ even from a root (<tt>/</tt>) filesystem, if you use ext2fs on it.
+ Although it's called an "ext2fs" driver, it also works with ext3fs.</li>
+
+<li><b>Ext4fs</b>—Stefan Agner <a
+ href="https://github.com/falstaff84/rEFInd">modified the rEFIt/rEFInd
+ ext2fs driver</a> so that it could handle ext4fs. I'm including this as
+ a separate driver from the ext2fs driver, although the ext4fs version
+ can handle ext2fs and ext3fs, too. Providing both drivers enables
+ easy filesystem separation—for instance, you can use ext2fs on a
+ <tt>/boot</tt> partition and ext4fs on your root (<tt>/</tt>)
+ partition, to have the EFI scan only the former. This driver has some
+ limitations. Most notably, for various reasons it maxes out at 16TiB
+ and won't mount any ext4 filesystem that's larger than this. As of
+ version 0.6.1, this driver supports the <tt>meta_bg</tt> feature, which
+ can also be used on ext2fs and ext3fs. Thus, it can handle some ext2fs
+ and ext3fs partitions that the ext2fs driver can't handle. You can
+ learn about your ext2/3/4 filesystem features by typing <tt
+ class="userinput">dumpe2fs <i>/dev/sda2</i> | grep features</tt>,
+ changing <tt class="userinput"><i>/dev/sda2</i></tt> to your
+ filesystem's device.</li>
+
+<li><b>ReiserFS</b>—This driver originated with rEFIt. It can be used
+ in the same way as the ext2fs and ext4fs drivers. <b>Caution:</b> If you
+ use this driver, you should use the <tt>notail</tt> option in Linux's
+ <tt>/etc/fstab</tt> file for the partition(s) you want the EFI to read.
+ This is because the driver doesn't properly handle ReiserFS's
+ "tail-packing" feature, so files can seem to be corrupted in EFI if you
+ use this feature, which is disabled by <tt>notail</tt>.</li>
+
+<li><b>Btrfs</b>—</b>Samuel Liao contributed this driver, which is
+ based on the rEFIt/rEFInd driver framework and algorithms from the GRUB
+ 2.0 Btrfs driver. I've tested this driver with simple one-partition
+ filesystems on several installations, and with a filesystem that spans
+ two physical devices on one (although I've made no attempt to ensure
+ that the driver can actually read files written to both devices). Samuel
+ Liao has used the driver with a compressed Btrfs volume. The driver will
+ handle subvolumes, but you may need to add kernel options if you're
+ booting a Linux kernel directly from a filesystem that uses subvolumes.
+ For instance, when booting Ubuntu from Btrfs, <tt>also_scan_dirs +
+ @/boot</tt> must be set in <tt>refind.conf</tt> and
+ <tt>rootflags=subvol=@</tt> must be added to the kernel options in
+ <tt>refind_linux.conf</tt>. Without the first of these options, rEFInd
+ can not locate the kernel; and without the second, the boot fails with a
+ message to the effect that the initial RAM disk could not find
+ <tt>/sbin/init</tt>. rEFInd 0.10.0 adds <tt>@/boot</tt> as a standard
+ option to <tt>also_scan_dirs</tt>, and its <tt>refind-install</tt> and
+ <tt>mkrlconf</tt> scripts should pick up the root flags, assuming the
+ system is booted into the regular installation. These additions make it
+ easier to set up rEFInd to work with Btrfs.</li>