Version 0.10.4 release.
authorsrs5694 <srs5694@users.sourceforge.net>
Sun, 9 Oct 2016 23:23:54 +0000 (19:23 -0400)
committersrs5694 <srs5694@users.sourceforge.net>
Sun, 9 Oct 2016 23:23:54 +0000 (19:23 -0400)
25 files changed:
Makefile
NEWS.txt
debian/changelog
docs/man/mkrlconf.8
docs/man/mvrefind.8
docs/man/refind-install.8
docs/man/refind-mkdefault.8
docs/refind/bootcoup.html
docs/refind/bootmode.html
docs/refind/configfile.html
docs/refind/drivers.html
docs/refind/features.html
docs/refind/getting.html
docs/refind/index.html
docs/refind/installing.html
docs/refind/linux.html
docs/refind/revisions.html
docs/refind/secureboot.html
docs/refind/sip.html
docs/refind/themes.html
docs/refind/todo.html
docs/refind/using.html
filesystems/fsw_efi.c
refind-install
refind.spec

index 04b0ca7..2ae341a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ MOK_DIR=mok
 GPTSYNC_DIR=gptsync
 EFILIB_DIR=EfiLib
 export EDK2BASE=/usr/local/UDK2014/MyWorkSpace
-export REFIND_VERSION='L"0.10.3.2"'
+export REFIND_VERSION='L"0.10.4"'
 
 # The "all" target builds with the TianoCore library if possible, but falls
 # back on the more easily-installed GNU-EFI library if TianoCore isn't
index 4c0579d..299334d 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,6 +1,9 @@
-0.10.4 (?/??/2016):
+0.10.4 (10/9/2016):
 -------------------
 
+- Fixed compile problem for drivers with recent versions of GNU-EFI
+  (3.0.4, maybe 3.0.3).
+
 - Fixed bug that could cause program crash on startup. (In practice, it
   manifested with GNU-EFI starting with version 3.0.3 or 3.0.4.)
 
index 0256184..3126dc9 100644 (file)
@@ -1,3 +1,9 @@
+refind (0.10.4-0ppa1) xenial; urgency=medium
+
+  * Version bump
+
+ -- Roderick Smith <rodsmith@rodsbooks.com>  Sun, 09 Oct 2016 19:10:59 -0400
+
 refind (0.10.3-0ppa1) wily; urgency=medium
 
   * Version bump
index 7cf38b7..3755a4f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Copyright 2015-2016 Roderick W. Smith (rodsmith@rodsbooks.com)
 .\" May be distributed under the GNU Free Documentation License version 1.3 or
 any later version
-.TH "MKRLCONF" "8" "0.10.3" "Roderick W. Smith" "rEFInd Manual"
+.TH "MKRLCONF" "8" "0.10.4" "Roderick W. Smith" "rEFInd Manual"
 .SH "NAME"
 mkrlconf \- Create a Linux kernel configuration file for rEFInd
 .SH "SYNOPSIS"
index dc04d9d..a45b23e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Copyright 2015-2016 Roderick W. Smith (rodsmith@rodsbooks.com)
 .\" May be distributed under the GNU Free Documentation License version 1.3 or
 any later version
-.TH "MVREFIND" "8" "0.10.3" "Roderick W. Smith" "rEFInd Manual"
+.TH "MVREFIND" "8" "0.10.4" "Roderick W. Smith" "rEFInd Manual"
 .SH "NAME"
 mvrefind \- Move a rEFInd installation from one location to another
 .SH "SYNOPSIS"
index 857c3a0..d479e29 100644 (file)
@@ -1,13 +1,13 @@
 .\" Copyright 2015-2016 Roderick W. Smith (rodsmith@rodsbooks.com)
 .\" May be distributed under the GNU Free Documentation License version 1.3 or
 any later version
-.TH "REFIND-INSTALL" "8" "0.10.3" "Roderick W. Smith" "rEFInd Manual"
+.TH "REFIND-INSTALL" "8" "0.10.4" "Roderick W. Smith" "rEFInd Manual"
 .SH "NAME"
 refind-install \- Install rEFInd to the ESP and create an NVRAM entry
 .SH "SYNOPSIS"
 .BI "refind-install "
 [--notesp | --usedefault \fIdevice-file\fR | --root \fImount-point\fR |
---ownhfs \fIdevice-file\fR ] [--keepname ] [--nodrivers | --alldrivers]
+--ownhfs \fIdevice-file\fR ] [--keepname] [--nodrivers | --alldrivers]
 [--shim \fIshim-filename\fR] [--localkeys] [--yes]
 
 
index 3ac2dde..7006a2f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Copyright 2016 Roderick W. Smith (rodsmith@rodsbooks.com)
 .\" May be distributed under the GNU Free Documentation License version 1.3 or
 any later version
-.TH "REFIND-MKDEFAULT" "8" "0.10.3" "Roderick W. Smith" "rEFInd Manual"
+.TH "REFIND-MKDEFAULT" "8" "0.10.4" "Roderick W. Smith" "rEFInd Manual"
 .SH "NAME"
 refind-mkdefault \- Set rEFInd as the default EFI boot option
 .SH "SYNOPSIS"
index af1c4fd..fd3b591 100644 (file)
@@ -16,7 +16,7 @@
 <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-<p>Originally written: 4/24/2016, referencing rEFInd 0.10.3</p>
+<p>Originally written: 10/9/2016, referencing rEFInd 0.10.4</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>
index bfccd67..37b8eed 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>\r
 \r
 <p>Originally written: 3/14/2012; last Web page update:\r
-4/24/2016, referencing rEFInd 0.10.3</p>\r
+10/9/2016, referencing rEFInd 0.10.4</p>\r
 \r
 \r
 <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>\r
index 4c3d9d2..af2d618 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
index 7dc2311..90ea588 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:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
@@ -138,7 +138,9 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <li class="tight"><a href="#why">Why Should You Use Drivers?</li>
 
-<li class="tight"><a href="#using">Using rEFInd's EFI Drivers</a></li>
+<li class="tight"><a href="#installing">Installing rEFInd's EFI Drivers</a></li>
+
+<li class="tight"><a href="#selecting">Selecting an EFI Driver</a></li>
 
 <li class="tight"><a href="#finding">Finding Additional Drivers</a></li>
 
