]> code.delx.au - refind/blobdiff - docs/refind/drivers.html
Version 0.8.1 release.
[refind] / docs / refind / drivers.html
index 246e847d60deeae68ac58e6dcecaff1ceffa1f34..1913978ee67518d94f31492c0019cf26bdbf9e38 100644 (file)
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 4/19/2012; last Web page update:
-7/8/2013, referencing rEFInd 0.7.1</p>
+5/15/2014, referencing rEFInd 0.8.1</p>
 
 
-<p>I'm a technical writer and consultant specializing in Linux technologies. 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>
+<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>
 
 <table border="1">
 <tr>
@@ -207,29 +207,36 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     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. (I may eventually retire the
-    original ext2fs driver, but I want to be conservative about this in
-    case there's an undiscovered problem with the new driver.) 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
+    can handle ext2fs and ext3fs, too. Providing both drivers enables
+    easy filesystem separation&mdash;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>Btrfs</b>&mdash;</b>Samuel Liao contributed this driver, which is
     based on the rEFIt/rEFInd driver framework and algorithms from the GRUB
-    2.0 Btrfs driver. As of rEFInd 0.7.0, this driver is new and should be
-    considered experimental. 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). Lamuel Liao has used the
-    driver with a compressed Btrfs volume. I don't know if the driver will
-    handle other advanced Btrfs features, such as snapshots and
-    subvolumes.</li>
+    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). Lamuel 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>.</li>
 
 <li><b>ISO-9660</b>&mdash;This driver originated with rEFIt's author, but
     he never released a final version. Its code was improved by Oracle for
@@ -286,6 +293,8 @@ fs0: <tt class="userinput">map -r</tt>
 
 <li><b>Ext2Pkg</b>&mdash;This driver, based on <a href="https://bitbucket.org/alinrus/ext2pkg">bitbucket</a> and with a backup on <a href="https://github.com/the-ridikulus-rat/Tianocore_Ext2Pkg">github,</a> appears to be an ext2fs/ext3fs driver built independently of the driver written by Christoph Pfisterer. The linked-to sites provide access to source code via <tt>git</tt> but do not provide binaries. When I built binaries, they failed to work. Under VirtualBox, the driver loaded but then hung when I tried to access an ext2 filesystem. On a 32-bit Mac Mini, I got error messages when I tried to access an ext2 filesystem. As I write, the code was last updated in March of 2012. If you check the project and it's been updated more recently, it might be worth trying. Otherwise, I can't recommend this driver. I mention it here only in case it improves in the future.</li>
 
+<li><b>Paragon's UFSD</b>&mdash;According to <a href="http://blog.paragon-software.com/?p=2951">this blog post,</a> Paragon Software has ported its <a href="http://www.paragon-software.com/technologies/ufsd.html">Universal File System Drivers (UFSD)</a> to EFI, providing "transparent access to NTFS, HFS+, ExFAT, and ExtFS" (sic). The entry doesn't provide any download links, and it's unclear if the product is (or will be) available for free or on a pay basis. I haven't tried these drivers, so I can't comment on their quality.</li>
+
 </ul>
 
 <p>Most of these cross-project drivers appear to be related, and most of them have fed into rEFInd's drivers. I used the Clover package, which in turn was based on the VirtualBox drivers, as a starting point. Everybody else has dropped rEFIt's original ReiserFS driver, but I added that back. Of these drivers, only the Clover EFI Tools NTFS driver is missing from rEFInd. Specific versions can have their own quirks, though. For instance, the Clover (and I suspect VirtualBox) drivers don't return volume labels, which causes rEFInd to display loaders on those volumes as being on a disk called <tt>Unknown</tt>. (I fixed that bug for rEFInd's version, and it wasn't present in the original rEFIt drivers.) Most of these drivers also suffer from speed problems on some computers. This is worst with the ext2fs drivers under VirtualBox; on my main computer, that combination takes 3 minutes to load a Linux kernel and initial RAM disk file! Most real computers don't suffer nearly so badly, 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>
@@ -308,7 +317,7 @@ fs0: <tt class="userinput">map -r</tt>
 
 <hr />
 
-<p>copyright &copy; 2012&ndash;2013 by Roderick W. Smith</p>
+<p>copyright &copy; 2012&ndash;2014 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>