From: srs5694
Date: Sun, 1 Feb 2015 23:39:09 +0000 (-0500)
Subject: Version 0.8.5 release.
X-Git-Url: https://code.delx.au/refind/commitdiff_plain/899b647b89d57f623e69d3a890dbee84a7dfe451
Version 0.8.5 release.
---
diff --git a/NEWS.txt b/NEWS.txt
index 3d23137..f596f8f 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,8 +1,22 @@
-0.8.5 (??/??/2015):
--------------------
+0.8.5 (2/1/2015):
+-----------------
+
+- Added NTFS EFI filesystem driver.
+
+- Minor improvements to filesystem driver framework code.
+
+- Changes to
+
+- Fixed bug in Btrfs driver's address reference.
- Improved install.sh to make it smarter about figuring out where to
- install on Macs.
+ install on Macs. Specifically, this version now upgrades existing
+ installations, if found (as it always has under Linux), rather than
+ blindly install to EFI/BOOT; it installs to EFI/refind if not existing
+ installation is found; it installs using the --shortform option to bless,
+ which seems to eliminate the 30-second delay problem; and it can handle
+ an HFS+ ESP, which it treats as a separate HFS+ volume (as if the user
+ had used --ownhfs). These changes do not affect behavior under Linux.
- Added missing check of architecture type for several tools.
diff --git a/debian/changelog b/debian/changelog
index 6a023aa..9ddecde 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+refind (0.8.5-0ppa1) UNRELEASED; urgency=medium
+
+ * Version bump
+
+ -- Roderick Smith Sun, 01 Feb 2015 17:44:19 -0500
+
refind (0.8.4-0ppa1) trusty; urgency=medium
* Version bump
diff --git a/docs/refind/configfile.html b/docs/refind/configfile.html
index 503a2d4..0a54c4e 100644
--- a/docs/refind/configfile.html
+++ b/docs/refind/configfile.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/docs/refind/drivers.html b/docs/refind/drivers.html
index 3d76467..36e800f 100644
--- a/docs/refind/drivers.html
+++ b/docs/refind/drivers.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 4/19/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
@@ -269,7 +269,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
All of these drivers rely on filesystem wrapper code written by rEFIt's author, Christoph Phisterer.
-
+
If you want to use one or more of these drivers, you can install them from the rEFInd binary package from the refind/drivers_arch directory, where arch is a CPU architecture code—x64 or ia32. The files are named after the filesystems they handle, such as ext4_x64.efi for the 64-bit ext4fs driver. You should copy the files for the filesystems you want to use to the drivers or drivers_arch 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.
diff --git a/docs/refind/features.html b/docs/refind/features.html
index 90029d2..03e4933 100644
--- a/docs/refind/features.html
+++ b/docs/refind/features.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
@@ -230,7 +230,7 @@ such as those with Gigabyte's Hybrid EFI, lack a usable CSM.
An "exit" option (disabled by default), so that you can return to whatever shell or boot manager you used to launch rEFInd, should this ability be desirable. (This feature first appeared in rEFInd 0.2.4.)
-Drivers for ISO-9660, HFS+, ext4fs, and Btrfs, which are not included in rEFIt. (The ISO-9660 driver is based on code from the rEFIt project, but was never completed by its original author. It was completed by Oracle for VirtualBox. The ext4fs driver is derived from the rEFIt ext2fs driver, and the Btrfs driver is derived from the rEFIt and GRUB 2.0 driver code.)
+Drivers for ISO-9660, NTFS, HFS+, ext4fs, and Btrfs, which are not included in rEFIt. The ISO-9660 driver is based on code from the rEFIt project, but was never completed by its original author. It was completed by Oracle for VirtualBox. The ext4fs driver is derived from the rEFIt ext2fs driver, and the Btrfs and NTFS drivers are derived from the rEFIt and GRUB 2.0 driver code.
Beginning with version 0.5.0, the ability to "talk" to the shim boot loader to validate binaries supported by shim or its machine owner key (MOK) list when booting with Secure Boot active.
diff --git a/docs/refind/getting.html b/docs/refind/getting.html
index 636c457..ba882da 100644
--- a/docs/refind/getting.html
+++ b/docs/refind/getting.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
@@ -136,7 +136,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
- A
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-bin-0.8.5.zip/download">A
binary zip file—Download this if you want to install
rEFInd and/or its filesystem drivers on an x86 or x86-64
computer and have no need to test rEFInd first by booting it on an
@@ -146,13 +146,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
href="installing.html">Installing rEFInd page. Some users of Arch
Linux have reported problems booting some specific Arch Linux kernels
with rEFInd and some other tools. For them, a variant
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-bin-gnuefi-0.8.5.zip/download">variant
package exists in which the x86-64 binary was compiled with
GNU-EFI rather than the usual TianoCore EDK2. This change helps some
users with this problem.
- A
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-0.8.5-1.x86_64.rpm/download">A
binary RPM file—If you use an RPM-based x86-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 an
@@ -161,13 +161,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
rEFInd page) as part of the installation process. Distribution
maintainers can examine the refind.spec file in the source
package and tweak it to their needs. The source
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-0.8.5-1.src.rpm/download">source
RPM file might or might not build on your system as-is; it relies
on assumptions about the locations of the GNU-EFI development
files.
- A
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind_0.8.5-1_amd64.deb/download">A
binary Debian package—If you use an x86-64 version
of Debian, Ubuntu, Mint, or another Debian-based distribution, you can
install from this package, which was converted from the binary RPM
@@ -191,7 +191,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
- A
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-cd-0.8.5.zip/download">A
CD-R image file—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
@@ -215,14 +215,14 @@ on /dev/sdd. This procedure should work even on a BIOS-booted
computer.
- A
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-flashdrive-0.8.5.zip/download">A
USB flash drive image file—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 dd or some
other low-level disk copying utility.
- A
+ href="http://sourceforge.net/projects/refind/files/0.8.5/refind-src-0.8.5.zip/download">A
source code zip file—This is useful if you want to compile
the software locally. Note that I use Linux with the TianoCore EFI
diff --git a/docs/refind/index.html b/docs/refind/index.html
index 418c818..1645c81 100644
--- a/docs/refind/index.html
+++ b/docs/refind/index.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/docs/refind/installing.html b/docs/refind/installing.html
index 925c237..c2d833f 100644
--- a/docs/refind/installing.html
+++ b/docs/refind/installing.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
@@ -186,14 +186,18 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
- Fixing Windows Boot Problems
@@ -218,7 +222,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Installing rEFInd Using an RPM or Debian Package File
-I provide RPM and Debian package files for rEFInd; and starting with version 0.8.4, 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:
+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:
# rpm -Uvh refind-0.8.4-1.x86_64.rpm
@@ -256,7 +260,7 @@ $ sudo apt-get install refind
Under Linux, install.sh will be most reliable if your ESP is already mounted at /boot or /boot/efi, as described in more detail in the Installing rEFInd Manually Using Linux section. (If you installed Linux in EFI mode, chances are your ESP is properly mounted.) If your ESP is not so mounted, install.sh will attempt to locate and mount an ESP, but this action is not guaranteed to work correctly. If you run install.sh from a BIOS/legacy-mode boot, particularly on a computer that also runs Windows, you should be aware that the tricks the script uses to install itself from BIOS mode are rather delicate. You can convert to a more conventional configuration using the mvrefind.sh script after you've booted in EFI mode.
-Prior to version 0.8.4, install.sh installed rEFInd to the OS X root partition by default. I changed this because the default configuration for OS X 10.10 ("Yosemite") makes this placement unusable. Instead, install.sh now installs to the ESP under OS X, just as it does under Linux; however, the default installation location under OS X is EFI/BOOT/ rather than EFI/refind/. This difference accommodates a quirk of Apple's EFI, which sometimes imposes a 30-second delay when using anything but the EFI/BOOT location. If you're upgrading a working install of rEFInd to the OS X root partition, it's best to pass the --notesp option to install.sh. This option is described in more detail shortly.
+Prior to version 0.8.4, install.sh installed rEFInd to the OS X root partition by default. I changed this because the default configuration for OS X 10.10 ("Yosemite") makes this placement unusable. Instead, install.sh now installs to the ESP under OS X, just as it does under Linux. If you're upgrading a working install of rEFInd to the OS X root partition, it's best to pass the --notesp option to install.sh. This option is described in more detail shortly.
A sample run under Linux looks something like this:
@@ -572,8 +576,8 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi
- If you're installing rEFInd on the ESP, type sudo bless --mount /Volumes/esp --setBoot --file
- /Volumes/esp/efi/refind/refind_x64.efi, adjusting the mount
- point and exact path to the file as appropriate for your
+ /Volumes/esp/efi/refind/refind_x64.efi --shortform, adjusting
+ the mount point and exact path to the file as appropriate for your
installation.
- If you're installing rEFInd to an ordinary HFS+ volume, type sudo bless --setBoot --folder /efi/refind --file
@@ -867,7 +871,12 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi
this just wastes some disk space; but if you've customized your icons,
you'll need to copy your altered icons back. Under Linux, versions
0.6.2 and later of install.sh search for rEFInd in several
- locations on the ESP, and will upgrade whatever is found.
+ locations on the ESP, and will upgrade whatever is found. The same is
+ true with versions 0.8.5 and later under OS X when installing to the
+ ESP. If you install to a location other than the ESP under OS X, be
+ sure to include the same option to install.sh
+ (--notesp or --ownhfs) to replace the original rather
+ than create a new installation to the ESP.
- Under an RPM- or Debian-based Linux distribution, you can use your
package system to install a newer version of the RPM or Debian package
@@ -993,13 +1002,21 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi
Fixing Macintosh Boot Problems
-I've received a few reports of a sluggish boot process (a delay of about 30 seconds before starting rEFInd) on some Macs after installing rEFInd, as well as some other Mac-specific peculiarities. I've been unable to replicate thess problems myself, and their true causes remains mysterious to me. I have found several possible solutions, though: using the fallback filename, moving rEFInd to an HFS+ volume, clearing NVRAM entries, and fixing wake problems.
+I've received a few reports of a sluggish boot process (a delay of about 30 seconds before starting rEFInd) on some Macs after installing rEFInd, as well as some other Mac-specific peculiarities. I've been unable to replicate thess problems myself, and their true causes remains mysterious to me. I have found several possible solutions, though: Using the --shortform option, using the fallback filename, moving rEFInd to an HFS+ volume, clearing NVRAM entries, fixing wake problems, and fixing a failure to find Linux.
+
+
+Using the --shortform Option
+
+
+Prior to version 0.8.5, these instructions and the install.sh script omitted the --shortform option from the bless command when installing rEFInd to the ESP. An rEFInd user, however, discovered that using the option eliminated the 30-second delay, so it is now the default with 0.8.5's install.sh, and is specified in the instructions. If you installed rEFInd 0.8.4 or earlier, you may want to re-install or re-bless rEFInd using this option.
+
+There is one caveat, though: The man page for bless notes that --shortform notes that its use can come "at the expense of boot time performance." Thus, it's not clear to me that this option might not actually create problems on some computers. (It's eliminated the boot delay on my 2014 MacBook Air and has no detrimental effect on an old 32-bit Mac Mini that's never had a boot delay problem, though.) Thus, if you have problems with rEFInd 0.8.5, you might try running bless, as described in Installing rEFInd Manually Using OS X's step 8, but omit the --shortform option.
Using the Fallback Filename
-I've received a few reports that installing rEFInd to the ESP using the fallback filename (EFI/BOOT/bootx64.efi on most systems, or EFI/BOOT/bootia32.efi on very old Macs) can work around a sluggish boot problem. In fact, since version 0.8.4, the install.sh script copies the rEFInd binary to this name when run under OS X. If you installed manually to another name, though, renaming (and re-blessing) the installation is worth trying.
+I've received a few reports that installing rEFInd to the ESP using the fallback filename (EFI/BOOT/bootx64.efi on most systems, or EFI/BOOT/bootia32.efi on very old Macs) can work around a sluggish boot problem. In fact, version 0.8.4's install.sh script copied the rEFInd binary to this name when run under OS X. (Version 0.8.5 switches to using --shortform with the more conventional EFI/refind/refind_x64.efi or EFI/refind/refind_ia32.efi name, as just noted.) If you installed to a name other than EFI/BOOT/BOOT{ARCH}, either manually or by using the 0.8.5 or later install.sh, renaming (and re-blessing) the installation is worth trying.
Moving rEFInd to an HFS+ Volume
@@ -1045,7 +1062,27 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi
-Unfortunately, I lack a recent Mac and so can't investigate these issues myself, so I'm dependent upon others (mostly non-programmers) to offer workarounds. This is the type of problem that really requires hands-on interactive debugging sessions with the code to stand any chance of finding a better solution.
+I've recently acquired a 2014 MacBook Air, but I haven't yet had the chance to try to reproduce this problem and find a workaround. It's on my to-do list, though.
+
+
+Fixing a Failure to Find Linux
+
+
+Some users report that rEFInd doesn't detect Linux, or won't boot it when it is found. Broadly speaking, there are two common causes of this problem:
+
+
+
+- A malfunctioning BIOS/legacy boot—If you installed Linux in BIOS/legacy mode, as most online documentation suggests, it could be that your hybrid MBR is missing or damaged. The usual symptom of this problem is that rEFInd shows a generic Linux penguin icon and that selecting it produces a message to the effect that a bootable OS could not be found. As hybrid MBRs are ugly and dangerous, I recommend avoiding them if possible, so my preferred solution to this problem is to set up EFI filesystem drivers and boot that way; however, fixing the hybrid MBR may be an easier solution. This is especially true if you installed a 32-bit version of Linux on a 64-bit Mac (or a 64-bit version on a rare Mac with a 64-bit CPU but a 32-bit EFI).
+
+- EFI filesystem driver problems—Ideally, rEFInd should be able to load and run your Linux kernel directly, but this approach normally requires you to have a working EFI driver for the filesystem that holds your Linux kernel. This won't always be the case; and even if it is installed, there can be interference from other drivers, so you may need to remove the drivers that you don't use. If drivers are the root of your problem, you won't see any Linux options, or you'll see the one penguin icon (as above) with no others that point to your Linux kernel(s).
+
+
+
+If you suspect that your hybrid MBR is damaged, you can try re-creating it with my GPT fdisk (gdisk) program. The GPT fdisk hybrid MBR documentation covers this procedure in detail. You can run gdisk from either OS X or Linux, although you may need to install it, particularly in OS X.
+
+If you suspect driver problems, you'll need to mount your ESP (as described in the manual OS X installation instructions), locate the rEFInd drivers_x64 directory, and adjust its contents. Make sure you have a driver for the filesystem that holds your Linux kernel. If you don't know what filesystem this is, it's probably ext4fs. rEFInd ships with several filesystem drivers, including one for ext4fs. You should also remove unnecessary filesystem drivers. I've seen several reports of one driver interfering with others' operation. The biggest culprit seems to be the HFS+ driver when used on Macs.
+
+
Fixing Windows Boot Problems
@@ -1115,14 +1152,36 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi
-- You must first determine where rEFInd is installed. If you used the
- default installation location, this will be /EFI/refind on
- your main partition if you installed rEFInd 0.8.3 or earlier, or in
- EFI/refind or EFI/BOOT on the ESP if you installed
- rEFInd 0.8.4 with the default options. If you used the
- --ownhfs option, rEFInd will be in the
- System/Library/CoreServices directory on the volume you
- specified.
+- You must first determine where rEFInd is installed. This can be any of
+ several locations:
+
+
+
+ - If you installed rEFInd 0.8.3 or earlier with the default options,
+ or if you used the --notesp option with rEFInd 0.8.4 or
+ later, it will be /EFI/refind on your main partition
+
+ - If you installed rEFInd 0.8.4 or later with the default options, or
+ if you used the --esp option with rEFInd 0.8.3 or earlier,
+ it will be in EFI/refind or EFI/BOOT on the
+ ESP.
+
+ - If you used the --ownhfs option to install.sh,
+ rEFInd will be in the System/Library/CoreServices
+ directory on the volume you specified.
+
+ - If you installed rEFInd manually, it will be wherever you put
+ it.
+
+ - In all cases, there could be duplicate (inactive) rEFInd files in
+ unexpected places. This is particularly true if you tried
+ installing rEFInd multiple times, each with different options to
+ install.sh. Thus, if you delete rEFInd and it still comes
+ up, you may have deleted the wrong files. (Note that dragging files
+ to the Trash may have no effect, though—at least, not until
+ you empty the Trash.)
+
+
- If necessary, mount the ESP or rEFInd-specific HFS+ volume, as
described in Installing rEFInd Manually Using Mac OS
@@ -1133,15 +1192,17 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi
installed in that directory. If not, it's not rEFInd there and you
should not proceed. Be extra cautious about deleting the
System/Library/CoreServices directory, since that's
- the default location of the OS X boot loader!
+ the default location of the OS X boot loader! Never delete this
+ directory from your OS X root (/) partition, only from the
+ partition you specified to install.sh using the
+ --ownhfs option.
- Once you've identified the rEFInd directory, delete it, or at least the
rEFInd boot file. This file may be called refind_x64.efi,
bootx64.efi, boot.efi, or conceivably something else.
You may need to use sudo rm at the command line to accomplish
this task, as in sudo rm -r
- /Volumes/esp/EFI/refind. Note that dragging files to the Trash on
- the Desktop may not be adequate unless you also empty the Trash.
+ /Volumes/esp/EFI/refind.
diff --git a/docs/refind/linux.html b/docs/refind/linux.html
index a58502c..63c8f03 100644
--- a/docs/refind/linux.html
+++ b/docs/refind/linux.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/19/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/docs/refind/revisions.html b/docs/refind/revisions.html
index ff21ec3..2b6f579 100644
--- a/docs/refind/revisions.html
+++ b/docs/refind/revisions.html
@@ -14,7 +14,7 @@
by Roderick W. Smith, rodsmith@rodsbooks.com
-Last Web page update: 12/8/2014
+Last Web page update: 2/1/2014
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!
@@ -130,6 +130,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
+- 0.8.5 (2/1/2015)—The biggest single change with this version is a new NTFS driver contributed by Samuel Liao, who also contributed the Btrfs driver. Samuel also contributed some miscellaneous driver fixes and a change to the way the keyboard is handled, which improves responsiveness on some systems. This version also improves the way install.sh works under OS X. In particular, it tweaks the bless command in a way that may eliminate startup delays and it does a better job of detecting and replacing existing rEFInd installations (on the ESP), rather than blindly writing to EFI/BOOT. Finally, this version applies commits from late in rEFIt's history: r467, which improves handling of BIOS/legacy boots from the second and subsequent disks on Macs; and r472, which enables handling BMP images that are not vertically flipped. These commits were not present in rEFInd from the start because the starting point for rEFInd was a Debian source package taken from a slightly earlier version.
+
- 0.8.4 (12/8/2014)—OS X 10.10 ("Yosemite") made changes that necessitated alterations to both rEFInd's install.sh script and rEFInd defaults. Specifically, Yosemite now uses a form of logical volume management (LVM) that makes installing rEFInd to the OS X root directory impossible, so the default location is changed to the ESP. Changes to the default for dont_scan_volumes are necessary to make the new location for the OS X boot loader show up. Another big change is in the new (but experimental) support for network booting, with the help of iPXE. See the BUILDING.txt file in the source package for details on how to build and install the necessary files. A new option for refind.conf, enable_and_lock_vmx, sets the VMX bit on Intel CPUs, which is necessary for booting some hypervisors, such as Hyper-V. This feature can be set on many computers' EFIs, but some, such as Macs, lack this ability. (Do not set this option on AMD CPUs or older Intel CPUs that lack this feature, though!) If rEFInd can't find its icons directory, it now drops back to text mode. A bug in dont_scan_files has been fixed, enabling you to specify a complete path to certain special-case boot loaders to omit them from scans. Finally, I've updated the icons for Fedora and Ubuntu and added an icon for Xubuntu.
- 0.8.3 (7/6/2014)—This version introduces a number of minor bug fixes and feature improvements. The most user-visible of these are that on Macs, rEFInd now displays a partition's label for BIOS-bootable OSes on filesystems that rEFInd can't read; and you can now pass timeout = -1 in refind.conf to have rEFInd boot the default OS immediately unless there's a keypress when rEFInd loads, in which case that keypress is read as a shortcut key. A change that's less likely to be noticed is that the default setting for scan_all_linux_kernels is now true. Since this option had been uncommented in the sample configuration file, this change will not affect most people. I've fixed a bug that caused rEFInd to unload drivers as soon as they were loaded. This didn't affect rEFInd's drivers because they ignored the relevant EFI calls; but this was preventing some other drivers from working. I've added two new icons, one for Mythbuntu and the other for the Clover boot manager. Finally, I've removed Oracle's GPLv2 code from the core filesystem driver code, since it was incompatible with the GPLv3 used by the Btrfs driver. This change shouldn't affect the operation of the drivers, but there's a slim chance that it will.
diff --git a/docs/refind/secureboot.html b/docs/refind/secureboot.html
index 59edf75..7278543 100644
--- a/docs/refind/secureboot.html
+++ b/docs/refind/secureboot.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 11/13/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/docs/refind/themes.html b/docs/refind/themes.html
index a7a2472..14a7612 100644
--- a/docs/refind/themes.html
+++ b/docs/refind/themes.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 4/19/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/docs/refind/todo.html b/docs/refind/todo.html
index 20c52a1..8838bae 100644
--- a/docs/refind/todo.html
+++ b/docs/refind/todo.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/docs/refind/using.html b/docs/refind/using.html
index d0c0abc..dc4abb3 100644
--- a/docs/refind/using.html
+++ b/docs/refind/using.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-12/8/2014, referencing rEFInd 0.8.4
+2/1/2014, referencing rEFInd 0.8.5
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!
diff --git a/filesystems/fsw_efi.c b/filesystems/fsw_efi.c
index 762831e..5313069 100644
--- a/filesystems/fsw_efi.c
+++ b/filesystems/fsw_efi.c
@@ -78,7 +78,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.8.4 " FSW_EFI_STRINGIFY(t) L" File System Driver"
+#define FSW_EFI_DRIVER_NAME(t) L"rEFInd 0.8.5 " FSW_EFI_STRINGIFY(t) L" File System Driver"
// function prototypes
diff --git a/filesystems/fsw_ntfs.c b/filesystems/fsw_ntfs.c
index a03bb2e..86db271 100644
--- a/filesystems/fsw_ntfs.c
+++ b/filesystems/fsw_ntfs.c
@@ -1339,7 +1339,7 @@ static fsw_status_t fsw_ntfs_dir_lookup(struct fsw_volume *volg, struct fsw_dnod
buf = dno->idxroot + 16;
len = dno->rootsz - 16;
if(len < 0x18)
- return FSW_NOT_FOUND;
+ goto notfound;
while(depth < 10) {
/* real index size */
@@ -1349,7 +1349,7 @@ static fsw_status_t fsw_ntfs_dir_lookup(struct fsw_volume *volg, struct fsw_dnod
/* skip index header */
off = GETU32(buf, 0);
if(off >= len)
- return FSW_NOT_FOUND;
+ goto notfound;
block = 0;
while(off + 0x18 <= len) {
@@ -1369,10 +1369,11 @@ static fsw_status_t fsw_ntfs_dir_lookup(struct fsw_volume *volg, struct fsw_dnod
}
if(cmp == 0) {
+ fsw_strfree(&s);
return fsw_ntfs_create_subnode(dno, buf+off, child_dno);
} else if(cmp < 0) {
if(!(flag & 1) || !dno->has_idxtree)
- return FSW_NOT_FOUND;
+ goto notfound;
block = GETU64(buf, next-8) + 1;
break;
} else { /* cmp > 0 */
@@ -1389,6 +1390,8 @@ static fsw_status_t fsw_ntfs_dir_lookup(struct fsw_volume *volg, struct fsw_dnod
depth++;
}
+notfound:
+ fsw_strfree(&s);
return FSW_NOT_FOUND;
}
diff --git a/gptsync/gptsync.h b/gptsync/gptsync.h
index c35740a..0f4ea5c 100644
--- a/gptsync/gptsync.h
+++ b/gptsync/gptsync.h
@@ -35,7 +35,7 @@
*/
/* Changes copyright (c) 2013 Roderick W. Smith */
-#define VERSION L"0.8.4"
+#define VERSION L"0.8.5"
//
// config
diff --git a/install.sh b/install.sh
index 93b4cde..437fa3c 100755
--- a/install.sh
+++ b/install.sh
@@ -29,7 +29,7 @@
# to the current OS X boot partition. Under Linux, this script
# installs to the ESP by default.
#
-# This program is copyright (c) 2012-2014 by Roderick W. Smith
+# This program is copyright (c) 2012-2015 by Roderick W. Smith
# It is released under the terms of the GNU GPL, version 3,
# a copy of which should be included in the file COPYING.txt.
#
@@ -399,6 +399,8 @@ CopyDrivers() {
;;
hfsplus) DriverType="hfs"
;;
+ ntfs) DriverType="ntfs"
+ ;;
*) BootFS=""
esac
if [[ -n $BootFS ]] ; then
@@ -639,7 +641,7 @@ SetupMacHfs() {
ProductName
rEFInd
ProductVersion
- 0.7.6
+ 0.8.5
ENDOFHERE
@@ -661,7 +663,7 @@ InstallOnOSX() {
Platform=`ioreg -l -p IODeviceTree | grep firmware-abi | cut -d "\"" -f 4`
CopyRefindFiles
if [[ $InstallToEspOnMac == "1" ]] ; then
- bless --mount "$InstallDir" --setBoot --file "$InstallDir/$TargetDir/$Refind"
+ bless --mount "$InstallDir" --setBoot --file "$InstallDir/$TargetDir/$Refind" --shortform
elif [[ "$TargetDir" != "/EFI/BOOT" ]] ; then
bless --setBoot --folder "$InstallDir/$TargetDir" --file "$InstallDir/$TargetDir/$Refind"
fi
@@ -1089,11 +1091,6 @@ if [[ $OSName == 'Darwin' ]] ; then
echo "The --localkeys option is not supported on OS X! Exiting!"
exit 1
fi
- if [[ $InstallToEspOnMac == 1 ]] ; then
- TargetDir=/EFI/BOOT
- TargetX64="bootx64.efi"
- TargetIA32="bootia32.efi"
- fi
InstallOnOSX $1
elif [[ $OSName == 'Linux' ]] ; then
InstallOnLinux
diff --git a/refind.spec b/refind.spec
index ecbf456..f44a67a 100644
--- a/refind.spec
+++ b/refind.spec
@@ -1,6 +1,6 @@
Summary: EFI boot manager software
Name: refind
-Version: 0.8.4
+Version: 0.8.5
Release: 1%{?dist}
Summary: EFI boot manager software
License: GPLv3
@@ -159,6 +159,8 @@ fi
# wiping out the just-updated files.
%changelog
+* Sun Feb 2 2015 R Smith - 0.8.5
+- Updated spec file for 0.8.5
* Mon Dec 8 2014 R Smith - 0.8.4
- Updated spec file for 0.8.4
* Sun Jul 6 2014 R Smith - 0.8.3
diff --git a/refind/config.c b/refind/config.c
index 9e5016b..1d3e927 100644
--- a/refind/config.c
+++ b/refind/config.c
@@ -35,7 +35,7 @@
*/
/*
- * Modifications copyright (c) 2012-2014 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
diff --git a/refind/config.h b/refind/config.h
index 6e903f3..1aedd5d 100644
--- a/refind/config.h
+++ b/refind/config.h
@@ -35,7 +35,7 @@
*/
/*
- * Modifications copyright (c) 2012-2014 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
diff --git a/refind/global.h b/refind/global.h
index ea1f71f..5daf41b 100644
--- a/refind/global.h
+++ b/refind/global.h
@@ -34,7 +34,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
- * Modifications copyright (c) 2012-2014 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
diff --git a/refind/gpt.c b/refind/gpt.c
index 83dd6d3..de93317 100644
--- a/refind/gpt.c
+++ b/refind/gpt.c
@@ -2,7 +2,7 @@
* refind/gpt.c
* Functions related to GPT data structures
*
- * Copyright (c) 2014 Roderick W. Smith
+ * Copyright (c) 2014-2015 Roderick W. Smith
* All rights reserved.
*
* This program is distributed under the terms of the GNU General Public
diff --git a/refind/gpt.h b/refind/gpt.h
index 3a6d912..0ce6724 100644
--- a/refind/gpt.h
+++ b/refind/gpt.h
@@ -2,7 +2,7 @@
* refind/gpt.h
* Functions related to GPT data structures
*
- * Copyright (c) 2014 Roderick W. Smith
+ * Copyright (c) 2014-2015 Roderick W. Smith
* All rights reserved.
*
* This program is distributed under the terms of the GNU General Public
diff --git a/refind/icns.h b/refind/icns.h
index b1c8fdb..17e91ee 100644
--- a/refind/icns.h
+++ b/refind/icns.h
@@ -34,7 +34,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
- * Modifications copyright (c) 2012-2014 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
diff --git a/refind/lib.c b/refind/lib.c
index 1a7bb81..d3347c7 100644
--- a/refind/lib.c
+++ b/refind/lib.c
@@ -34,7 +34,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
- * Modifications copyright (c) 2012-2014 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
diff --git a/refind/lib.h b/refind/lib.h
index 6a106ee..c908c11 100644
--- a/refind/lib.h
+++ b/refind/lib.h
@@ -34,7 +34,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
- * Modifications copyright (c) 2012 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
diff --git a/refind/main.c b/refind/main.c
index 76241e5..3ccd5e3 100644
--- a/refind/main.c
+++ b/refind/main.c
@@ -34,7 +34,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
- * Modifications copyright (c) 2012-2014 Roderick W. Smith
+ * Modifications copyright (c) 2012-2015 Roderick W. Smith
*
* Modifications distributed under the terms of the GNU General Public
* License (GPL) version 3 (GPLv3), a copy of which must be distributed
@@ -176,7 +176,7 @@ static VOID AboutrEFInd(VOID)
if (AboutMenu.EntryCount == 0) {
AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
- AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.4.2");
+ AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.5");
AddMenuInfoLine(&AboutMenu, L"");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012-2014 Roderick W. Smith");