@@ -175,36 +177,77 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>As a side note, using an ISO-9660 driver can theoretically help you keep the size of a custom Linux boot CD/DVD down to a reasonable value. This is because EFI systems normally boot from optical discs by reading a FAT image file in El Torito format and treating that file as an ESP. If you need to store the kernel both in that file and directly in the ISO-9660 filesystem (to maintain bootability on BIOS systems), that can represent an unwanted extra space requirement. Placing rEFInd and an ISO-9660 driver in the FAT image file should enable you to store the kernel on the disc only once. Unfortunately, this doesn't work in practice. When the ISO-9660 driver is loaded from the El Torito image, the driver discovers that the optical disc is in use and refuses to access it. It's possible to use EFI shell commands to give the ISO-9660 driver access to the shell device, but this causes the El Torito access to go away, which means that anything loaded from the El Torito image (such as rEFInd) is likely to malfunction. Also, some EFI implementations include ISO-9660 drivers, so you might not need a separate ISO-9660 driver if you're building a disc for a particular computer.</p>
 
-<a name="using">
-<h2>Using rEFInd's EFI Drivers</h2>
+\ 2<a name="installing">
+<h2>Installing rEFInd's EFI Drivers</h2>
 </a>
 
+<p>If you install rEFInd via the <tt>refind-install</tt> script or by installing an RPM or Debian package in a Linux distribution, the script should install the driver that matches the filesystem on which your kernels are stored automatically, with a couple of important caveats:</p>
+
+<ul>
+
+<li>The driver must be included with the rEFInd package. As described in the next section, <a href="#selecting">Selecting an EFI Driver,</a> drivers for ext2fs, ext3fs, ext4fs, ReiserFS, Btrfs, and a few non-native filesystems come with rEFInd. If your kernels reside on XFS, JFS, ZFS, or some other more exotic filesystem, you'll need to track down drivers elsewhere, as described in <a href="#finding">Finding Additional Drivers,</a> and install them manually.</li>
+
 <p class="sidebar"><b>Note:</b> If you want to use the drivers with a Mac, be sure to use at least version 0.4.3. Earlier versions were incompatible with the Mac's EFI 1.x firmware. Alternatively, you can use the drivers that came with <a href="http://refit.sourceforge.net">rEFIt,</a> which work on Macs.</p>
 
+<li>If you run <tt>refind-install</tt> from OS X, the script installs only the ext4fs driver, and that only if the script finds an existing Linux partition. Thus, if you install rEFInd <i>before</i> installing Linux, chances are <tt>refind-install</tt> will not install any Linux driver. Also, if you use any filesystem other than ext2/3/4fs to hold your kernel, <tt>refind-install</tt> won't install the correct driver. If you install rEFInd followed by Linux and want to use rEFInd's driver, you can either re-install rEFInd or install the appropriate driver manually. The <tt>refind-install</tt> script installs all the available drivers if you pass it the <tt>--alldrivers</tt> option. (I do <i>not</i> recommend using this feature except for creating general-purpose USB flash drives with rEFInd, since having too many drivers can cause various problems.) See the <a href="installing.html">Installing rEFInd</a> page for details.</li>
+
+</ul>
+
+<p>rEFInd's filesystem drivers reside in the <tt>refind/drivers_<tt class="variable">arch</tt></tt> subdirectory of the rEFInd <tt>.zip</tt> file, where <tt class="variable">arch</tt> is a CPU architecture code, such as <tt>x64</tt> or <tt>ia32</tt>. If you installed rEFInd using an RPM or Debian package, chances are the relevant files will be stored in <tt>/usr/share/refind/refind/drivers_x64/</tt> or a similar location. You can type <tt class="userinput">find /usr/share/ -name "ext4*"</tt> to find the exact location, or use your package manager to list all the files installed from the <tt>refind</tt> package. The files are named after the filesystems they handle, such as <tt>ext4_x64.efi</tt> for the x86-64 ext4fs driver. You should copy the files for the filesystems you want to use to  (You may need to create this subdirectory.)</p>
+
+<p>To install a driver, you must copy it from the package <tt>.zip</tt> file or from where the rEFInd RPM or Debian package placed it to the <tt>drivers</tt> or <tt>drivers_<tt class="variable">arch</tt></tt> subdirectory of the main rEFInd installation directory. The main rEFInd directory is usually either <tt>EFI/refind</tt> or <tt>EFI/BOOT</tt> on the EFI System Partition (ESP). How to identify and access the ESP varies from one OS to another:</p>
+
+<ul>
+
+<li>Under Linux, the ESP is normally mounted at <tt>/boot/efi</tt>, or sometimes <tt>/boot</tt>.</li>
+
+<li>On OS X, the ESP is not normally mounted, but the <tt>mountesp</tt> script that comes with rEFInd will mount it and identify the mount point.</li>
+
+<li>Windows also does not normally mount the ESP, but it can be mounted from an <i>Administrator</i> command prompt window by typing <tt class="userinput">mountvol S: /S</tt>. (You can change <tt>S:</tt> to another drive identifier, if you like.)</li>
+
+</ul>
+
+<p>Be careful to install drivers only for your own architecture. Attempting to load drivers for the wrong CPU type will cause a small delay at best, or may cause the computer to crash at worst. I've placed rEFInd's drivers in directories that are named to minimize this risk, but you should exercise care when copying driver files.</p>
+
+<p class="sidebar"><b>Warning:</b> <i>Do not</i> place EFI program files in your driver directories! Unfortunately, EFI uses the same <tt>.efi</tt> filename extension to identify both EFI program files and EFI drivers. Therefore, rEFInd can't distinguish between the two prior to loading them, and if you place program files in a drivers directory, rEFInd will run the EFI program file when it does its driver scan.</p>
+
+<p>When you reboot after installing drivers, rEFInd should automatically detect and use the drivers you install. There's likely to be an extra delay, typically from one to five seconds, as rEFInd loads the drivers and tells the EFI to detect the filesystems they handle. For this reason, and because of the possibility of drivers harboring bugs, I recommend installing only those drivers that you need. If you like, you can install drivers you don't plan on using to some other directory, such as <tt>/drivers</tt> on the ESP's root. You can then load these drivers manually with the EFI shell's <tt>load</tt> command if the need arises in the future. You can then tell the shell to re-assign drive identifiers with <tt>map -r</tt>:</p>
+
+<pre class="listing">
+fs0: <tt class="userinput">load btrfs_x64.efi</tt>
+fs0: <tt class="userinput">map -r</tt>
+</pre>
+
+<a name="selecting">
+<h2>Selecting an EFI Driver</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>Since version 0.4.0, rEFInd has shipped with a small collection of read-only EFI filesystem drivers. These are:</p>
 
 <ul>
 
