href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 4/19/2012; last Web page update:
-12/12/2015, referencing rEFInd 0.10.1</p>
+4/24/2016, referencing rEFInd 0.10.3</p>
<p>This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
<ul>
-<li><b>ReiserFS</b>—This driver originated with rEFIt. It's useful
+<li><b>Ext2fs</b>—This driver originated with rEFIt. It's useful
for reading Linux kernels from a separate <tt>/boot</tt> partition, or
- 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>
+ 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
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 a simple one-partition
- filesystem and with a filesystem that spans two physical devices
- (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, on a
- test installation of Ubuntu 14.04 alpha on such a system, I needed to
- set <tt>also_scan_dirs + @/boot</tt> in <tt>refind.conf</tt> and add
- <tt>rootflags=subvol=@</tt> to the kernel options in my
- <tt>refind_linux.conf</tt> file. Without the first of these options,
- rEFInd could not locate my kernel; and without the second, the boot
- failed 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>
+ 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>
<li><b>ISO-9660</b>—This driver originated with rEFIt's author, but
he never released a final version. Its code was improved by Oracle for
providing the driver mainly because it compiled cleanly with no extra
work, aside from providing a Makefile entry for it.</li>
-<p class="sidebar"><b>Warning:</b> I've received multiple reports of system hangs when using the NTFS driver; however, I've been unable to replicate the problem. (The problem is probably triggered either by interactions with specific EFIs or by unique features of the "problem" NTFS volumes.) I therefore recommend avoiding it unless it's absolutely necessary. I've added a couple of checks to the driver code in rEFInd 0.9.1 that <i>may</i> fix this problem, but these checks may also have no effect.</p>
+<p class="sidebar"><b>Warning:</b> I've received multiple reports of system hangs when using the NTFS driver; however, I've been unable to replicate the problem. (The problem is probably triggered either by interactions with specific EFIs or by unique features of the "problem" NTFS volumes.) I therefore recommend avoiding the NTFS driver unless it's absolutely necessary. I've added a couple of checks to the driver code in rEFInd 0.9.1 that <i>may</i> fix this problem, but these checks may also have no effect.</p>
<li><b>NTFS</b>—Samuel Liao contributed this driver, which uses the
rEFIt/rEFInd driver framework. Note that this driver is
but some can take an extra five seconds or so to boot a kernel. I've fixed
the speed problems in rEFInd's drivers as of version 0.7.0.</p>
+<p>Although I know of no readily-available hardware drivers, I do know of a couple of non-hardware non-filesystem drivers:</p>
+
+<ul>
+
+<li><a href="https://github.com/NikolajSchlej/CrScreenshotDxe"><b>CrScreenshot</b></a>—This driver adds a screenshot capability to any EFI. Note that it's available only as source code that requires the Tianocore EDK2 to build. I have not tested it. (Note also that rEFInd provides its own screen shot capability; pressing F10 takes a screen shot within rEFInd.)</li>
+
+<li><a href="https://github.com/rcpao-enmotus/RamDiskPkg"><b>RamDiskPkg</a></b>—This is a rudimentary RAM disk driver. It must be compiled with a RAM disk image; the resulting binary is hard-coded with a fixed RAM disk image. It's therefore useful mostly for developers.</li>
+
+</ul>
+
+<p>Both of these drivers are useful mainly for developers.</p>
+
+</ul>
+
<p>Driver availability could increase in the future. If you know of
additional EFI drivers, please <a href="mailto:rodsmith@rodsbooks.com">tell
me about them,</a> so I can share the information here. Likewise if you
<hr />
-<p>copyright © 2012–2015 by Roderick W. Smith</p>
+<p>copyright © 2012–2016 by Roderick W. Smith</p>
<p>This document is licensed under the terms of the <a href="FDL-1.3.txt">GNU Free Documentation License (FDL), version 1.3.</a></p>