-0.6.2 (12/??/2012):
+0.6.2 (12/30/2012):
-------------------
-- The drivers can now be built with the GNU-EFI toolkit as well as with the
- TianoCore EDK2. See the BUILDING.txt file for details on how to build
- them with either toolkit. This improvement doesn't affect users of my
- binary packages, but it should make it easier for Linux distributions to
- adopt rEFInd into their package systems.
+- Inclusion of a sample refind.spec file for the benefit of RPM
+ distribution maintainers who might want to include rEFInd. It's a bit
+ rough, but it gets you a good chunk of the way there....
+
+- The EFI filesystem drivers can now be built with the GNU-EFI toolkit as
+ well as with the TianoCore EDK2. See the BUILDING.txt file for details on
+ how to build them with either toolkit. This improvement doesn't affect
+ users of my binary packages, but it should make it easier for Linux
+ distributions to adopt rEFInd into their package systems.
- Tweaked refind.inf file for better build results using "native" TianoCore
EDK2 build process (vs. the Makefile-based build process that I use under
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>\r
\r
<p>Originally written: 3/14/2012; last Web page update:\r
-12/21/2012, referencing rEFInd 0.6.1</p>\r
+12/30/2012, referencing rEFInd 0.6.2</p>\r
\r
\r
<p>I'm a technical writer and consultant specializing in Linux technologies. 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
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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: 4/19/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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>
fs0: <tt class="userinput">map -r</tt>
</pre>
-<p>If you build rEFInd from source, you should be aware that the drivers rely on <a href="https://sourceforge.net/projects/tianocore/">TianoCore's development kit,</a> whereas rEFInd itself can use either TianoCore's kit or <a href="http://sourceforge.net/projects/gnu-efi/">GNU-EFI.</a> Thus, to compile both, you'll need to install TianoCore, with GNU-EFI being optional but providing no additional benefits. Unfortunately, the TianoCore kit is a bit unusual from a Linux developer's perspective, and you'll probably have to build it from source code. Consult the <tt>BUILDING.txt</tt> file in the source package for more information. None of this is important if you use a binary build of rEFInd, unless you've obtained it from a third party who hasn't built the drivers. If that's the case, you'll have to download rEFInd from Sourceforge (see the <a href="http://www.rodsbooks.com/refind/getting.html">Getting rEFInd page</a> for details) or use drivers from another source.</p>
-
<h2>Finding Additional EFI Drivers</h2>
<p>As already noted, I know of no EFI drivers for EFI hardware, aside from those that are built into motherboards' EFI implementations. I do, however, know of a few EFI filesystem drivers, in addition to those provided with rEFInd:</p>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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>
<li>Load EFI drivers for filesystems or hardware devices not supported natively by your firmware. (This feature is absent in some builds of rEFIt and in rEFInd prior to version 0.2.7.)</li>
-<li>Inclusion of drivers for the Linux ReiserFS and ext2 filesystems in the
+<li>Inclusion of drivers for the Linux ReiserFS, ext2 filesystems in the
main package. (These drivers are absent from rEFInd prior to version
- 0.4.0.)</li>
+ 0.4.0. See below concerning an ext4fs driver.)</li>
</ul>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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>
<h2>Getting rEFInd from Sourceforge</h2>
-<p>You can find the rEFInd source code and binary packages at <a href="http://www.sourceforge.net/projects/refind/">its SourceForge page.</a> Note that rEFInd is OS-independent—it runs before the OS, so you download the same binary package for any OS. You can obtain rEFInd in four different forms:</p>
+<p>You can find the rEFInd source code and binary packages at <a href="http://www.sourceforge.net/projects/refind/">its SourceForge page.</a> Note that rEFInd is OS-independent—it runs before the OS, so you download the same binary package for any OS. You can obtain rEFInd in several different forms:</p>
<ul>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.1/refind-src-0.6.1.zip/download">A
- source code zip file</a></b>—This is useful if you want to
- compile the software locally. Note that I use Linux with the <a
+ href="http://sourceforge.net/projects/refind/files/0.6.2/refind-src-0.6.2.zip/download">A
+ source code zip file</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
- Development Kit 2 (EDK2)</a> to build my binaries (below), although the
- <a href="http://sourceforge.net/projects/gnu-efi">GNU-EFI</a>
- development tools are also supported. rEFIt used an Intel/Microsoft
- toolchain. Backporting rEFInd to that toolchain is theoretically
- possible, but I've not attempted it.</li>
+ Development Kit 2 (EDK2)</a> to build my binary zip package (below),
+ although the <a href="http://sourceforge.net/projects/gnu-efi">GNU-EFI</a>
+ development tools are also supported.</li>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.1/refind-bin-0.6.1.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.2/refind-bin-0.6.2.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 or <i>x</i>86-64
computer and have no need to test rEFInd first by booting it on an
<p class="sidebar"><b>Tip:</b> If you want a bootable USB flash drive, download the binary zip file or CD-R image file, prepare a USB flash drive with a FAT32 partition, and then use the <tt>install.sh</tt> program's <tt>--usedefault</tt> option, and perhaps the <tt>--alldrivers</tt> option, as in <tt class="userinput">bash install.sh --usedefault /dev/sdd1 --alldrivers</tt> to install to the first partition on <tt>/dev/sdd</tt>. This procedure should work even on a BIOS-booted computer.</p>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.1/refind-cd-0.6.1.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.2/refind-cd-0.6.2.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
be an extremely valuable diagnostic tool if you know how to use an EFI
shell.</li>
+<li><b><a
+ href="http://sourceforge.net/projects/refind/files/0.6.2/refind-0.6.2-1.src.rpm/download">Source</a>
+ and <a
+ href="http://sourceforge.net/projects/refind/files/0.6.2/refind-0.6.2-1.x86_64.rpm/download">binary</a>
+ RPM files</b>—These files are intended more as demonstrations than
+ as practical packages. If you use an RPM-based <i>x</i>86-64 Linux system,
+ though, you can install the binary RPM package. (I don't provide an
+ equivalent 32-bit package.) Note, however, that this package's files are
+ not signed for use with shim or Secure Boot, and it installs four
+ filesystem drivers, which can slow down the boot process. It was also
+ compiled with GNU-EFI, which means that it lacks the ability to boot
+ BIOS-based OSes. Thus, I recommend using the binary zip file instead. If
+ you do use the RPM file, be aware that it installs rEFInd directly to
+ <tt>/boot/efi/EFI/refind</tt>, so your ESP must be mounted at
+ <tt>/boot/efi</tt>. The post-installation script, which adds rEFInd to the
+ NVRAM entries, requires <tt>efibootmgr</tt> and is likely to fail if you
+ try to install from a live CD. Distribution maintainers can examine the
+ <tt>refind.spec</tt> file in the source package and tweak it to their
+ needs and to eliminate some or all of these deficiencies.</li>
+
<li><b><a href="https://sourceforge.net/p/refind/code">Source code via
git</a></b>—If you want to peruse the source code in your Web
browser or get the very latest version (including pre-release bug fixes
as well download the rEFInd binary <tt>.zip</tt> file from Sourceforge
instead.</li>
-<li><b>Slackware</b>—Although it doesn't seem to be an official build, <a
- href="http://franck-barbenoire.fr/spip.php?article198">this site</a> has links to rEFInd
- binary packages for Slackware 13.37 and 14.0.</li>
+<li><b>Slackware</b>—Although it doesn't seem to provide an official
+ build, <a href="http://franck-barbenoire.fr/spip.php?article198">this
+ site</a> has links to rEFInd binary packages for Slackware 13.37 and
+ 14.0.</li>
</ul>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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/19/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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="subhead">by Roderick W. Smith, <a
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
-<p>Last Web page update: 12/21/2012</p>
+<p>Last Web page update: 12/30/2012</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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.6.2 (12/30/2012)</b>—This version's biggest changes are "behind-the-scenes" improvements. Specifically, I've completely re-worked the shim/MOK Secure Boot code, based largely on an approach used by James Bottomley in his PreLoader boot loader. This fixes some bugs, such as the inability to launch more than one EFI boot loader in Secure Boot mode. The EFI filesystem drivers can now be built with GNU-EFI, which may help distribution maintainers. I'm also providing RPM packages of rEFInd, although I recommend installing from the binary zip file. Finally, I've changed rEFInd's default text-mode setting behavior to not adjust the text mode. (Recent previous versions forced the system to use text mode 0, which cuased problems on some systems.)</li>
+
<li><b>0.6.1 (12/21/2012)</b>—(Mayan apocalypse edition!) This version features a number of refinements and minor bug fixes. The <tt>install.sh</tt> script now includes a new <tt>--root</tt> option to enable easier installation of rEFInd to a regular OS installation from an emergency disc. The ext4fs driver now supports the <tt>meta_bg</tt> filesystem feature. I've fixed a number of obscure display resolution-setting bugs and a bug that caused the screen to clear after displaying certain error messages but before prompting you to continue. Instead of displaying a blank filesystem label as the "from" location for a boot loader, rEFInd now describes the filesystem by its type (FAT, ext4fs, etc.) and/or size. rEFInd also now uses the filesystem label as a hint about what type of icon to display for a boot loader.</li>
<li><b>0.6.0 (12/16/2012)</b>—The donation of a working ext4fs driver from Stefan Agner has prompted another big jump in the rEFInd version number, since this driver will greatly simplify installation on many systems: You may be able to simply run the <tt>install.sh</tt> script to get a working rEFInd that boots your Linux kernels directly, bypassing GRUB or ELILO. Other improvements in this version include bug fixes and minor changes to <tt>install.sh</tt>, the addition of hint text to the rEFInd main menu, the ability to disable the options editor via the <tt>editor</tt> option to <tt>hideui</tt> in <tt>refind.conf</tt>, a new <tt>textmode</tt> option to <tt>refind.conf</tt> to set the size of the text-mode display, a change to the code that adds your initial RAM disk to the boot options so that if you specify one manually (via <tt>refind_linux.conf</tt>), it will take precedence, and assorted obscure bug fixes. The <tt>NEWS.txt</tt> file goes into more details about many of these changes, as do the relevant pages of this HTML documentation.</li>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 11/13/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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: 4/19/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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>
loader settings—say, to disable one specific boot loader or
change its icon.</li>
- <li>A way to read boot options set via <tt>efibootmgr</tt>,
- <tt>bless</tt>, or similar options from NVRAM to add to the boot
- set would be useful.</li>
-
- <li>A way to examine and change the NVRAM settings could be useful.
- This would enable a CD-based boot of rEFInd to fix a broken disk
- boot. Perhaps this could be done via a separate tool that could be
- launched much like the shell or <tt>gptsync</tt>.</li>
-
<li>A way to set the color of the font would be useful for theming
purposes.</li>
to have the drivers access files (like a Linux loopback mount) is
desirable.</li>
+ <li>When built with the GNU-EFI package, an attempt to load more than
+ one driver on my 32-bit Mac Mini causes the computer to hang. I do
+ <i>not</i> have this problem with 64-bit drivers on my UEFI-based
+ computers. I don't know if this is a 32-bit issue or a Mac issue.
+ This is <i>not</i> relevant if you're using my binary package,
+ since I build it with the TianoCore EDK2, and the drivers built in
+ that way don't exhibit this bug.</li>
+
</ul></li> <!-- Drivers -->
</ul>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-12/21/2012, referencing rEFInd 0.6.1</p>
+12/30/2012, referencing rEFInd 0.6.2</p>
<p>I'm a technical writer and consultant specializing in Linux technologies. 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>
$(TARGET): $(SHLIB_TARGET)
$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
-j .rela -j .reloc --target=$(FORMAT_DRIVER) $< $@
+ chmod a-x $(TARGET)
cp $(TARGET) ../drivers_$(FILENAME_CODE)
# EOF
endif
ifeq ($(ARCH),x86_64)
-# ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -mcmodel=large -m64
- ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -m64
+ ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -mcmodel=large -m64
ARCHDIR = X64
UC_ARCH = X64
FILENAME_CODE = x64
# Build the drivers with GNU-EFI....
+gnuefi: $(FILESYSTEMS_GNUEFI)
+
all_gnuefi: $(FILESYSTEMS_GNUEFI)
ext2_gnuefi:
clean:
rm -f *~ *.bak *.o *.obj *.so *.efi *.dll err.txt $(TEXTFILES)
+ make -C test clean
install:
#define _FSW_CORE_H_
#include "fsw_base.h"
+#ifdef __MAKEWITH_GNUEFI
#include "fsw_efi_base.h"
-
+#endif
/** Maximum size for a path, specifically symlink target paths. */
#ifndef HOST_EFI_EDK2
#define DBG(x...)
#endif
+#ifdef __MAKEWITH_GNUEFI
+
#define EFI_DISK_IO_PROTOCOL_GUID \
{ \
0xce345171, 0xba0b, 0x11d2, {0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
}
-#ifdef __MAKEWITH_GNUEFI
EFI_GUID gEfiDriverBindingProtocolGuid = EFI_DRIVER_BINDING_PROTOCOL_GUID;
EFI_GUID gEfiComponentNameProtocolGuid = EFI_COMPONENT_NAME_PROTOCOL_GUID;
EFI_GUID gEfiDiskIoProtocolGuid = EFI_DISK_IO_PROTOCOL_GUID;
struct fsw_extent *extent)
{
fsw_status_t status;
- fsw_u32 bno, release_bno, buf_bcnt, buf_offset, file_bcnt;
+ fsw_u32 bno, release_bno, buf_offset, file_bcnt;
int ext_cnt;
- int ext_depth;
void *buffer;
struct ext4_extent_header *ext4_extent_header;
// First buffer is the i_block field from inode...
buffer = (void *)dno->raw->i_block;
- buf_bcnt = EXT4_NDIR_BLOCKS;
buf_offset = 0;
while(1) {
ext4_extent_header = (struct ext4_extent_header *)buffer + buf_offset;
ext4_extent_header->eh_depth));
ext4_extent_idx = (struct ext4_extent_idx *)(buffer + buf_offset);
buf_offset += sizeof(struct ext4_extent_idx);
-
+
FSW_MSG_DEBUG((FSW_MSGSTR("fsw_ext4_get_by_extent: index node covers block %d...\n"),
ext4_extent_idx->ei_block));
if(bno >= ext4_extent_idx->ei_block)
}
}
}
-
+
return FSW_NOT_FOUND;
}
# Prepare a place and copy files there....
mkdir -p ../snapshots/$1/refind-$1/icons
cp --preserve=timestamps icons/*icns ../snapshots/$1/refind-$1/icons/
-cp -a docs images keys include EfiLib libeg mok refind filesystems install.sh mkrlconf.sh CREDITS.txt NEWS.txt BUILDING.txt COPYING.txt LICENSE.txt README.txt refind.inf Make.tiano Make.common Makefile refind.conf-sample ../snapshots/$1/refind-$1
+cp -a docs images keys include EfiLib libeg mok refind filesystems refind.spec install.sh mkrlconf.sh CREDITS.txt NEWS.txt BUILDING.txt COPYING.txt LICENSE.txt README.txt refind.inf Make.tiano Make.common Makefile refind.conf-sample ../snapshots/$1/refind-$1
# Go there and prepare a souce code zip file....
cd ../snapshots/$1/
# Build the IA32 binaries
cd refind-$1
-ARCH=ia32 make
-ARCH=ia32 make fs
+ARCH=ia32 make -j4
+ARCH=ia32 make -j4 fs
mkdir -p refind-bin-$1/refind/drivers_ia32
cp --preserve=timestamps drivers_ia32/*_ia32.efi refind-bin-$1/refind/drivers_ia32/
cp --preserve=timestamps filesystems/LICENSE*txt refind-bin-$1/refind/drivers_ia32/
# Build the X64 binaries
make clean
-make
-make fs
+make -j4
+make -j4 fs
mkdir -p refind-bin-$1/refind/drivers_x64
cp -a icons refind-bin-$1/refind/
if [[ $SignIt == 1 ]] ; then
zip -9r ../refind-bin-$1.zip refind-bin-$1
cd ..
rm -r refind-$1
+
+# Prepare the RPM files
+cp refind-src-$1.zip ~/rpmbuild/SOURCES/
+rpmbuild -ba $StartDir/refind.spec
+mv ~/rpmbuild/RPMS/*/refind-$1* ./
+mv ~/rpmbuild/SRPMS/refind-$1* ./
+
+# Finish
cd $StartDir
%doc /usr/share/doc/refind-%{version}/refind/*
/usr/share/refind/install.sh
/usr/sbin/mkrlconf.sh
-/boot/efi/EFI/refind/refind.efi
-/boot/efi/EFI/refind/drivers/*
-/boot/efi/EFI/refind/icons/*
-/boot/efi/EFI/refind/keys/*
-/boot/efi/EFI/refind/keys
-/boot/efi/EFI/refind/icons
-/boot/efi/EFI/refind/drivers
/boot/efi/EFI/refind
%config /boot/efi/EFI/refind/refind.conf
%post
-InstallDisk=`grep /boot/efi /etc/mtab | cut -d " " -f 1 | cut -c 1-8`
-PartNum=`grep /boot/efi /etc/mtab | cut -d " " -f 1 | cut -c 9-10`
-efibootmgr -c -d $InstallDisk -p $PartNum -l \\EFI\\refind\\refind.efi -L "rEFInd Boot Manager"
+ExistingEntry=`efibootmgr | grep "rEFInd Boot Manager" | cut -c 5-8`
+if [[ ! -n $ExistingEntry ]] ; then
+ InstallDisk=`grep /boot/efi /etc/mtab | cut -d " " -f 1 | cut -c 1-8`
+ PartNum=`grep /boot/efi /etc/mtab | cut -d " " -f 1 | cut -c 9-10`
+ efibootmgr -c -d $InstallDisk -p $PartNum -l \\EFI\\refind\\refind.efi -L "rEFInd Boot Manager"
+fi
/usr/sbin/mkrlconf.sh
+
%changelog
* Sun Dec 30 2012 R Smith <rodsmith@rodsbooks.com> - 0.6.2
- Created spec file for 0.6.2 release
$(TARGET): $(SHLIB_TARGET)
$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
-j .rela -j .reloc --target=$(FORMAT) $< $@
+ chmod a-x $(TARGET)
# EOF
# DO NOT DELETE
if (AboutMenu.EntryCount == 0) {
AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
- AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.6.1.5");
+ AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.6.2");
AddMenuInfoLine(&AboutMenu, L"");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012 Roderick W. Smith");