-<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 ext2fs on it.
-    Although it's called an "ext2fs" driver, it also works with ext3fs.</li>
+<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 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
     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&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>,
+    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
+    and may not work with all ext4 filesystems. Although it supports (as of
+    version 0.10.4) 64-bit pointers, this support is untested on over-16TiB
+    volumes. 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>
 
@@ -214,14 +257,18 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     <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>
+    use this feature, which is disabled by <tt>notail</tt>. In my tests,
+    this is the fastest of rEFInd's EFI filesystem drivers, so if you find
+    your kernel load times are slow, you might consider moving your kernel
+    to a ReiserFS <tt>/boot</tt> partition. (Such problems affect a small
+    subset of EFI-based computers.)</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 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
+    that the driver can actually read files that span 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.
@@ -237,6 +284,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     system is booted into the regular installation. These additions make it
     easier to set up rEFInd to work with Btrfs.</li>
 
+<p class="sidebar"><b>Tip:</b> If you partition a USB flash drive and use <tt>dd</tt> to copy Linux <tt>.iso</tt> images to the drive's individual partitions, the rEFInd ISO-9660 driver enables rEFInd to boot multiple Linux distributions' installers from the USB flash drive. I can't promise this feature will work with all distributions, but it does work with some.</p>
+
 <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
     use in its VirtualBox product, and then further modified by the authors
@@ -262,7 +311,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 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>
+<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. Various rEFInd versions include fixes intended to address this problem, but I can't be sure it's been completely eliminated.</p>
 
 <li><b>NTFS</b>&mdash;Samuel Liao contributed this driver, which uses the
     rEFIt/rEFInd driver framework. Note that this driver is
@@ -272,8 +321,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     partition's boot sector, which is read without the benefit of this
     driver. Reasons to use this driver include:
     <ul>
-    <li>If you want to store large boot files to be read from EFI, such as
-        RAM disk images, from Windows.</li>
+    <li>If you want to use Windows to write large files, such as RAM
+        disk images, to be read from EFI.</li>
     <li>If you have a Mac and NTFS data partitions, loading this driver
         should exclude those data partitions from the boot menu.</li>
     <li>If you have a Mac that dual-boots with Windows, using this driver
@@ -285,32 +334,21 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>All of these drivers rely on filesystem wrapper code written by rEFIt's author, Christoph Phisterer.</p>
 
-<p class="sidebar"><b>Note:</b> rEFInd's <tt>refind-install</tt> script, when run from Linux, installs the driver required to read the <tt>/boot</tt> directory. Under OS X, the <tt>refind-install</tt> script installs the ext4fs driver if the script detects a Linux partition&mdash;but you might need to change this driver if you use another filesystem. The script installs all the available drivers if you pass it the <tt>--alldrivers</tt> option. (I do <i>not</i> recommend using this feature except for creating general-purpose USB flash drives with rEFInd, since having too many drivers can cause various problems.) See the <a href="installing.html">Installing rEFInd</a> page for details.</p>
-
-<p>If you want to use one or more of these drivers, you can install them from the rEFInd binary package from the <tt>refind/drivers_<tt class="variable">arch</tt></tt> directory, where <tt class="variable">arch</tt> is a CPU architecture code&mdash;<tt>x64</tt> or <tt>ia32</tt>. The files are named after the filesystems they handle, such as <tt>ext4_x64.efi</tt> for the 64-bit ext4fs driver. You should copy the files for the filesystems you want to use to the <tt>drivers</tt> or <tt>drivers_<tt class="variable">arch</tt></tt> subdirectory of the main rEFInd installation directory. (You may need to create this subdirectory.) Be careful to install drivers only for your own architecture. Attempting to load drivers for the wrong CPU type will cause a small delay at best, or may cause the computer to crash at worst. I've placed rEFInd's drivers in directories that are named to minimize this risk, but you should exercise care when copying driver files.</p>
-
-<p class="sidebar"><b>Warning:</b> <i>Do not</i> place EFI program files in your driver directories! Unfortunately, EFI uses the same <tt>.efi</tt> filename extension to identify both EFI program files and EFI drivers. Therefore, rEFInd can't distinguish between the two prior to loading them, and if you place program files in a drivers directory, rEFInd will run the EFI program file when it does its driver scan.</p>
-
-<p>When you reboot after installing drivers, rEFInd should automatically detect and use the drivers you install. There's likely to be an extra delay, typically from one to five seconds, as rEFInd loads the drivers and tells the EFI to detect the filesystems they handle. For this reason, and because of the possibility of drivers harboring bugs, I recommend installing only those drivers that you need. If you like, you can install drivers you don't plan on using to some other directory, such as <tt>/drivers</tt> on the ESP's root. You can then load these drivers manually with the EFI shell's <tt>load</tt> command if the need arises in the future. You can then tell the shell to re-assign drive identifiers with <tt>map -r</tt>:</p>
-
-<pre class="listing">
-fs0: <tt class="userinput">load btrfs_x64.efi</tt>
-fs0: <tt class="userinput">map -r</tt>
-</pre>
+<p>Although Linux filesystems are all case-sensitive, these drivers treat them in a case-insensitive way. Symbolic links work; however, rEFInd 0.6.11 and later ignore symbolic links, since many distributions use them in a way that creates redundant or non-functional entries in the rEFInd menu. You should be able to use hard links if you want to use a single kernel file in multiple ways (say for two distributions).</p>
 
 <a name="finding">
 <h2>Finding Additional EFI Drivers</h2>
 </a>
 
