From dbdbde86cd84f49eae223790dd45df85ad1f5f85 Mon Sep 17 00:00:00 2001 From: srs5694 Date: Sun, 8 Feb 2015 09:56:43 -0500 Subject: [PATCH] 0.8.6 release. --- NEWS.txt | 14 ++++++---- debian/changelog | 4 +-- docs/refind/bootmode.html | 4 +-- docs/refind/configfile.html | 6 ++-- docs/refind/drivers.html | 21 ++++++++------ docs/refind/features.html | 4 +-- docs/refind/getting.html | 34 +++++++++++------------ docs/refind/index.html | 4 +-- docs/refind/installing.html | 6 ++-- docs/refind/linux.html | 4 +-- docs/refind/revisions.html | 6 ++-- docs/refind/secureboot.html | 4 +-- docs/refind/themes.html | 4 ++- docs/refind/todo.html | 15 +++++----- docs/refind/using.html | 4 +-- install.sh | 2 +- refind.spec | 4 ++- refind/global.h | 21 +++++++------- refind/lib.c | 55 ++++++++++++++++++++++--------------- refind/main.c | 5 ++-- 20 files changed, 124 insertions(+), 97 deletions(-) diff --git a/NEWS.txt b/NEWS.txt index 071b2ce..724ad0d 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,5 +1,9 @@ -0.8.6 (?/??/2016): ------------------- +0.8.6 (2/8/2016): +----------------- + +- Removed special case of ignoring an HFS+ name of "HFS+ volume", since the + old rEFInd HFS+ driver that produced this name for all HFS+ volumes has + long since been updated to deliver a real name. - Addition of new Windows 8 OS icon. On Macs and for BIOS/legacy boots, the new icon is now used for Windows Vista, 7, and 8, while the old one is @@ -9,7 +13,7 @@ - If the NTFS driver is loaded, rEFInd now scans NTFS volumes on Macs for the presence of Windows boot files, and removes any NTFS volume that lacks such files from the BIOS/legacy boot list. This should help - unclutter the display on systems that contain NTFS data partitions. + unclutter the display on Macs that contain NTFS data partitions. - Fixed bug that caused misidentification of both whole disks and NTFS volumes as being FAT. (This bug affected the identification of devices @@ -28,8 +32,8 @@ - Fixed install.sh bug that caused misidentification of installation directory under OS X if an already-mounted ESP has spaces in its path. -- Fixed install.sh bug that could cause misidentification of the ESP on - disks with partition numbers of 10 or above. +- Fixed Mac-specific install.sh bug that could cause misidentification of + the ESP on disks with partition numbers of 10 or above. 0.8.5 (2/1/2015): diff --git a/debian/changelog b/debian/changelog index 9ddecde..692e954 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -refind (0.8.5-0ppa1) UNRELEASED; urgency=medium +refind (0.8.6-0ppa1) trusty; urgency=medium * Version bump - -- Roderick Smith Sun, 01 Feb 2015 17:44:19 -0500 + -- Roderick Smith Sun, 08 Feb 2015 09:38:43 -0500 refind (0.8.4-0ppa1) trusty; urgency=medium diff --git a/docs/refind/bootmode.html b/docs/refind/bootmode.html index 4736bb9..35895d2 100644 --- a/docs/refind/bootmode.html +++ b/docs/refind/bootmode.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/8/2015, referencing rEFInd 0.8.6

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!

@@ -264,7 +264,7 @@ resumeobject {3aa4c728-9935-11e0-9f12-806e6f6e6963}
-

copyright © 2012–2014 by Roderick W. Smith

+

copyright © 2012–2015 by Roderick W. Smith

This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

diff --git a/docs/refind/configfile.html b/docs/refind/configfile.html index bbd5bd3..d38a8d4 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: -2/1/2014, referencing rEFInd 0.8.5

+2/8/2015, referencing rEFInd 0.8.6

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!

@@ -196,7 +196,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

As a special case, rEFInd assigns icons to the Windows and OS X boot loaders based on their conventional locations, so they get suitable icons even if they don't follow these rules.

-

In addition to the main OS tag icon, you can set the badge icon for a volume by creating a file called .VolumeBadge.icns or .VolumeBadge.png in the root directory of a partition. If present, it replaces the disk-type icons that are overlaid on the main OS icon. If you use this feature, the badge is applied to all the boot loaders read from the disk, not just those stored in the root directory or the Apple boot loader location. You could use this feature to set a custom badge for different specific disks or to help differentiate multiple OS X installations on one computer. If you don't want any badges, you can replace the three badge icons in the rEFInd icons subdirectory (vol_external.icns, vol_internal.icns, and vol_optical.icns) with a completely transparent badge. The transparent.icns file in the rEFInd icons directory may be used for this purpose.

+

In addition to the main OS tag icon, you can set the badge icon for a volume by creating a file called .VolumeBadge.icns or .VolumeBadge.png in the root directory of a partition. If present, it replaces the disk-type icons that are overlaid on the main OS icon. If you use this feature, the badge is applied to all the boot loaders read from the disk, not just those stored in the root directory or the Apple boot loader location. You could use this feature to set a custom badge for different specific disks or to help differentiate multiple OS X installations on one computer. If you don't want any badges, you can add the badges option to hideui in refind.conf. Alternatively, or to hide just certain types of badges, you can replace the four badge icons in the rEFInd icons subdirectory (vol_external.png, vol_internal.png, vol_optical.png, and vol_net.png) with a completely transparent badge. The transparent.png file in the rEFInd icons directory may be used for this purpose.

The default icon sizes are 128x128 pixels for OS icons, 48x48 pixels for the second-row tools, and 32x32 pixels for badges. You can change the sizes of the big OS icons and the small tool icons with the big_icon_size and small_icon_size tokens in refind.conf, as noted in Table 1. The size of the disk-type badges is 1/4 the size of OS icons.

@@ -596,7 +596,7 @@ menuentry Gentoo {
-

copyright © 2012–2014 by Roderick W. Smith

+

copyright © 2012–2015 by Roderick W. Smith

This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

diff --git a/docs/refind/drivers.html b/docs/refind/drivers.html index 037763f..178906a 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: -2/1/2014, referencing rEFInd 0.8.5

+2/8/2015, referencing rEFInd 0.8.6

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!

@@ -264,12 +264,17 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

to boot Windows with rEFInd, since Windows stores its EFI boot loader on the (FAT) ESP, and the BIOS boot process (generally used when dual-booting on a Mac) relies only on the partition's boot sector, - which is read without the benefit of this driver. You might use this - driver if you want to store large boot files, such as EFI-accessible - RAM disk images, from Windows. Also, if you have NTFS data partitions - on a Mac, loading this driver should exclude them from the boot menu; - and you should see NTFS volume names in the boot menu on a Mac if you - load this driver. + which is read without the benefit of this driver. Reasons to use this + driver include: +
    +
  • If you want to store large boot files to be read from EFI, such as + RAM disk images, from Windows.
  • +
  • If you have a Mac and NTFS data partitions, loading this driver + should exclude those data partitions from the boot menu.
  • +
  • If you have a Mac that dual-boots with Windows, using this driver + should provide NTFS volume names in the boot menu.
  • +
+ @@ -363,7 +368,7 @@ ways.


-

copyright © 2012–2014 by Roderick W. Smith

+

copyright © 2012–2015 by Roderick W. Smith

This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

diff --git a/docs/refind/features.html b/docs/refind/features.html index 03e4933..80c1578 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: -2/1/2014, referencing rEFInd 0.8.5

+2/8/2015, referencing rEFInd 0.8.6

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!

@@ -246,7 +246,7 @@ such as those with Gigabyte's Hybrid EFI, lack a usable CSM.
-

copyright © 2012–2014 by Roderick W. Smith

+

copyright © 2012–2015 by Roderick W. Smith

This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

diff --git a/docs/refind/getting.html b/docs/refind/getting.html index 4352412..377aa13 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: -2/1/2014, referencing rEFInd 0.8.5

+2/8/2015, referencing rEFInd 0.8.6

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.6/refind-bin-0.8.6.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.6/refind-bin-gnuefi-0.8.6.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.6/refind-0.8.6-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.6/refind-0.8.6-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.6/refind_0.8.6-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.6/refind-cd-0.8.6.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.6/refind-flashdrive-0.8.6.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.6/refind-src-0.8.6.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 @@ -255,13 +255,13 @@ computer.

  • Ubuntu—Although an official Ubuntu package isn't available, I've created a rEFInd PPA - for Ubuntu. To use it, type sudo - apt-add-repository ppa:rodsmith/refind, then sudo apt-get update. You can then type sudo apt-get install refind to install the package. - Thereafter, the rEFInd version will update along with your other - software. This package is built with GNU-EFI and is not signed with a - Secure Boot key; however, the install script (which launches + for Ubuntu. To use it, open a Terminal window and type sudo apt-add-repository ppa:rodsmith/refind, + then sudo apt-get update. You can then type + sudo apt-get install refind to install the + package. Thereafter, the rEFInd version will update along with your + other software. This package is built with GNU-EFI and is not signed + with a Secure Boot key; however, the install script (which launches automatically when you install the package) should sign the binary with a locally-generated key if it detects that your system uses Secure Boot. Thus, if you've previously installed one of my binaries on a @@ -304,7 +304,7 @@ computer.


    -

    copyright © 2012–2014 by Roderick W. Smith

    +

    copyright © 2012–2015 by Roderick W. Smith

    This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

    diff --git a/docs/refind/index.html b/docs/refind/index.html index 1645c81..6b35afc 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: -2/1/2014, referencing rEFInd 0.8.5

    +2/8/2015, referencing rEFInd 0.8.6

    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!

    @@ -254,7 +254,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com


    -

    copyright © 2012–2014 by Roderick W. Smith

    +

    copyright © 2012–2015 by Roderick W. Smith

    This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

    diff --git a/docs/refind/installing.html b/docs/refind/installing.html index c2d833f..b847e50 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: -2/1/2014, referencing rEFInd 0.8.5

    +2/8/2015, referencing rEFInd 0.8.6

    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!

    @@ -474,7 +474,7 @@ Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 191284 16604 174681 9% /boot/efi - +

    This example shows that /dev/sda1 is mounted at /boot/efi, which is a typical configuration. (The ESP can be on another disk or partition, but /dev/sda1 is the most common place for an ESP.) If your output shows /boot or / under the Mounted on column, then your ESP isn't mounted. (An exception is if you're mounting the ESP at /boot. This is an unusual configuration. If you're using it, you can proceed, making suitable adjustments to subsequent commands.) If you get a df: `/boot/efi': No such file or directory error message, then the /boot/efi directory doesn't even exist. In such cases, you may need to jump through some extra hoops, as described on my EFI Boot Loader Installation page.

    @@ -1010,7 +1010,7 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi

    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.

    +

    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 or later, 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

    diff --git a/docs/refind/linux.html b/docs/refind/linux.html index 63c8f03..f716d2f 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: -2/1/2014, referencing rEFInd 0.8.5

    +2/8/2015, referencing rEFInd 0.8.6

    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!

    @@ -487,7 +487,7 @@ total 17943
    -

    copyright © 2012–2014 by Roderick W. Smith

    +

    copyright © 2012–2015 by Roderick W. Smith

    This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

    diff --git a/docs/refind/revisions.html b/docs/refind/revisions.html index 2b6f579..01e3959 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: 2/1/2014

    +

    Last Web page update: 2/8/2015

    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.6 (2/8/2015)—Most (but not all) of this release's changes focus on Windows dual-booting and Mac-specific issues. There's a new Windows 8 icon, which is now used by default as the Windows icon, although the old icon remains available and is used for Windows XP and earlier boots on Macs. If the NTFS driver is loaded, rEFInd will now exclude non-bootable NTFS volumes from the Mac boot list (this change does not affect UEFI-based PCs). A bug that caused misidentification of whole disks and NTFS volumes as being FAT has been fixed (again, this problem affected Macs, not PCs). A couple of Mac-specific install.sh bugs have been fixed, resulting in more reliable identification of the ESP and of the installation directory. Previous versions ignored a volume name of "HFS+ volume" because that name was produced by earlier versions of the rEFInd HFS+ driver for all HFS+ volumes; but the current HFS+ driver produces a real volume name, so I've removed that special case from the code. I've removed the r472 rEFIt commit, introduced in 0.8.5, because it was causing some BMP files to fail to load. Finally, the hideui token in refind.conf now accepts a value of badges, which has the effect of hiding the disk-type badges associated with OS launch icons.
    • +
    • 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.
    • @@ -242,7 +244,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com


      -

      copyright © 2012–2014 by Roderick W. Smith

      +

      copyright © 2012–2015 by Roderick W. Smith

      This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

      diff --git a/docs/refind/secureboot.html b/docs/refind/secureboot.html index 7278543..d2a4147 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: -2/1/2014, referencing rEFInd 0.8.5

      +2/8/2015, referencing rEFInd 0.8.6

      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!

      @@ -499,7 +499,7 @@ $ openssl x509 -in refind_local.crt -out refind_local.cer
      -

      copyright © 2012–2014 by Roderick W. Smith

      +

      copyright © 2012–2015 by Roderick W. Smith

      This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

      diff --git a/docs/refind/themes.html b/docs/refind/themes.html index 14a7612..5e17782 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: -2/1/2014, referencing rEFInd 0.8.5

      +2/8/2015, referencing rEFInd 0.8.6

      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!

      @@ -294,6 +294,8 @@ to be tedious.

    • Brian Lechthaler has created an alternative rEFInd banner. +
    • User munlik has created a theme called Regular-theme on Deviantart.
    • +

    If you've created or discovered another rEFInd theme, please tell me about it so that I can provide a link to it from this page.

    diff --git a/docs/refind/todo.html b/docs/refind/todo.html index b8930a1..946ce72 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: -2/1/2014, referencing rEFInd 0.8.5

    +2/8/2015, referencing rEFInd 0.8.6

    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,12 +269,11 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

    receiving a patch.
  • If you use a true MBR disk on a Mac to boot Windows or some other - BIOS-only OS, and if that disk has an extended partition, that - partition may show up in rEFInd as a bootable FAT partition. The - reason is twofold: FAT doesn't contain a simple "magic" signature - like most filesystems, so it's easy to misidentify something else - as FAT; and it's hard to positively identify boot code vs. other - random data.
  • + BIOS-only OS, and if that disk has an extended partition, bogus + additional BIOS/legacy-bootable options may appear in the rEFInd + menu. The reason appears to be a bug in the handling of + extended/logical partitions in the refind/lib.c file, but + I haven't fully tracked it down.
  • The re-scan feature occasionally produces odd results, such as ignoring new media or keeping old media that have been ejected. @@ -445,7 +444,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com


    -

    copyright © 2012–2014 by Roderick W. Smith

    +

    copyright © 2012–2015 by Roderick W. Smith

    This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

    diff --git a/docs/refind/using.html b/docs/refind/using.html index dc4abb3..924728f 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: -2/1/2014, referencing rEFInd 0.8.5

    +2/8/2015, referencing rEFInd 0.8.6

    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!

    @@ -380,7 +380,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com


    -

    copyright © 2012–2014 by Roderick W. Smith

    +

    copyright © 2012–2015 by Roderick W. Smith

    This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

    diff --git a/install.sh b/install.sh index a95d30e..4306c3f 100755 --- a/install.sh +++ b/install.sh @@ -644,7 +644,7 @@ SetupMacHfs() { ProductName rEFInd ProductVersion - 0.8.5 + 0.8.6 ENDOFHERE diff --git a/refind.spec b/refind.spec index f44a67a..057cb53 100644 --- a/refind.spec +++ b/refind.spec @@ -1,6 +1,6 @@ Summary: EFI boot manager software Name: refind -Version: 0.8.5 +Version: 0.8.6 Release: 1%{?dist} Summary: EFI boot manager software License: GPLv3 @@ -159,6 +159,8 @@ fi # wiping out the just-updated files. %changelog +* Sun Feb 8 2015 R Smith - 0.8.6 +- Updated spec file for 0.8.6 * 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 diff --git a/refind/global.h b/refind/global.h index 8ad30f5..506c8a6 100644 --- a/refind/global.h +++ b/refind/global.h @@ -121,16 +121,17 @@ // Filesystem type identifiers. Not all are yet used.... #define FS_TYPE_UNKNOWN 0 -#define FS_TYPE_FAT 1 -#define FS_TYPE_EXFAT 2 -#define FS_TYPE_NTFS 3 -#define FS_TYPE_EXT2 4 -#define FS_TYPE_EXT3 5 -#define FS_TYPE_EXT4 6 -#define FS_TYPE_HFSPLUS 7 -#define FS_TYPE_REISERFS 8 -#define FS_TYPE_BTRFS 9 -#define FS_TYPE_ISO9660 10 +#define FS_TYPE_WHOLEDISK 1 +#define FS_TYPE_FAT 2 +#define FS_TYPE_EXFAT 3 +#define FS_TYPE_NTFS 4 +#define FS_TYPE_EXT2 5 +#define FS_TYPE_EXT3 6 +#define FS_TYPE_EXT4 7 +#define FS_TYPE_HFSPLUS 8 +#define FS_TYPE_REISERFS 9 +#define FS_TYPE_BTRFS 10 +#define FS_TYPE_ISO9660 11 // How to scale banner images #define BANNER_NOSCALE 0 diff --git a/refind/lib.c b/refind/lib.c index 48da11d..980b51a 100644 --- a/refind/lib.c +++ b/refind/lib.c @@ -436,6 +436,9 @@ static CHAR16 *FSTypeName(IN UINT32 TypeCode) { CHAR16 *retval = NULL; switch (TypeCode) { + case FS_TYPE_WHOLEDISK: + retval = L" whole disk"; + break; case FS_TYPE_FAT: retval = L" FAT"; break; @@ -485,26 +488,35 @@ static VOID SetFilesystemData(IN UINT8 *Buffer, IN UINTN BufferSize, IN OUT REFI UINT32 *Ext2Incompat, *Ext2Compat; UINT16 *Magic16; char *MagicString; + EFI_FILE *RootDir; if ((Buffer != NULL) && (Volume != NULL)) { SetMem(&(Volume->VolUuid), sizeof(EFI_GUID), 0); Volume->FSType = FS_TYPE_UNKNOWN; if (BufferSize >= 512) { + + // Search for NTFS, FAT, and MBR/EBR. + // These all have 0xAA55 at the end of the first sector, but FAT and + // MBR/EBR are not easily distinguished. Thus, we first check to see + // if the "volume" is in fact a disk device; then look for NTFS + // "magic"; and then check to see if the volume can be mounted, thus + // relying on the EFI's built-in FAT driver to identify FAT. Magic16 = (UINT16*) (Buffer + 510); if (*Magic16 == FAT_MAGIC) { MagicString = (char*) (Buffer + 3); - if (CompareMem(MagicString, NTFS_SIGNATURE, 8) == 0) { + // Confusingly, "LogicalPartition" refers to the presence of a + // partition table, not an MBR logical partition. + if (Volume->BlockIO->Media->LogicalPartition) { + Volume->FSType = FS_TYPE_WHOLEDISK; + } else if (CompareMem(MagicString, NTFS_SIGNATURE, 8) == 0) { Volume->FSType = FS_TYPE_NTFS; CopyMem(&(Volume->VolUuid), Buffer + 0x48, sizeof(UINT64)); } else { - // NOTE: This misidentifies a whole disk as a FAT partition - // because FAT and MBR share the same 0xaa55 "magic" and - // no other distinguishing data. Later code, in ScanVolume(), - // resets to FS_TYPE_UNKNOWN if the "filesystem" can't be - // read. - Volume->FSType = FS_TYPE_FAT; - } + RootDir = LibOpenRoot(Volume->DeviceHandle); + if (RootDir != NULL) + Volume->FSType = FS_TYPE_FAT; + } // if/elseif/else return; } // if } // search for FAT and NTFS magic @@ -581,7 +593,11 @@ static VOID ScanVolumeBootcode(REFIT_VOLUME *Volume, BOOLEAN *Bootable) Volume->BlockIOOffset, SAMPLE_SIZE, Buffer); if (!EFI_ERROR(Status)) { - SetFilesystemData(Buffer, SAMPLE_SIZE, Volume); +// if (Volume->BlockIO->Media->LogicalPartition) +// Print(L"Skipping; whole disk!\n"); +// else + SetFilesystemData(Buffer, SAMPLE_SIZE, Volume); +// PauseForKey(); if ((*((UINT16 *)(Buffer + 510)) == 0xaa55 && Buffer[0] != 0) && (FindMem(Buffer, 512, "EXFAT", 5) == -1)) { *Bootable = TRUE; Volume->HasBootCode = TRUE; @@ -771,7 +787,7 @@ static CHAR16 *SizeInIEEEUnits(UINT64 SizeInBytes) { } // CHAR16 *SizeInIEEEUnits() // Return a name for the volume. Ideally this should be the label for the -// filesystem it contains, but this function falls back to describing the +// filesystem or volume, but this function falls back to describing the // filesystem by size (200 MiB, etc.) and/or type (ext2, HFS+, etc.), if // this information can be extracted. // The calling function is responsible for freeing the memory allocated @@ -790,13 +806,6 @@ static CHAR16 *GetVolumeName(REFIT_VOLUME *Volume) { FoundName = StrDuplicate(FileSystemInfoPtr->VolumeLabel); } - // Special case: Old versions of the rEFInd HFS+ driver always returns label of "HFS+ volume", so wipe - // this so that we can build a new name that includes the size.... - if ((FoundName != NULL) && (StrCmp(FoundName, L"HFS+ volume") == 0) && (Volume->FSType == FS_TYPE_HFSPLUS)) { - MyFreePool(FoundName); - FoundName = NULL; - } // if rEFInd HFS+ driver suspected - // If no filesystem name, try to use the partition name.... if ((FoundName == NULL) && (Volume->PartName != NULL) && (StrLen(Volume->PartName) > 0) && !IsIn(Volume->PartName, IGNORE_PARTITION_NAMES)) { @@ -989,18 +998,20 @@ VOID ScanVolume(REFIT_VOLUME *Volume) if (Volume->RootDir == NULL) { Volume->IsReadable = FALSE; - if (Volume->FSType != FS_TYPE_NTFS) - Volume->FSType = FS_TYPE_UNKNOWN; return; } else { Volume->IsReadable = TRUE; - if ((GlobalConfig.LegacyType == LEGACY_TYPE_MAC) && (Volume->FSType == FS_TYPE_NTFS) && Volume->HasBootCode) + if ((GlobalConfig.LegacyType == LEGACY_TYPE_MAC) && (Volume->FSType == FS_TYPE_NTFS) && Volume->HasBootCode) { + // VBR boot code found on NTFS, but volume is not actually bootable + // unless there are actual boot file, so check for them.... Volume->HasBootCode = HasWindowsBiosBootFiles(Volume); + } } // if/else // get custom volume icons if present - if (!Volume->VolIconImage) - Volume->VolIconImage = egLoadIconAnyType(Volume->RootDir, L"", L".VolumeIcon", GlobalConfig.IconSizes[ICON_SIZE_BIG]); + if (!Volume->VolIconImage) { + Volume->VolIconImage = egLoadIconAnyType(Volume->RootDir, L"", L".VolumeIcon", GlobalConfig.IconSizes[ICON_SIZE_BIG]); + } } // ScanVolume() static VOID ScanExtendedPartition(REFIT_VOLUME *WholeDiskVolume, MBR_PARTITION_INFO *MbrEntry) diff --git a/refind/main.c b/refind/main.c index 7fb2b73..8e39000 100644 --- a/refind/main.c +++ b/refind/main.c @@ -166,7 +166,7 @@ static VOID AboutrEFInd(VOID) if (AboutMenu.EntryCount == 0) { AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT); - AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.5.7"); + AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.8.6"); AddMenuInfoLine(&AboutMenu, L""); AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer"); AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012-2015 Roderick W. Smith"); @@ -1726,8 +1726,9 @@ static VOID LoadDrivers(VOID) } // while // connect all devices - if (NumFound > 0) + if (NumFound > 0) { ConnectAllDriversToAllControllers(); + } } /* static VOID LoadDrivers() */ // Locates boot loaders. NOTE: This assumes that GlobalConfig.LegacyType is set correctly. -- 2.39.2