compile it, and install it locally. Between rEFInd version 0.2.7 and
0.6.1, the Makefiles assumed a locally-compiled GNU-EFI package, but
older and more recent versions assume GNU-EFI installation in typical
- locations for distribution-provided packages. The legacy BIOS boot
- support on UEFI-based PCs doesn't work when rEFInd is compiled under
- GNU-EFI, so as of rEFInd 0.4.6, GNU-EFI is no longer the primary build
- environment, although it's easier to set up on a Linux system.
+ locations for distribution-provided packages.
Of the two toolkits, I prefer to use TianoCore because it produces binaries
-that can boot BIOS/legacy-mode OSes and because the TianoCore-produced
-binaries are about 20-30KiB smaller than those made by GNU-EFI. Also, I've
+that are about 20-30KiB smaller than those made by GNU-EFI, and I can
+easily build 32-bit binaries on my 64-bit Linux installations. Also, I've
had problems on a 32-bit Mac Mini with the drivers produced by GNU-EFI
hanging the system if I try to load more than one of them. (I haven't
encountered this problem on UEFI-based PCs.) That said, the TianoCore EDK2
-package is much harder to install, so if you don't need the ability to boot
-BIOS/legacy OSes from rEFInd, GNU-EFI can work as well.
+package is much harder to install, so you may prefer to use GNU-EFI unless
+you have a specific need for the TianoCore toolkit.
It's possible to use a non-Linux platform to compile rEFInd. To the best of
my knowledge, the rEFInd code doesn't rely on anything Linux-specific in
Preparing Your Development Kit
==============================
-If you don't care about booting BIOS-based OSes on UEFI PCs and if you're
-using Linux, GNU-EFI is the easiest way to compile rEFInd. I don't describe
-GNU-EFI's setup here because it's likely to be fairly easy. If your
-distribution provides a recent enough version, you should be able to
-install a package called gnu-efi and be done with it. If not, you'll need
-to download the source code tarball, build it, and install it. This process
-is fairly typical of Linux packages. Read the GNU-EFI documentation if you
-need help. If you're using GNU-EFI, you can skip the rest of this section.
-
-If you need support for booting BIOS-based OSes on UEFI PCs, the TianoCore
-toolkit is required. You might also want to use it if you have problems
-with GNU-EFI or if you want to build rEFInd on a non-Linux platform.
+If you're using Linux, GNU-EFI is the easiest way to compile rEFInd. I
+don't describe GNU-EFI's setup here because it's likely to be fairly easy.
+If your distribution provides a recent enough version, you should be able
+to install a package called gnu-efi and be done with it. If not, you'll
+need to download the source code tarball, build it, and install it. This
+process is fairly typical of Linux packages. Read the GNU-EFI documentation
+if you need help. If you're using GNU-EFI, you can skip the rest of this
+section.
+
+You might also want to use the TianoCore toolkit if you have problems with
+GNU-EFI or if you want to build rEFInd on a non-Linux platform.
Unfortunately, the TianoCore toolkit is weird by Linux programming
standards. It's also quite large -- it's intended as a means to develop a
complete EFI firmware implementation, so it contains much more code than is
0.8.1 (5/??/2014):
------------------
+- Changed icons from ICNS to PNG form. There are several reasons to do
+ this, all of them minor; but together they're enough to warrant a change.
+ PNG is more common, and therefore more accessible to most users --
+ particularly those who don't use OS X. The PNG files are smaller than
+ their ICNS equivalents. PNG supports a wider range of sizes (although I'm
+ not now using anything that ICNS doesn't support, I might in the future).
+ The icon-scaling support added a few versions ago makes ICNS's support
+ for multiple icon sizes relatively unimportant.
+
- Reversed order of search for icons by extension: rEFInd now searches
for PNG files before ICNS files, rather than the other way around. This
makes it possible to override a volume icon for rEFInd by giving it the
href="http://sourceforge.net/projects/refind/files/0.8.0/refind-bin-gnuefi-0.8.0.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; but using GNU-EFI also means that this version
- can't launch BIOS-mode OSes.</li>
+ users with this problem.</li>
<li><b><a
href="http://sourceforge.net/projects/refind/files/0.8.0/refind-0.8.0-1.x86_64.rpm/download">A
rEFInd's git repository in the Arch User Repository (AUR), under the
name <tt>refind-efi-git</tt>. The git release is likely to include
pre-release bug fixes and new features, but those features may be
- poorly tested or undocumented. The last I checked, both builds used the
- Tianocore toolkit, and so support booting BIOS/legacy boot loaders on
- UEFI-based PCs.</li>
-
-<li><b>ALT Linux</b>—This RPM-based distribution is experimenting with
- using rEFInd on EFI-based computers. As I write, the ALT developers haven't
- yet nailed down booting from an optical disc (it's a tricky and delicate
- task, especially when preparing a "hybrid" image), but they're working on
- the problem. They have an RPM of rEFInd; see <a
- href="http://packages.altlinux.org/en/Sisyphus/srpms/refind">this page</a>
- for details.</li>
+ poorly tested or undocumented.</li>
+
+<li><b>ALT Linux</b>—This RPM-based distribution is experimenting
+ with using rEFInd on EFI-based computers. As I write, the ALT
+ developers haven't yet nailed down booting from an optical disc (it's a
+ tricky and delicate task, especially when preparing a "hybrid" image),
+ but they're working on the problem. They have an RPM of rEFInd; see <a
+ href="http://packages.altlinux.org/en/Sisyphus/srpms/refind">this
+ page</a> for details.</li>
<li><b><a href="http://distro.ibiblio.org/fatdog/web/">Fat
Dog</a></b>—This variant of Puppy Linux uses a combination of