-<p>As already noted, I know of no EFI drivers for EFI hardware, aside from those that are built into motherboards' EFI implementations. I do, however, know of a few EFI filesystem drivers, in addition to those provided with rEFInd:</p>
+<p>As already noted, I know of few EFI drivers for EFI hardware, aside from those that are built into motherboards' EFI implementations. I do, however, know of a few EFI filesystem drivers, in addition to those provided with rEFInd:</p>
 
 <ul>
 
-<li><b><a href="http://efi.akeo.ie">Pete Batard's efifs drivers</a></b>&mdash;This project is an EFI driver wrapper around GRUB 2's filesystem drivers. Once compiled, the result is that GRUB 2's drivers become standalone EFI filesystem drivers, loadable independently or by rEFInd. (rEFInd version 0.8.3 or later is required.) At present (driver version 0.7; January 2015), several drivers, including NTFS, exFAT, ext2fs, ReiserFS, Btrfs, JFS, and XFS, are usable, albeit with some caveats. Some drivers are slow, and they hang on some computers, such as one of my Macs. I have no doubt that these drivers will improve rapidly in usability in the near future. Note that the ext2fs driver from this set works with ext3fs and ext4fs, too. In addition to the main link, you can check the <a href="https://github.com/pbatard/efifs">github repository</a> for the source code.</li>
+<li><b><a href="http://efi.akeo.ie">Pete Batard's efifs drivers</a></b>&mdash;This project is an EFI driver wrapper around GRUB 2's filesystem drivers. Once compiled, the result is that GRUB 2's drivers become standalone EFI filesystem drivers, loadable independently or by rEFInd. (rEFInd version 0.8.3 or later is required.) At present (driver version 1.0; July 2016), several drivers, including NTFS, exFAT, ext2fs, ReiserFS, Btrfs, JFS, and XFS, are usable. The last time I tested them (version 0.7), some drivers were slow, and they hung on some computers, such as one of my Macs. They may have improved since then, and are likely to improve more in the future. Note that the ext2fs driver from this set works with ext3fs and ext4fs, too. In addition to the main link, you can check the <a href="https://github.com/pbatard/efifs">github repository</a> for the source code.</li>
 
 <li><b><a href="http://refit.sourceforge.net">rEFIt's ext2fs and ReiserFS drivers</a></b>&mdash;You can gain read-only access to ext2fs, ext3fs, and ReiserFS volumes with these drivers, originally written by Christoph Pfisterer. You can use the binaries in the <tt>refit-bin-0.14/efi/tools/drivers</tt> directory of the binary package directly on a Mac. On a UEFI-based PC, though, you'll need to break the Mac-style "fat" binary into its 32- and 64-bit components. You can use my <a href="http://www.rodsbooks.com/thin/index.html"><tt>thin</tt></a> program for this job. As a practical matter, there's no advantage to using these drivers over rEFInd's drivers, since the latter are updated versions of the former.</li>
 
-<li><b><a href="https://sourceforge.net/projects/cloverefiboot/">Clover EFI's ISO-9660, ext2fs, ext4fs, and HFS+ drivers</a></b>&mdash;This project is an offshoot of TianoCore, the main UEFI project. It's primarily a Hackintosh boot loader, but it includes drivers for <a href="http://cloverefiboot.svn.sourceforge.net/viewvc/cloverefiboot/VBoxFsDxe/">ISO-9660, ext2fs, ext4fs, and HFS+;</a> however, building them requires a fair amount of expertise. These drivers served as a starting point for rEFInd's drivers, except for the ext4fs driver, which the Clover developers based on rEFInd's ext4fs driver. Thus, as with the rEFIt drivers, there's likely to be no advantage to using the Clover drivers over the rEFInd drivers.</li>
+<li><b><a href="https://sourceforge.net/projects/cloverefiboot/">Clover EFI's ISO-9660, ext2fs, ext4fs, and HFS+ drivers</a></b>&mdash;This project is an offshoot of TianoCore, the main UEFI project. It's primarily a Hackintosh boot loader, but it includes drivers for <a href="http://cloverefiboot.svn.sourceforge.net/viewvc/cloverefiboot/VBoxFsDxe/">ISO-9660, ext2fs, ext4fs, and HFS+;</a> however, building them requires a fair amount of expertise. These drivers are closely related to rEFInd's own drivers. Thus, as with the rEFIt drivers, there's likely to be no advantage to using the Clover drivers over the rEFInd drivers.</li>
 
 <li><b><a href="http://www.osx86.net/view/2571-clover_v2_r384__efi_bootloader_pkg_+_gpt_efi_tools.html">Clover's EFI Tools package</a></b>&mdash;This osx86.net thread includes links to a package called <tt>         EFI_Tools_Clover_v2_r1888_EN.zip</tt>, which holds an OS X application (a directory with a <tt>.app</tt> extension, as seen from other platforms) with a number of drivers in the <tt>Contents/Resources/EFI/drivers64</tt> directory (and an equivalent for 32-bit binaries). Some of these, such as keyboard drivers, are unlikely to be useful unless your system is badly broken as delivered. Three that caught my eye, however, are <tt>VBoxExt2-64.efi</tt>, <tt>VBoxIso9600-64.efi</tt>, and <tt>NTFS-64.efi</tt>. The first two of those are presumably variants on rEFInd's drivers, but the NTFS driver is not. I don't know this driver's provenance, so I'm reluctant to recommend its use, but it bears mentioning.</li>
 
@@ -333,7 +371,7 @@ 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>
+the worst of the speed problems in rEFInd's drivers as of version 0.7.0; however, I still see occasional reports of speed problems on specific computers.</p>
 
 <p>Although I know of no readily-available hardware drivers, I do know of a couple of non-hardware non-filesystem drivers:</p>
 
@@ -357,34 +395,6 @@ controller card.</p>
 
 <p>Once you've obtained an EFI driver, you can install it in rEFInd just as you would install rEFInd's own drivers, as described earlier.</p>
 
