]> code.delx.au - refind/blobdiff - docs/refind/drivers.html
Documentation updates for 0.10.3 release.
[refind] / docs / refind / drivers.html
index 22d6705e8643a56edc0ad26b3f03ebdafd81ae61..7dc23119e4c861f57ab433f58799d8fb52f37dc0 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 4/19/2012; last Web page update:
-11/8/2015, referencing rEFInd 0.10.0</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>
@@ -43,8 +43,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="1.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -58,8 +57,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="2.50">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -74,8 +72,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="5.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -89,8 +86,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="10.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -104,8 +100,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="20.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -118,8 +113,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="currency_code" value="USD">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td></tr>
 </table>
@@ -191,19 +185,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
-<li><b>ReiserFS</b>&mdash;This driver originated with rEFIt. It's useful
+<li><b>Ext2fs</b>&mdash;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>&mdash;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>&mdash;Stefan Agner <a
     href="https://github.com/falstaff84/rEFInd">modified the rEFIt/rEFInd
@@ -223,27 +208,34 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     changing <tt class="userinput"><i>/dev/sda2</i></tt> to your
     filesystem's device.</li>
 
+<li><b>ReiserFS</b>&mdash;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>&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. 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>&mdash;This driver originated with rEFIt's author, but
     he never released a final version. Its code was improved by Oracle for
@@ -270,7 +262,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     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>&mdash;Samuel Liao contributed this driver, which uses the
     rEFIt/rEFInd driver framework. Note that this driver is
@@ -343,6 +335,20 @@ 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>
 
+<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>&mdash;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>&mdash;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
@@ -355,6 +361,8 @@ controller card.</p>
 <h2>Notes on Specific Drivers</h2>
 </a>
 
+<p class="sidebar"><b>Warning:</b> When compiled with GNU-EFI, rEFInd's drivers hang when run on my 32-bit Mac Mini. The TianoCore-compiled versions are fine, and the GNU-EFI-built binaries are fine on a 32-bit VirtualBox. The 64-bit GNU-EFI-built versions are fine on a MacBook Pro. Thus, the problem is very limited in scope. The problem can be quite serious if you run into it, though, since you must bypass rEFInd to boot the computer. In debugging the problem, I found that a key funtion was being entered mid-function, which suggests either an EFI bug or a problem with the compiler or related tools. In any event, the solution is simple: Use driver binaries built with TianoCore if you have a 32-bit Mac.</p>
+
 <p>I've tested several of the drivers described on this page on a handful
 of systems. The Pfisterer ext2fs driver (from any source) works on both
 ext2fs and ext3fs, but not on ext4fs&mdash;but Agner's derivative ext4fs
@@ -381,7 +389,7 @@ ways.</p>
 
 <hr />
 
-<p>copyright &copy; 2012&ndash;2015 by Roderick W. Smith</p>
+<p>copyright &copy; 2012&ndash;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>