]> code.delx.au - refind/blobdiff - docs/refind/revisions.html
Version 0.10.5 release.
[refind] / docs / refind / revisions.html
index 32f708b94b2cb91be9a423a03ea68f129550a7e2..6f372639a5502fdf5e9c2f1243b62c090ee8376c 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: 9/19/2015</p>
+<p>Last Web page update: 3/4/2017</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>
 
@@ -41,8 +41,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>
 
@@ -56,8 +55,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>
 
@@ -72,8 +70,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>
 
@@ -87,8 +84,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>
 
@@ -102,8 +98,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>
 
@@ -116,8 +111,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>
@@ -132,6 +126,248 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
+<li><b>0.10.5 (3/4/2017)</b>&mdash;This version includes a number of
+    modest changes, most of which will be of interest to relatively few
+    people:
+    <ul>
+
+    <li>The touch/tablet support has been improved and so may work with
+        a few more systems.</li>
+
+    <li>The <tt>refind-install</tt> script has been updated to work better
+       with disks other than those whose names take the form
+       <tt>/dev/sd?</tt> and <tt>/dev/hd?</tt> (in Linux).</li>
+
+    <li>For the benefit of new Apple laptops that lack physical Esc and
+       function keys, additional keybindings have been added: Backspace
+       (Delete on most Mac keyboards) now works the same as Esc, and Tab
+       now works the same as F2/Insert/<tt>+</tt>.</li>
+
+    <li>The Linux initial RAM disk detection code has been expanded so that,
+       if two initial RAM disk files are found for a kernel, the one with
+       more characters after the version string that match the equivalent
+       characters in the kernel filename will be used. For instance,
+       suppose the kernel filename is <tt>vmlinuz-4.8.0-32-standard</tt>,
+       and two initial RAM disk files are
+       <tt>initrd-4.8.0-32-standard</tt> and
+       <tt>initrd-4.8.0-32-debug</tt>. The first of those files has nine
+       matching characters after the version string (<tt>-standard</tt>),
+       vs. just one matching character (<tt>-</tt>) for the second. Thus,
+       the first file will be used.</li>
+
+    <li>A second change to Linux initial RAM disk detection is that you can
+       now specify the kernel version string with the string <tt>%v</tt> in
+       the <tt>refind_linux.conf</tt> file's options field. Thus, if your
+       distribution provides two initial RAM disk files per kernel, and
+       also provides numbered kernels, you can create a
+       <tt>refind_linux.conf</tt> file that enables you to boot with either
+       (or both) of the initial RAM disk files that match a specific
+       kernel.</li>
+
+    <li>I've done some minor code optimization in the functions that search
+       for boot loaders. This had no noticeable effect on speed for me, and
+       is likely to be more than offset by the more complex initial RAM
+       disk processing noted above; but it might help a little bit on
+       systems with many boot loaders or kernels.</li>
+
+    </ul>
+</li>
+
+<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>
+
+  <li>A new Linux script, <tt>refind-mkdefault</tt>, simplifies the task of resetting rEFInd as the default boot program. It's documented <a href="refind-mkdefault.html">here.</a> I've also written a new <a href="bootcoup.html">documentation page on the problem generally,</a> which covers how to handle the problem in multiple OSes.</li>
+
+  <li>I've modified the SIP/CSR rotation code so that the SIP/CSR rotation tool will appear more reliably on Apple computers.</li>
+
+  <li>The NTFS driver has been improved to reduce the chances of it hanging randomly.</li>
+
+  <li>The code that excludes shell binaries from appearing in the main boot list has been altered to reduce the odds of an incorrect exclusion from occurring.</li>
+
+  <li>rEFInd now recognizes the <tt>fwupx64.efi</tt> program as a special case: If detected, this program is presented as a second-row option rather than as a regular boot loader. (This tool is used to update firmware on some computers.)</li>
+
+  <li>BIOS/CSM/legacy-mode OSes all now include the string <tt>Legacy</tt> in their descriptions on Macs.</li>
+
+  </ul>
+
+</li>
+
+<li><b>0.10.2 (1/26/2016)</b>&mdash;Changes to this version are relatively modest and focus on bug fixes:
+
+  <ul>
+
+  <li>A bug in <tt>refind-install</tt> under OS X could cause the <tt>mountesp</tt> script to be installed as a <i>file</i> called <tt>/usr/local/bin</tt> if that directory was absent. This bug has been fixed.</li>
+
+  <li>Another OS X <tt>refind-install</tt> bug caused the <tt>--usedefault</tt> option to not work properly. This has been fixed.</li>
+
+  <li>A Linux <tt>refind-install</tt> bug caused Secure Boot detection to fail in some cases. This has also been fixed.</li>
+
+  <li>The <tt>mvrefind</tt> script could fail to move the Windows boot loader file (<tt>bootmgfw.efi</tt>) under some circumstances. Another bug in the same script caused <tt>mvrefind</tt> to register rEFInd using its default filename (<tt>rEFInd Boot Manager</tt>) rather than the name <tt>Windows Boot Manager</tt> when moving rEFInd to the Windows boot manager's location. Both of these bugs have been squashed.</li>
+
+  <li>A long-standing but obscure bug/quirk affects some EFIs, such as that in the HP ProBook 6470b: These EFIs connect useless drivers to partitions with no known filesystems, <i>before</i> rEFInd can load filesystem drivers. The result is that drivers loaded by rEFInd could not read the partitions in question. This version of rEFInd works around this problem.</li>
+
+  <li>A bug introduced in rEFInd 0.10.1 caused custom volume badge icons (read from an icon directory specified by <tt>icons_dir</tt> in <tt>refind.conf</tt>) to be ignored. I've fixed this bug.</li>
+
+  <li>Finally, a small non-bug improvement: I've added <tt>centos.crt</tt> and <tt>centos.cer</tt> public-key files for CentOS to the <tt>keys</tt> directory.</li>
+
+  </ul>
+
+</li>
+
+<li><b>0.10.1 (12/12/2015)</b>&mdash;This version of the program features one big change that will affect very few people, another big behind-the-scenes change, and a number of small changes that will affect more people:
+
+  <ul>
+
+  <li>rEFInd now compiles and runs on ARM64 (aka AARCH64 or AA64) systems. To date, I've tested it only using QEMU, so this support is <i>very</i> preliminary, almost to the point of being theoretical.</li>
+
+  <li>I've made significant changes to the <tt>Makefiles</tt> used to compile rEFInd. This should have no effect on the way rEFInd functions, or even in how most programming tasks are done; but the changes should help simplify some future changes.</li>
+
+  <li>I've made font changes: I've removed Luxi Sans Mono and changed the default font from Nimbus Mono to Liberation Mono.</li>
+
+  <li>A bug that causes rEFInd to fail to detect boot loaders on removable media when rEFInd itself was launched from the fallback filename is now history.</li>
+
+  <li>Fedora, Red Hat, and CentOS use a special recovery kernel with a name beginning <tt>vmlinuz-0-rescue</tt>. This kernel could be newer than others, which would make it the default on in a "folded" set of kernels&mdash;a highly undesirable situation. I've therefore modified rEFInd's loader-sorting algorithm to move this rescue kernel to the end of the list, no matter what its time stamp reads.</li>
+
+  <li>I've added a workaround to <tt>gptsync</tt> to fix problems that caused it to skip through its menus using the defaults without taking user input on some Macs. I've also added 53746F72-6167-11AA-AA11-00306543ECAC (Apple Core Storage, <tt>gdisk</tt> type AF05) to the list of partition types that <tt>gptsync</tt> recognizes.</li>
+
+  <li>The <tt>refind-install</tt> script can now be run as a symbolic link in Linux, which means it can be run as a normal command.</li>
+
+  <li>I've fixed bugs in <tt>refind-install</tt> and in <tt>mkrlconf</tt> that could cause them to misidentify kernel options. See <tt>NEWS.txt</tt> for details.</li>
+
+  <li>I've moved the detailed description of <tt>refind-install</tt> from <a href="installing.html">Installing rEFInd</a> to <a href="refind-install.html">a man page,</a> and I've created HTML versions of the three man pages that the project now includes.</li>
+
+  <li>I've added <tt>kernel*</tt> as a pattern for matching Linux kernels, since Gentoo Linux names its kernels by this pattern.</li>
+
+  <li>I've updated <a href="http://lodev.org/lodepng/">LodePNG,</a> which is the PNG graphics library that rEFInd uses, to version 20151024.</li>
+
+  <li>The rEFInd PPA now asks for confirmation before installing to the ESP when the package is first installed. Updates follow the instructions given on first installation. You can modify this setting by typing <tt class="userinput">dpkg-reconfigure refind</tt>.</li>
+
+  </ul>
+
+</li>
+
+<li><b>0.10.0 (11/8/2015)</b>&mdash;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&mdash;<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>&mdash;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>&mdash;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>
@@ -254,7 +490,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <hr />
 
-<p>copyright &copy; 2012&ndash;2015 by Roderick W. Smith</p>
+<p>copyright &copy; 2012&ndash;2017 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>