-<a name="notes">
-<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
-driver handles ext4fs, so that's not a problem. The ReiserFS driver is
-obviously useful only on ReiserFS partitions. (Reiser4 is not supported, as
-far as I know.) The Btrfs driver is the newest of the Linux filesystem
-drivers included with rEFInd, and so I've tested it the least, but it's
-worked for me on several test systems. Given that ext2fs, ext3fs, and
-ReiserFS are getting a bit on in age by Linux standards, you might do well
-to use them on a separate Linux <tt>/boot</tt> partition; however, if
-you're willing to use ext3fs, ext4fs, Btrfs, or ReiserFS on your root
-(<tt>/</tt>) filesystem, you can use the EFI drivers to read your kernel
-from it. Note that this assumes you use conventional partitions; to the
-best of my knowledge, there's no EFI driver for Linux's Logical Volume
-Manager (LVM) or Redundant Array of Independent Disks (RAID)
-configurations, so the EFI can't access filesystems stored in these
-ways.</p>
-
-<p>As noted earlier, rEFInd's drivers prior to version 0.7.0, as well as related drivers from rEFIt, Clover, and VirtualBox, suffer from speed problems. These problems are mostly minor, adding a second or two to boot times; but on some computers, the speed problems can be dramatic, boosting kernel-load times up to as much as three minutes (under VirtualBox). If you run into excessive boot times with such a driver, try switching to the latest rEFInd driver instead. You might also try Pete Batard's efifs drivers.</p>
-
-<p>Although ext2fs, ext3fs, ext4fs, and ReiserFS are all case-sensitive, these drivers treat them in a case-insensitive way. Symbolic links work; however, rEFInd 0.6.11 and later ignore symbolic links, since many distributions use them in a way that creates redundant or non-functional entries in the rEFInd menu. You should be able to use hard links if you want to use a single kernel file in multiple ways (say for two distributions).</p>
-
 </ul>
 
 <hr />
index 6d5bcf9..eddb5fe 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
 
@@ -206,6 +206,8 @@ such as those with Gigabyte's Hybrid EFI, lack a usable CSM.</li>
 
 <li>Proper handling of more OS options than can fit on the screen. (rEFIt displays an empty list in graphical mode when it detects too many OSes.)</li>
 
+<li>The ability to handle <i>some</i> (but not all) touch-screen displays, as used on tablet computers.</li>
+
 <li>Additional OS icons (most of which are Linux distributions, at least so far). This can make it easier to find a specific distribution in the boot list if you've installed multiple Linux distributions.</li>
 
 <li>Beginning with version 0.6.6, support for loading user-defined fonts, in the form of PNG files containing ASCII characters 32 through 126 plus a glyph to be used for values outside that range.</li>
index f80f3a2..2538d18 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-6/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
 
@@ -132,7 +132,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <ul>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-bin-0.10.3.zip/download">A
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-bin-0.10.4.zip/download">A
     binary zip file</a></b>&mdash;Download this if you want to install rEFInd
     and/or its filesystem drivers on an <i>x</i>86, <i>x</i>86-64, or ARM64
     computer and have no need to test rEFInd first by booting it on an optical
