GPTSYNC_DIR=gptsync
EFILIB_DIR=EfiLib
export EDK2BASE=/usr/local/UDK2014/MyWorkSpace
-export REFIND_VERSION='L"0.10.4.4"'
+export REFIND_VERSION='L"0.10.5"'
# 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
-0.10.5 (??/??/2017):
---------------------
+0.10.5 (3/4/2017):
+------------------
- Two improvements to initrd detection for Linux kernels:
- If multiple initrd files match the kernel's version number, the file
+refind (0.10.5-0ppa1) xenial; urgency=medium
+
+ * Version bump
+
+ -- Roderick Smith <rodsmith@rodsbooks.com> Sat, 04 Mar 2017 18:18:50 -0500
+
refind (0.10.4.2-0ppa1) xenial; urgency=medium
* Version bump
.\" 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.4" "Roderick W. Smith" "rEFInd Manual"
+.TH "MKRLCONF" "8" "0.10.5" "Roderick W. Smith" "rEFInd Manual"
.SH "NAME"
mkrlconf \- Create a Linux kernel configuration file for rEFInd
.SH "SYNOPSIS"
.\" 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.4" "Roderick W. Smith" "rEFInd Manual"
+.TH "MVREFIND" "8" "0.10.5" "Roderick W. Smith" "rEFInd Manual"
.SH "NAME"
mvrefind \- Move a rEFInd installation from one location to another
.SH "SYNOPSIS"
.\" 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.4" "Roderick W. Smith" "rEFInd Manual"
+.TH "REFIND-INSTALL" "8" "0.10.5" "Roderick W. Smith" "rEFInd Manual"
.SH "NAME"
refind-install \- Install rEFInd to the ESP and create an NVRAM entry
.SH "SYNOPSIS"
.\" 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.4" "Roderick W. Smith" "rEFInd Manual"
+.TH "REFIND-MKDEFAULT" "8" "0.10.5" "Roderick W. Smith" "rEFInd Manual"
.SH "NAME"
refind-mkdefault \- Set rEFInd as the default EFI boot option
.SH "SYNOPSIS"
<p class="subhead">by Roderick W. Smith, <a
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
-<p>Originally written: 10/9/2016, referencing rEFInd 0.10.4</p>
+<p>Originally written: 3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2016 by Roderick W. Smith</p>
+<p>copyright © 2016–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>\r
\r
<p>Originally written: 3/14/2012; last Web page update:\r
-10/29/2016, referencing rEFInd 0.10.4</p>\r
+3/4/2017, referencing rEFInd 0.10.5</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
\r
<hr />\r
\r
-<p>copyright © 2012–2016 by Roderick W. Smith</p>\r
+<p>copyright © 2012–2017 by Roderick W. Smith</p>\r
\r
<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>\r
\r
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 4/19/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<ul>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.10.4/refind-bin-0.10.4.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-bin-0.10.5.zip/download">A
binary zip file</a></b>—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
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.4/refind-bin-gnuefi-0.10.4.zip/download">variant
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-bin-gnuefi-0.10.5.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.4/refind-0.10.4-1.x86_64.rpm/download">A
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-0.10.5-1.x86_64.rpm/download">A
binary RPM file</a></b>—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
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.4/refind-0.10.4-1.src.rpm/download">source
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-0.10.5-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.4/refind_0.10.4-1_amd64.deb/download">A
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind_0.10.5-1_amd64.deb/download">A
binary Debian package</a></b>—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
<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.4/refind-cd-0.10.4.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-cd-0.10.5.zip/download">A
CD-R image file</a></b>—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
BIOS-booted computer.</p>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.10.4/refind-flashdrive-0.10.4.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-flashdrive-0.10.5.zip/download">A
USB flash drive image file</a></b>—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.4/refind-src-0.10.4.tar.gz/download">A
+ href="http://sourceforge.net/projects/refind/files/0.10.5/refind-src-0.10.5.tar.gz/download">A
source code tarball</a></b>—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
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-9/10/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2012–2015 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/19/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<p class="sidebar">A kernel whose filename lacks a version string matches an initial RAM disk that also lacks a version string in its filename. Note that you can reliably use only <i>one</i> kernel and initial RAM disk per directory that lack version numbers in their filenames.</p>
-<li>rEFInd looks for an initial RAM disk in the same directory as the
- kernel file. A matching initial RAM disk has a name that begins with
+<li>rEFInd looks for an initial RAM disk in the same directory as the kernel
+ file. A matching initial RAM disk has a name that begins with
<tt>init</tt> and that includes the same version string as the kernel.
- The version string is defined as the part of the filename from the
- first digit to the last digit, inclusive. Note that the version string
- can include non-digits. For instance, the version string for
+ The version string is defined as the part of the filename from the first
+ digit to the last digit, inclusive. Note that the version string can
+ include non-digits. For instance, the version string for
<tt>bzImage-3.19.0.efi</tt> is <tt>3.19.0</tt>, which matches
<tt>initramfs-3.19.0.bz</tt>; and
<tt>vmlinuz-4.2.5-300.fc23.x86_64</tt>'s version string is
<tt>4.2.5-300.fc23.x86_64</tt>, which matches
<tt>initrd-4.2.5-300.fc23.x86_64.img</tt>. Many other matches are
- possible. If an initial RAM disk is identified, rEFInd passes a
- suitable <tt>initrd=</tt> option to the kernel when it boots.</li>
+ possible. If an initial RAM disk is identified, rEFInd passes a suitable
+ <tt>initrd=</tt> option to the kernel when it boots. There are two
+ variants on this rule:
+
+ <ul>
+
+ <li>As an extension to the preceding point, if multiple initial RAM disk
+ files match one kernel, the one whose filename matches the most
+ characters after the version string is 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>If the <tt>refind_linux.conf</tt> file (described next) is present,
+ and if an <tt>initrd=</tt> specification is present for the option
+ you're using, rEFInd will <i>not</i> add a pointer to the initial
+ RAM disk file that it discovers. This feature enables you to
+ override rEFInd's initial RAM disk discovery. This is most useful in
+ Arch Linux, which can be configured with two different initial RAM
+ disk files, one to be used for normal booting and one for recovery
+ situations. You can specify each initial RAM disk file on its own
+ line, which gives you the ability to control which to use at boot
+ time.</li></ul>
<li>rEFInd looks for a file called <tt>refind_linux.conf</tt> in the same
- directory as the kernel file. It consists of a series of lines,
- each of which consists of a label followed by a series of kernel
- options. The first line sets default options, and subsequent lines set
- options that are accessible from the main menu tag's submenu screen. If
- you installed rEFInd with the <tt>refind-install</tt>
- script, that script created a sample <tt>refind_linux.conf</tt> file,
- customized for your computer, in <tt>/boot</tt>. This file will work
- without changes on many installations, but you may need to tweak it for
- some.</li>
+ directory as the kernel file. It consists of a series of lines, each of
+ which consists of a label followed by a series of kernel options. The
+ first line sets default options, and subsequent lines set options that
+ are accessible from the main menu tag's submenu screen. If you installed
+ rEFInd with the <tt>refind-install</tt> script, that script created a
+ sample <tt>refind_linux.conf</tt> file, customized for your computer, in
+ <tt>/boot</tt>. This file will work without changes on many
+ installations, but you may need to tweak it for some. If the kernel
+ options string includes the substring <tt>%v</tt>, rEFInd substitutes
+ the kernel version number for that string. (If you need the actual
+ string <tt>%v</tt> in your kernel options, use <tt>%%v</tt> instead;
+ rEFInd will change this to <tt>%v</tt>.) This feature can be used to
+ match an initial RAM disk file that requires special treatment, such as
+ if you have multiple numbered kernels, each of which has two initial RAM
+ disk files.</li>
<li>If rEFInd can't find a <tt>refind_linux.conf</tt> file in the directory
that holds the kernel, the program looks for a file called
<li>If rEFInd can't find a <tt>refind_linux.conf</tt> file or an
<tt>/etc/fstab</tt> file, it tries to identify the Linux root
- (<tt>/</tt> filesystem by looking for a partition with a GUID type code
+ (<tt>/</tt>) filesystem by looking for a partition with a GUID type code
matching that specified for the root (<tt>/</tt>) filesystem in the <a
href="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Freedesktop.org
Discoverable Partitions Specification.</a> These type codes are as yet
<li>All the kernels in a given directory use the same
<tt>refind_linux.conf</tt> file. If you need to set different options
for different kernels, you'll need to place those kernels in different
- directories.</li>
+ directories. (A partial exception is the kernel version string, which
+ can be passed via the <tt>%v</tt> variable, as noted earlier.)</li>
<li>You must place your kernels in a directory other than the one that
holds the main rEFInd <tt>.efi</tt> file. This is because rEFInd does
<hr/>
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
<p class="subhead">by Roderick W. Smith, <a
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
-<p>Last Web page update: 10/9/2016</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>
<ul>
+<li><b>0.10.5 (3/4/2017)</b>—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>—The number of changes in this
version is modest, but some features are important to some people:
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 11/13/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 11/8/2015; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2015-2016 by Roderick W. Smith</p>
+<p>copyright © 2015–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 4/19/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
align="center" width="750" alt="A clean theme with a light background"
border=2> </a></center><br />
-<li>Nitrofurano has posted <a href="http://opendesktop.org/content/show.php?content=169069">a 1970s-inspired theme</a> on opendesktop.org.</li>
-
- <br /><center><a
- href="http://opendesktop.org/content/show.php?content=169069"><img
- src="http://opendesktop.org/CONTENT/content-pre1/169069-1.png"
- align="center" width="750" alt="Like disco and John Travolta? Maybe
- this theme is for you!" border=2> </a></center><br />
-
</ul>
<p>If you've created or discovered another rEFInd theme, please <a href="mailto:rodsmith@rodsbooks.com">tell me about it</a> so that I can provide a link to it from this page.</p>
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2016, referencing rEFInd 0.10.5</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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-10/9/2016, referencing rEFInd 0.10.4</p>
+3/4/2017, referencing rEFInd 0.10.5</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>
<hr />
-<p>copyright © 2012–2016 by Roderick W. Smith</p>
+<p>copyright © 2012–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>
/** 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.4 " FSW_EFI_STRINGIFY(t) L" File System Driver"
+#define FSW_EFI_DRIVER_NAME(t) L"rEFInd 0.10.5 " FSW_EFI_STRINGIFY(t) L" File System Driver"
// function prototypes
<key>ProductName</key>
<string>rEFInd</string>
<key>ProductVersion</key>
- <string>0.10.4</string>
+ <string>0.10.5</string>
</dict>
</plist>
ENDOFHERE
# thus wiping out the just-updated files.
%changelog
-* Wed Mar 1 2017 R Smith <rodsmith@rodsbooks.com> - 0.10.5
+* Sat Mar 4 2017 R Smith <rodsmith@rodsbooks.com> - 0.10.5
- Updated spec file for 0.10.5
* Sun Oct 9 2016 R Smith <rodsmith@rodsbooks.com> - 0.10.4
- Updated spec file for 0.10.4
return Found;
} // BOOLEAN IsSubstringIn()
-// Replace *SearchString in **MainString with *ReplString.
+// Replace *SearchString in **MainString with *ReplString -- but if *SearchString
+// is preceded by "%", instead remove that character.
// Returns TRUE if replacement was done, FALSE otherwise.
BOOLEAN ReplaceSubstring(IN OUT CHAR16 **MainString, IN CHAR16 *SearchString, IN CHAR16 *ReplString) {
BOOLEAN WasReplaced = FALSE;
if (NewString) {
EndString = &(FoundSearchString[StrLen(SearchString)]);
FoundSearchString[0] = L'\0';
+ if ((FoundSearchString > *MainString) && (FoundSearchString[-1] == L'%')) {
+ FoundSearchString[-1] = L'\0';
+ ReplString = SearchString;
+ } // if
StrCpy(NewString, *MainString);
MergeStrings(&NewString, ReplString, L'\0');
MergeStrings(&NewString, EndString, L'\0');