<p class="subhead">by Roderick W. Smith, <a
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
-<p>Last Web page update: 9/19/2015</p>
+<p>Last Web page update: 11/8/2015</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>
<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>
<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>
<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>
<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>
<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>
<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>
<ul>
+<li><b>0.10.0 (11/8/2015)</b>—I've given this version an extra-large version number bump because of some highly user-visible changes, especially for Mac users. Changes include:
+
+ <ul>
+
+ <li>I've swapped out the old icons for new ones. I've replaced the old
+ icons because the OS icons were becoming a hopeless mish-mash of
+ styles and because I wanted to consolidate the icon collection to use
+ a more limited set of original sources for record-keeping purposes.
+ If you prefer the old icons, you can continue to use them. After
+ upgrading, rename <tt>icons-backup</tt> to something else (say,
+ <tt>icons-classic</tt>) and add a line to <tt>refind.conf</tt> to
+ reference the new directory, as in <tt>icons_dir
+ icons-classic</tt>.</li>
+
+ <li>A new feature, <tt>spoof_osx_version</tt>, causes rEFInd to tell a
+ Mac that it's about to launch OS X. This alters how some Macs
+ initialize hardware, which can make secondary video chipsets work on
+ some Macs. See the comments in <tt>refind.conf-sample</tt> or on the
+ <a href="using.html">Using rEFInd</a> page for details. This feature
+ has no effect on UEFI-based PCs.</li>
+
+ <li>Another new feature enables you to adjust a Mac's System Integrity
+ Protection (SIP) settings from within rEFInd. To use this feature,
+ you must adjust two lines in <tt>refind.conf</tt>: The new
+ <tt>csr_values</tt> line sets hexadecimal values through which you
+ can rotate using a new second-row tag that's activated by the new
+ <tt>scanfor</tt> line option of <tt>csr_rotate</tt>. Thus, you must
+ add or change both the <tt>scanfor</tt> and <tt>csr_values</tt>
+ lines. See the new <a href="sip.html">rEFInd and System Integrity
+ Protection</a> page for information on how to use this new feature.
+ Although this feature can work on UEFI-based PCs if they contain the
+ necessary NVRAM variable, such systems are unlikely to have this
+ variable, and it's unlikely to be useful even if it's present.</li>
+
+ <li>If the SIP NVRAM variable is set, rEFInd now displays its current
+ value in the About screen.</li>
+
+ <li>I've renamed several support scripts: <tt>install.sh</tt> to
+ <tt>refind-install</tt>, <tt>mvrefind.sh</tt> to <tt>mvrefind</tt>,
+ and <tt>mkrlconf.sh</tt> to <tt>mkrlconf</tt>. I've also added man
+ pages for <tt>mvrefind</tt> and <tt>mkrlconf</tt>.</li>
+
+ <li>Under OS X, <tt>refind-install</tt> now checks the machine's SIP
+ status and warns the user if it's active. To help with such
+ installations, the script can also now be run from a boot of the
+ Recovery HD.</li>
+
+ <li>Under Linux, <tt>refind-install</tt> and <tt>mkrlconf</tt> now use
+ <tt>/proc/cmdline</tt> as a source for the default boot options for
+ Linux kernels, rather than trying to extract them from GRUB
+ configuration files—<i>except</i> when the <tt>--root</tt>
+ option is used, in which case the script continues to use the GRUB
+ configuration files as a source of boot options. This change should
+ help rEFInd pick up exotic boot options that GRUB computes at boot
+ time, such as Btrfs subvolume options.</li>
+
+ <li>I've added a new script, called <tt>mountesp</tt>, which mounts the
+ ESP on Macs, using the same algorithm used by
+ <tt>refind-install</tt>. This should help Mac users who want to edit
+ their rEFInd configurations.</li>
+
+ <li>I've changed the default <tt>also_scan_dirs</tt> setting from
+ <tt>boot</tt> to <tt>boot,@/boot</tt>. This change helps rEFInd pick
+ up kernels from Btrfs volumes.</li>
+
+ <li>I've changed from <tt>.zip</tt> to a tarball (<tt>.tar.gz</tt>) as
+ the file format for the source code package. This change simply
+ reflects the fact that Linux is the only supported build environment
+ for rEFInd, and tarballs are more in line with that platform than are
+ <tt>.zip</tt> files. The primary binary file format remains a
+ <tt>.zip</tt> file, with Debian packages and RPMs also
+ available.</li>
+
+ <li>My 32-bit Mac Mini suffered from a bug that caused rEFInd's
+ icon-resizing code to hang in a conversion from floating-point to
+ integer values. I've therefore adjusted the icon-resizing code to
+ avoid doing floating-point computations. This change has a drawback,
+ though: It causes some images to acquire artifacts when resized,
+ particularly on 32-bit systems. If you run into such a problem, you
+ should scale your icon(s) or banner/background image so that it does
+ not need to be resized. Sorry, but between a system crash and minor
+ graphics artifacts, the graphics artifacts are the lesser of two
+ evils.</li>
+
+ </ul></li>
+
<li><b>0.9.2 (9/19/2015)</b>—Soon after releasing 0.9.1, I started receiving bug reports about problems with it and Shim 0.8. (See <a href="https://sourceforge.net/p/refind/discussion/general/thread/2c248b11/?limit=25#1324">this thread</a> for one such report.) It turns out that the problem was not a new bug in rEFInd, but rather a change from Shim 0.7 to Shim 0.8 that made it next to useless with rEFInd. Specifically, Shim 0.8 now de-registers itself from the EFI after a follow-on program launches another one. This is done to avoid problems in a boot path in which Shim launches <tt>fallback.efi</tt>, which in turn launches <i>another</i> Shim. This creates a new problem, though: rEFInd can validate just one binary before it's "cut off" from Shim. Since rEFInd's drivers are binaries, if you use a single driver, that means that you won't be able to launch anything that requires validation via Shim. I quickly discovered a workaround, which I've implemented in this release. I consider this a "band-aid" patch, though, because it relies on a quirk of Shim's logic to bypass its de-registration. As such, the workaround in this release may break with a future Shim. A true fix will take longer to develop. I want to release this workaround version to head off further problems in the near term, though. This version also introduces a new feature, which is also Shim-related: Since version 0.7, Shim has supported launching binaries other than <tt>grubx64.efi</tt> by passing them on the command line. (Actually, Shim 0.4 supported this, but it required a broken path specification.) I've added support for this feature to <tt>install.sh</tt>: Adding the <tt>--keepname</tt> option to install.sh causes the script to preserve rEFInd's regular filename and to register the approprirate follow-on parameters to have Shim launch rEFInd by that name. This works, but is likely to be more delicate than using the default Shim follow-on name of <tt>grubx64.efi</tt>. The advantage, of course, is that rEFInd needn't "lie" about its name, which makes for less confusion in filenames. For the moment, the RPM and Debian packages I build do <i>not</i> use this new naming feature, since I can't be sure what version of Shim might be picked up. These changes do not affect users who do not use Secure Boot.</li>
<li><b>0.9.1 (9/13/2015)</b>—This version has improved the Discoverable Partitions Specification (DPS) support in a number of ways that should make it more reliable when <tt>/etc/fstab</tt> omits references to the root (<tt>/</tt>) partition or when the GPT read-only or do-not-automount options are used to control these features. A stray DPS-related debugging print command has also been removed. I've improved rEFInd's ability to guess the Linux distribution by having it examine <tt>/etc/lsb-release</tt> as well as <tt>/etc/os_release</tt>, and I've added an icon for Elementary OS. Finally, I've made improvements to rEFInd's handling of case-insensitive string comparisons, which were buggy on some EFIs, particularly when rEFInd was compiled with GNU-EFI. rEFInd is still at the mercy of the EFI and support libraries, but many problem cases should now be resolved.</li>