@@ -142,13 +142,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     the <a href="installing.html">Installing rEFInd</a> page. Some users of Arch
     Linux have reported problems booting some specific Arch Linux kernels with
     rEFInd and some other tools. For them, a <a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-bin-gnuefi-0.10.3.zip/download">variant
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-bin-gnuefi-0.10.4.zip/download">variant
     package</a> exists in which the <i>x</i>86-64 binary was compiled with
     GNU-EFI rather than the usual TianoCore EDK2. This change helps some users
     with this problem.</li>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-0.10.3-1.x86_64.rpm/download">A
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-0.10.4-1.x86_64.rpm/download">A
     binary RPM file</a></b>&mdash;If you use an RPM-based <i>x</i>86-64
     Linux system such as Fedora or openSUSE, you can install the binary RPM
     package rather than use the binary zip file. (I don't provide
@@ -158,13 +158,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     installation process. Distribution maintainers can examine the
     <tt>refind.spec</tt> file in the source package and tweak it to their
     needs. The <a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-0.10.3-1.src.rpm/download">source
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-0.10.4-1.src.rpm/download">source
     RPM file</a> might or might not build on your system as-is; it relies
     on assumptions about the locations of the GNU-EFI development
     files.</li>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind_0.10.3-1_amd64.deb/download">A
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind_0.10.4-1_amd64.deb/download">A
     binary Debian package</a></b>&mdash;If you use an <i>x</i>86-64 version
     of Debian, Ubuntu, Mint, or another Debian-based distribution, you can
     install from this package, which was converted from the binary RPM
@@ -175,7 +175,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <p class="sidebar"><b>Note:</b> At the moment, neither the bootable CD-R image file nor the bootable USB flash drive image file supports booting with Secure Boot active. The x86-64 version of the <a href="http://en.altlinux.org/Rescue">ALT Linux Rescue disc</a> uses a Secure Boot-enabled rEFInd, though, so you may find that useful in some situations.</p>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-cd-0.10.3.zip/download">A
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-cd-0.10.4.zip/download">A
     CD-R image file</a></b>&mdash;This download contains the same files as
     the binary zip file, but you can burn it to a CD-R to test rEFInd
     (and its filesystem drivers) without installing it first. (It boots on
@@ -199,14 +199,14 @@ first partition on <tt>/dev/sdd</tt>. This procedure should work even on a
 BIOS-booted computer.</p>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-flashdrive-0.10.3.zip/download">A
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-flashdrive-0.10.4.zip/download">A
     USB flash drive image file</a></b>&mdash;Although you     can create
     your own rEFInd USB flash drive, you may find it easier to download
     this version and copy it to your USB drive with <tt>dd</tt> or some
     other low-level disk copying utility.</li>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.10.3/refind-src-0.10.3.tar.gz/download">A
+    href="http://sourceforge.net/projects/refind/files/0.10.4/refind-src-0.10.4.tar.gz/download">A
     source code tarball</a></b>&mdash;This is useful if you want to compile
     the software locally. Note that I use Linux with the <a
     href="https://sourceforge.net/projects/tianocore/">TianoCore EFI
index b10e68a..f40d33a 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/26/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
index 43a626a..906f421 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+9/10/2016, referencing rEFInd 0.10.4</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>
@@ -132,6 +132,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p class="sidebar" style="width:95%"><b>Important:</b> A rEFInd zip file, when uncompressed, creates a directory called <tt>refind-<i>version</i></tt>, where <tt><i>version</i></tt> is the version number. This directory includes a subdirectory called <tt>refind</tt> that holds the rEFInd binary along with another that holds documentation, as well as miscellaneous files in <tt>refind-<i>version</i></tt> itself. When I refer to "the <tt>refind</tt> directory" on this page, I mean the directory with that precise name, not the <tt>refind-<i>version</i></tt> directory that is its parent.</p>
 
+<p class="sidebar" style="width:95%"><b>Note:</b> As of version 10.12 ("Sierra"), Apple has renamed its <i>OS X</i> OS to <i>macOS.</i> I continue to use "OS X" to refer to any version of this OS. I've seen reports of rEFInd not working with macOS 10.12; however, my own experience is that it works fine&mdash;with the caveat that the upgrade produces a <i>boot coup,</i> as described on <a href="bootcoup.html">this page of the rEFInd documentation,</a></p>
+
 </div>
 
 <div class="navbar">
@@ -212,11 +214,11 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>I provide RPM and Debian package files for rEFInd; and starting with version 0.8.1, I'm maintaining an Ubuntu PPA for rEFInd. If you have a working RPM-based or Debian-based Linux installation that boots in EFI mode, using one of these files is likely to be the easiest way to install rEFInd: You need only download the file and issue an appropriate installation command. In some cases, double-clicking the package in your file manager will install it. If that doesn't work, a command like the following will install the RPM on an RPM-based system:</p>
 
-<pre class="listing"># <tt class="userinput">rpm -Uvh refind-0.10.3-1.x86_64.rpm</tt></pre>
+<pre class="listing"># <tt class="userinput">rpm -Uvh refind-0.10.4-1.x86_64.rpm</tt></pre>
 
 <p>On a Debian-based system, the equivalent command is:</p>
 
-<pre class="listing"># <tt class="userinput">dpkg -i refind_0.10.3-1_amd64.deb</tt></pre>
+<pre class="listing"># <tt class="userinput">dpkg -i refind_0.10.4-1_amd64.deb</tt></pre>
 
 <p class="sidebar"><b>Warning:</b> Ubuntu 16.04's <tt>sbsigntool</tt> package has a bug that causes the <tt>sbsign</tt> utility to crash randomly. (See <a href="https://bugs.launchpad.net/ubuntu/+source/sbsigntool/+bug/1574372">this bug report</a> for details.) When installing Ubuntu with Secure Boot active from the PPA, this bug will be triggered and is likely to prevent successful installation. Therefore, I recommend you disable Secure Boot or install from the Debian package (with the <tt>sbsigntool</tt> package <i>uninstalled</i>) to avoid this problem. This bug does not exist in Ubuntu 15.10 and earlier.</p>
 
index 9cebf52..e378fed 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/19/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
index cb0d0bd..50ba6f7 100644 (file)
@@ -16,7 +16,7 @@
 <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-<p>Last Web page update: 4/24/2016</p>
+<p>Last Web page update: 10/9/2016</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>
 
@@ -126,6 +126,41 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
+<li><b>0.10.4 (10/9/2016)</b>&mdash;The number of changes in this
+    version is modest, but some features are important to some people:
+
+    <ul>
+
+    <li>Thanks to code submitted by an anonymous contributor, rEFInd now
+       supports <i>some</i> touch screens. This feature relies on support
+       in the firmware itself, though, and even some tablets lack this
+       support, so this feature does not work on all tablets.</li>
+
+    <li>Martin Whitaker has contributed updates to the ext4fs driver to make
+       it compatible with filesystems created with 64-bit pointers. As a
+       practical matter, this is important because 64-bit pointers are now
+       being used by default in some distributions. In theory, this feature
+       may enable use on over-16TiB filesystems, but this is untested at
+       the moment.</li>
+
+    <li>GNU-EFI version 3.0.3 or 3.0.4 has made changes that caused rEFInd's
+       drivers to fail to compile. This version addresses those compilation
+       problems.</li>
+
+    <li>A rEFInd coding error manifested with previous versions of rEFInd
+       when compiled with GNU-EFI starting at version 3.0.3 or 3.0.4,
+       causing the main rEFInd binary to crash. This problem has been
+       fixed. To the best of my knowledge, this bug has never manifested
+       with earlier versions of GNU-EFI or Tianocore builds.</li>
+
+    <li>The <tt>refind-install</tt> script now does a better job of
+       detecting disks that have exotic names&mdash;those other than
+       <tt>/dev/sd?</tt> or <tt>/dev/hd?</tt>.</li>
+
+    </ul>
+
+</li>
+
 <li><b>0.10.3 (4/24/2016)</b>&mdash;This version features mostly modest changes and additions:
 
   <ul>
index d88190b..470d710 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 11/13/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
index 6d0c907..4ece12d 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 11/8/2015; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
@@ -126,7 +126,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <div style="float:right; width:55%">
 
-<p>Apple's OS X 10.11 (aka <i>El Capitan</i>) includes a new feature, known as System Integrity Protection (SIP), aka "rootless" mode. This feature is causing some consternation for advanced users, because it restricts what you can do with your computer, even as <tt>root</tt>. This page is dedicated to this new feature, including basic information on why SIP exists, how to install rEFInd on a computer with SIP enabled, and how to use rEFInd to manage SIP. Note that if you've come here for help installing rEFInd on a Mac with SIP enabled, you can click to one of the methods in the "Contents" box to the left of this paragraph. I recommend trying Recovery mode first; but if you have reason to try another method, you can do so.</p>
+<p>Apple's OS X 10.11 (aka <i>El Capitan</i>) added a new feature, known as System Integrity Protection (SIP), aka "rootless" mode. This feature causes some consternation for advanced users, because it restricts what you can do with your computer, even as <tt>root</tt>. This page is dedicated to this new feature, including basic information on why SIP exists, how to install rEFInd on a computer with SIP enabled, and how to use rEFInd to manage SIP. Note that if you've come here for help installing rEFInd on a Mac with SIP enabled, you can click to one of the methods in the "Contents" box to the left of this paragraph. I recommend trying Recovery mode first; but if you have reason to try another method, you can do so.</p>
 
 </div>
 
@@ -171,19 +171,19 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>To understand SIP, you should first know that Unix-like systems, including OS X, have traditionally provided a model of security in which ordinary users can read and write their own files (word processor documents, their own digital photos, etc.), but cannot write to system files (programs, system configuration files, etc.)&mdash;and users cannot even read some system files. This system security model has worked well for decades on traditional Unix systems, which have been administered by computer professionals and used by individuals with less experience. For administrative tasks, the <tt>root</tt> account is used. On Macs, this access is generally granted by the <tt>sudo</tt> command or by various GUI tools. Most Macs, in contrast to traditional Unix mainframes and minicomputers from the 20th century, are single-user computers that are administered by their users. Such people often lack the knowledge of the professional system administrators who have traditionally managed Unix systems; but they must still perform system administration tasks such as installing new software and configuring network settings. OS X has always provided some measure of security by requiring users to enter their passwords before performing these dangerous tasks, and by providing GUI tools to help guide users through these tasks in a way that minimizes the risk of damage.</p>
 
-<p>Apple has apparently decided that these safeguards are no longer sufficient, at least for certain tasks, such as writing files to certain system directories and installing boot loaders. I won't try to speak for Apple or explain their motivations, but the result of Apple's decisions is SIP. With SIP active, as is the default, OS X 10.11 limits your ability to perform some of these administrative tasks. You can still install and remove most third-party programs, configure your network, and so on; but some critical directories can no longer be written, even as <tt>root</tt>, and some utilities cannot be used in certain ways, even as <tt>root</tt>. These restrictions impact rEFInd because one of the affected tools, a command called <tt>bless</tt>, is required to tell the Mac to boot rEFInd rather than to boot OS X directly.</p>
+<p>Apple has apparently decided that these safeguards are no longer sufficient, at least for certain tasks, such as writing files to certain system directories and installing boot loaders. I won't try to speak for Apple or explain their motivations, but the result of Apple's decisions is SIP. With SIP active, as is the default, OS X 10.11 and later limits your ability to perform some of these administrative tasks. You can still install and remove most third-party programs, configure your network, and so on; but some critical directories can no longer be written, even as <tt>root</tt>, and some utilities cannot be used in certain ways, even as <tt>root</tt>. These restrictions impact rEFInd because one of the affected tools, a command called <tt>bless</tt>, is required to tell the Mac to boot rEFInd rather than to boot OS X directly.</p>
 
 <a name="sip_enabled">
 <h2>Installing rEFInd with SIP Enabled</h2>
 </a>
 
-<p>The end result of SIP is that rEFInd cannot be installed under OS X 10.11 in the way described on the <a href="installing.html">Installing rEFInd</a> page&mdash;at least, not without first booting into <a href="#recovery">Recovery mode,</a> in which SIP restrictions are ignored; or <a href="#disable">disabling SIP</a> (either temporarily or permanently). This page covers these two options in more detail, as well as a third: <a href="#another">Using another OS</a> to install rEFInd.</p>
+<p>The end result of SIP is that rEFInd cannot be installed under OS X 10.11 and later in the way described on the <a href="installing.html">Installing rEFInd</a> page&mdash;at least, not without first booting into <a href="#recovery">Recovery mode,</a> in which SIP restrictions are ignored; or <a href="#disable">disabling SIP</a> (either temporarily or permanently). This page covers these two options in more detail, as well as a third: <a href="#another">Using another OS</a> to install rEFInd.</p>
 
 <a name="recovery">
 <h3>Using Recovery Mode</h3>
 </a>
 
-<p>Unless you've deleted it, the Recovery HD partition should be present on your Mac as a way to perform emergency recovery operations. The nature of this tool means that SIP cannot be enabled when using it, so you can install rEFInd from a boot to this partition. The trouble is that this installation is not a full-fledged OS X system, so you may have trouble using it if you're not comfortable with such a bare-bones environment. Nontheless, it is arguably the best way to install rEFInd on a Mac that runs OS X 10.11. To do so, follow these steps:</p>
+<p>Unless you've deleted it, the Recovery HD partition should be present on your Mac as a way to perform emergency recovery operations. The nature of this tool means that SIP cannot be enabled when using it, so you can install rEFInd from a boot to this partition. The trouble is that this installation is not a full-fledged OS X system, so you may have trouble using it if you're not comfortable with such a bare-bones environment. Nontheless, it is arguably the best way to install rEFInd on a Mac that runs OS X 10.11 or later. To do so, follow these steps:</p>
 
 <ol>
 
@@ -229,7 +229,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>This command will disable SIP for all OSes that honor this setting. (In theory, multiple versions of OS X might be installed on a single computer, and all of them that support SIP should honor the SIP settings. To the best of my knowledge, no non-Apple OS honors SIP settings, although that could change.)</p>
 
-<p>Once you've typed this command, you can reboot the computer. When you return to your regular OS X installation, SIP should be disabled and rEFInd should install normally, as described on the <a href="installing.html">Installing rEFInd</a> page. You will also be able to use disk partitioning tools like my <a href="http://www.rodsbooks.com/gdisk/">GPT fdisk,</a> write to directories that are normally off-limits, and so on. Note that disabling SIP does <i>not</i> disable normal Unix-style protections&mdash;you'll still need to use <tt>sudo</tt> (or enter your password in a GUI dialog box) to acquire <tt>root</tt> privileges to perform these system-administration tasks. You'll be no less safe with SIP disabled under OS X 10.11 than you would be with OS X 10.10 or earlier; you simply won't have its added protections against user error or malicious software.</p>
+<p>Once you've typed this command, you can reboot the computer. When you return to your regular OS X installation, SIP should be disabled and rEFInd should install normally, as described on the <a href="installing.html">Installing rEFInd</a> page. You will also be able to use disk partitioning tools like my <a href="http://www.rodsbooks.com/gdisk/">GPT fdisk,</a> write to directories that are normally off-limits, and so on. Note that disabling SIP does <i>not</i> disable normal Unix-style protections&mdash;you'll still need to use <tt>sudo</tt> (or enter your password in a GUI dialog box) to acquire <tt>root</tt> privileges to perform these system-administration tasks. You'll be no less safe with SIP disabled under OS X 10.11 or later than you would be with OS X 10.10 or earlier; you simply won't have its added protections against user error or malicious software.</p>
 
 <p>If you want to re-enable SIP, you can do so in exactly the way you disabled it, except that you should type <tt class="userinput">csrutil enable</tt> rather than <tt class="userinput">csrutil disable</tt> in the Recovery environment.</p>
 
@@ -267,7 +267,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
-<li>If you've already installed another OS but can't boot it because of an upgrade to OS X 10.11, you can use rEFInd on CD-R or USB flash drive to boot to your other OS. You can download images for both media from the <a href="getting.html">rEFInd downloads page.</a> Prepare a boot medium, insert it in your computer, reboot, and hold down the Option (or Alt) key. The Mac's built-in boot menu should appear, enabling you to boot rEFInd from the removable disk. It should then let you boot your already-installed OS, whereupon you can follow the <a href="installing.html">regular rEFInd installation instructions</a> for that OS.</li>
+<li>If you've already installed another OS but can't boot it because of an upgrade to OS X 10.11 or later, you can use rEFInd on CD-R or USB flash drive to boot to your other OS. You can download images for both media from the <a href="getting.html">rEFInd downloads page.</a> Prepare a boot medium, insert it in your computer, reboot, and hold down the Option (or Alt) key. The Mac's built-in boot menu should appear, enabling you to boot rEFInd from the removable disk. It should then let you boot your already-installed OS, whereupon you can follow the <a href="installing.html">regular rEFInd installation instructions</a> for that OS.</li>
 
 <li>It's imperative that your rEFInd installation occur in an <i>EFI-mode boot!</i> Many Windows installations on Macs, in particular, are done in BIOS/CSM/legacy mode, and so cannot be used for installing rEFInd. rEFInd can boot most Linux installations in EFI mode (as above), but if a BIOS-mode GRUB is installed, you might accidentally boot it. See the <a href="bootmode.html">What's Your Boot Mode?</a> page for information on how to determine your boot mode.</li>
 
@@ -320,7 +320,7 @@ csr_values 10,77</pre>
 <h2>Conclusion</h2>
 </a>
 
-<p>Although the goal of increased security is a good one, SIP is causing problems for intermediate and advanced users. The good news is that the process to install rEFInd on a system that runs OS X 10.11, although more complex than it used to be, is not an impossible one. Furthermore, once you've done it, you shouldn't have to do it again for a while. (An update to OS X's boot loader is entirely possible, though. If nothing else, the next major OS X update may require re-installing rEFInd.) For advanced users, rEFInd can adjust SIP settings, which can be helpful if you occasionally want to do something that require greater-than-typical privileges.</p>
+<p>Although the goal of increased security is a good one, SIP is causing problems for intermediate and advanced users. The good news is that the process to install rEFInd on a system that runs OS X 10.11 or later, although more complex than it used to be, is not an impossible one. Furthermore, once you've done it, you shouldn't have to do it again for a while. (An update to OS X's boot loader is entirely possible, though. If nothing else, the next major OS X update may require re-installing rEFInd.) For advanced users, rEFInd can adjust SIP settings, which can be helpful if you occasionally want to do something that require greater-than-typical privileges.</p>
 
 <hr />
 
index 387574d..38340cb 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:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
index 84febe6..fbcdd5a 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
@@ -361,9 +361,11 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        detected boot programs and create a set of manual boot stanzas for
        them, so that they can be modified manually.</li>
 
-    <li>Support for touchscreens and/or configurable buttons for rEFInd's
-       actions would enable use of rEFInd on tablet computers that lack
-       complete keyboards.</li>
+    <li>Better support for touchscreens and/or configurable buttons for
+       rEFInd's actions would enable use of rEFInd on tablet computers that
+       lack complete keyboards. (Version 0.10.4 supports <i>some</i>
+       touchscreens, but this feature relies on support in the firmware,
+       which is not universally present.)</li>
 
     <li>The ability to rotate the display for users who rotate their
        monitors or who use tablets would be helpful.</li>
index 1f4749f..908abee 100644 (file)
@@ -17,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/24/2016, referencing rEFInd 0.10.3</p>
+10/9/2016, referencing rEFInd 0.10.4</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>
index 5ef49be..8c38d9c 100644 (file)
@@ -80,7 +80,7 @@ EFI_GUID gEfiFileSystemVolumeLabelInfoIdGuid = EFI_FILE_SYSTEM_VOLUME_LABEL_INFO
 /** Helper macro for stringification. */
 #define FSW_EFI_STRINGIFY(x) #x
 /** Expands to the EFI driver name given the file system type name. */
-#define FSW_EFI_DRIVER_NAME(t) L"rEFInd 0.10.3 " FSW_EFI_STRINGIFY(t) L" File System Driver"
+#define FSW_EFI_DRIVER_NAME(t) L"rEFInd 0.10.4 " FSW_EFI_STRINGIFY(t) L" File System Driver"
 
 // function prototypes
 
index 19da6a0..861c2b4 100755 (executable)
@@ -795,7 +795,7 @@ SetupMacHfs() {
         <key>ProductName</key>
         <string>rEFInd</string>
         <key>ProductVersion</key>
-        <string>0.10.3</string>
+        <string>0.10.4</string>
 </dict>
 </plist>
 ENDOFHERE
index c3849cd..fd3c92f 100644 (file)
@@ -1,6 +1,6 @@
 Summary: EFI boot manager software
 Name: refind
-Version: 0.10.3
+Version: 0.10.4
 Release: 1%{?dist}
 Summary: EFI boot manager software
 License: GPLv3
@@ -177,6 +177,8 @@ fi
 # thus wiping out the just-updated files.
 
 %changelog
+* Sun Oct 9 2016 R Smith <rodsmith@rodsbooks.com> - 0.10.4
+- Updated spec file for 0.10.4
 * Sun Apr 24 2016 R Smith <rodsmith@rodsbooks.com> - 0.10.3
 - Updated spec file for 0.10.3
 * Tue Jan 26 2016 R Smith <rodsmith@rodsbooks.com> - 0.10.2