-0.6.4 (1/?/2013):
+0.6.4 (1/8/2013):
-----------------
-- Fixed bug that could cause a hang on boot if any partition had a name
- that was less than three characters long.
+- Revised install.sh to copy ext2fs driver, rather than ext4fs driver, for
+ ext2/3 filesystems. This can help keep non-functional entries from links
+ from /vmlinuz to /boot/vmlinuz out of the menu if the system uses ext4fs
+ on root and ext2fs or ext3fs on /boot.
+
+- Fixed a couple of memory management bugs that cause rEFInd to hang at
+ startup on some systems.
0.6.3 (1/6/2013):
-----------------
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>\r
\r
<p>Originally written: 3/14/2013; last Web page update:\r
-1/6/2012, referencing rEFInd 0.6.3</p>\r
+1/8/2012, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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>
<div style="float:right; width:55%">
-<p>Many casual users will be able to use rEFInd without making changes to its settings; in its default configuration, the boot manager automatically detects all the EFI boot loader programs you have on your ESP (or your OS X boot partition, in the case of Macs) and displays icons for them. On Macs, rEFInd also presents legacy BIOS boot options by default. Sometimes, though, you may want to tweak rEFInd's configuration. Sometimes you can obtain your desired results by adjusting the filenames of your boot loaders. Other times, you can edit rEFInd's configuration file, <tt>refind.conf</tt>, which resides in the same directory as its binary file (<tt>refind.efi</tt> or whatever you've renamed it).</p>
+<p>Many casual users will be able to use rEFInd without making changes to its settings; in its default configuration, the boot manager automatically detects all the EFI boot loader programs you have on your ESP (or your OS X boot partition, in the case of Macs) and displays icons for them. On Macs, rEFInd also presents legacy BIOS boot options by default. Sometimes, though, you may want to tweak rEFInd's configuration. Sometimes you can obtain your desired results by adjusting the filenames of your boot loaders. Other times, you can edit rEFInd's configuration file, <tt>refind.conf</tt>, which resides in the same directory as its binary file (<tt>refind_x64.efi</tt> or whatever you've renamed it).</p>
</div>
<tr>
<td><tt>banner</tt></td>
<td>filename</td>
- <td>Specifies a custom banner file to replaced the rEFInd banner image. The file should be a BMP image with a color depth of 24, 8, 4, or 1 bits. The file path is relative to the directory where <tt>refind.efi</tt> is stored.</td>
+ <td>Specifies a custom banner file to replaced the rEFInd banner image. The file should be a BMP image with a color depth of 24, 8, 4, or 1 bits. The file path is relative to the directory where the rEFInd binary is stored.</td>
</tr>
<tr>
<td><tt>selection_big</tt></td>
default_selection elilo
</pre>
-<p>This example sets a timeout of 5 seconds; loads a custom graphic file called <tt>custom.bmp</tt> from the directory in which <tt>refind.efi</tt> resides; scans the <tt>drivers</tt> and <tt>EFI/tools/drivers</tt> directories for EFI drivers; uses manual boot loader configuration but also scans for external EFI boot loaders and EFI boot loaders on optical discs; and sets the default boot loader to the first loader found that includes the string <tt>elilo</tt>. Of course, since this file specifies use of manual boot loader configuration, it's not complete; you'll need to add at least one OS stanza to be able to boot from anything but an external disk or optical drive, as described shortly.</p>
+<p>This example sets a timeout of 5 seconds; loads a custom graphic file called <tt>custom.bmp</tt> from the directory in which the rEFInd binary resides; scans the <tt>drivers</tt> and <tt>EFI/tools/drivers</tt> directories for EFI drivers; uses manual boot loader configuration but also scans for external EFI boot loaders and EFI boot loaders on optical discs; and sets the default boot loader to the first loader found that includes the string <tt>elilo</tt>. Of course, since this file specifies use of manual boot loader configuration, it's not complete; you'll need to add at least one OS stanza to be able to boot from anything but an external disk or optical drive, as described shortly.</p>
<a name="stanzas">
<h2>Creating OS Stanzas</h2>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 4/19/2012; last Web page update:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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><a
- href="http://sourceforge.net/projects/refind/files/0.6.3/refind-src-0.6.3.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.4/refind-src-0.6.4.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 tools are also supported.</li>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.3/refind-bin-0.6.3.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.4/refind-bin-0.6.4.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
href="installing.html">Installing rEFInd</a> page.</li>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.3/refind-0.6.3-2.x86_64.rpm/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.4/refind-0.6.4-1.x86_64.rpm/download">A
binary RPM file</a></b>—If you use an RPM-based <i>x</i>86-64
Linux system such as Fedora or openSUSE, you can install the binary RPM
package rather than use the binary zip file. (I don't provide an
rEFInd</a> page) as part of the installation process. Distribution
maintainers can examine the <tt>refind.spec</tt> file in the source
package and tweak it to their needs. The <a
- href="http://sourceforge.net/projects/refind/files/0.6.3/refind-0.6.3-2.src.rpm/download">source
+ href="http://sourceforge.net/projects/refind/files/0.6.4/refind-0.6.4-1.src.rpm/download">source
RPM file</a> might or might not build on your system as-is; it relies
on assumptions about the locations of the GNU-EFI development
files.</li>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.3/refind_0.6.3-2_amd64.deb/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.4/refind_0.6.4-1_amd64.deb/download">A
binary Debian package</a></b>—If you use an <i>x</i>86-64 version
of Debian, Ubuntu, Mint, or another Debian-based distribution, you can
install from this package, which was converted from the binary RPM
either build.)</li>
-->
-<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>
+<p class="sidebar"><b>Note:</b> At the moment, neither the bootable CD-R image file nor the bootable USB flash drive image file supports booting with Secure Boot active.</p>
<li><b><a
- href="http://sourceforge.net/projects/refind/files/0.6.3/refind-cd-0.6.3.zip/download">A
+ href="http://sourceforge.net/projects/refind/files/0.6.4/refind-cd-0.6.4.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>
+<p class="sidebar"><b>Tip:</b> If you want to make your own 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.4/refind-flashdrive-0.6.4.zip/download">A
+ USB flash drive image file</a></b>—Although you can create
+ your own rEFInd USB flash drive, you may find it easier to download
+ this version and copy it to your USB drive with <tt>dd</tt> or some
+ other low-level disk copying utility.</li>
+
<li><b><a href="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
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/14/2012; last Web page update:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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>
available, installs it. Note that the "<tt>/boot</tt> directory" may be
on a separate partition or it may be part of your root (<tt>/</tt>)
filesystem, in which case the driver for your root filesystem is
- installed. If <tt>install.sh</tt> detects that the filesystem in
- question is ext2fs or ext3fs, it installs the ext4fs driver, which can
- handle all three of these filesystem types. This feature is unlikely to
- work properly from an emergency system, although it might if you have a
- separate <tt>/boot</tt> partition and if you mount that partition at
- <tt>/boot</tt> in your emergency system, and the ESP at
- <tt>/boot/efi</tt>.</li>
+ installed. This feature is unlikely to work properly from an emergency
+ system, although it might if you have a separate <tt>/boot</tt>
+ partition and if you mount that partition at <tt>/boot</tt> in your
+ emergency system, and the ESP at <tt>/boot/efi</tt>.</li>
<li>If you run <tt>install.sh</tt> on Linux and if
<tt>/boot/refind_linux.conf</tt> doesn't already exist,
<li>Type <tt><b>cd /boot/efi/EFI/refind</b></tt> to change into rEFInd's new directory on the ESP.</li>
-<li>Type <tt><b>rm refind_ia32.efi</b></tt> to remove the IA32 binary if you're using an <i>x</i>86-64 (64-bit) system; or type <tt><b>rm refind_x64.efi</b></tt> to remove the <i>x</i>86-64 binary if you're using an <i>x</i>86 (32-bit) system. You can optionally rename the binary you keep as <tt>refind.efi</tt>, but this isn't required. (Note that you must keep the version that's the correct bit width for your EFI; if you've installed a 32-bit Linux on a 64-bit PC with a 64-bit EFI, you'd keep <tt>refind_x64.efi</tt>.</li>
+<li>Type <tt><b>rm refind_ia32.efi</b></tt> to remove the IA32 binary if you're using an <i>x</i>86-64 (64-bit) system; or type <tt><b>rm refind_x64.efi</b></tt> to remove the <i>x</i>86-64 binary if you're using an <i>x</i>86 (32-bit) system. (Note that you must keep the version that's the correct bit width for your EFI; if you've installed a 32-bit Linux on a 64-bit PC with a 64-bit EFI, you'd keep <tt>refind_x64.efi</tt>.</li>
<li>Optionally, type <tt class="userinput">rm -r drivers_ia32</tt> to remove the <i>x</i>86 drivers from an <i>x</i>86-64 system, or <tt class="userinput">rm -r drivers_x64</tt> to remove the <i>x</i>86-64 drivers from a 32-bit <i>x</i>86 system. You may also want to remove some or all of the drivers for the architecture you are using. If you don't need them, they'll slow down the start process, and worse, if you're using Secure Boot, rEFInd can load just one shim/MOK-signed driver. See the <a href="drivers.html">page on drivers</a> for more on this topic.</li>
</ul>
-<p>In all cases, if the new version includes new or altered configuration file options, you may need to manually update your configuration file. Alternatively, if you've used the default configuration file, you can replace your working <tt>refind.conf</tt> with <tt>refind.conf-sample</tt> from the rEFInd zip file. (When using <tt>install.sh</tt>, this file will be copied to rEFInd's installation directory under its original name, so you can rename it within that directory to replace the old file.</p>
+<p>In all cases, if the new version includes new or altered configuration file options, you may need to manually update your configuration file. Alternatively, if you've used the default configuration file, you can replace your working <tt>refind.conf</tt> with <tt>refind.conf-sample</tt> from the rEFInd zip file. (When using <tt>install.sh</tt>, this file will be copied to rEFInd's installation directory under its original name, so you can rename it within that directory to replace the old file.)</p>
<p>If you're upgrading to rEFInd from rEFIt, you can simply run the <tt>install.sh</tt> script as described earlier or perform a manual installation. Once installed, rEFInd will take over boot manager duties. You'll still be able to launch rEFIt from rEFInd; a rEFIt icon will appear in rEFInd's menu. You can eliminate this option by removing the rEFIt files, which normally reside in <tt>/EFI/refit</tt>.</p>
href="http://refit.sourceforge.net">original rEFIt package.</a></li>
<li><b>Drivers</b>—You can install drivers to extend the capabilities
- of the EFI. rEFInd ships with filesystem drivers for ext2fs and
+ of the EFI. rEFInd ships with filesystem drivers for ext2fs, ext4fs, and
ReiserFS, which can enable you to boot a Linux kernel with EFI stub
support from an ext2fs, ext3fs, ext4fs, or ReiserFS partition. (rEFInd also
provides ISO-9660 and HFS+ drivers.) You can find additional drivers
# <tt class="userinput">efibootmgr --verbose</tt>
Timeout: 10 seconds
BootOrder: 0000,0007
-Boot0000* rEFInd HD(2,1b8,64000,f1b7598e-baa8-16ea-4ef6-3ff3b606ac1e)File(\EFI\refind\refind.efi)
+Boot0000* rEFInd HD(2,1b8,64000,f1b7598e-baa8-16ea-4ef6-3ff3b606ac1e)File(\EFI\refind\refind_x64.efi)
Boot0007* CD/DVD Drive BIOS(3,0,00)PATA: HP DVD Writer 1040r .
# <tt class="userinput">efibootmgr --delete-bootnum --bootnum 0000</tt>
Timeout: 10 seconds
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 3/19/2012; last Web page update:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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: 1/6/2013</p>
+<p>Last Web page update: 1/8/2013</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.4 (1/8/2013)</b>—Bug fixes motivate this release; it corrects a couple of memory management bugs in 0.6.3 that cause rEFInd to hang at startup on some computers (unfortunately not on any of mine, so I missed this). I've also made a small change to the <tt>install.sh</tt> script so that it installs the ext2fs driver rather than the ext4fs driver if the script detects that a Linux kernel is on an ext2fs or ext3fs partition. This can keep rEFInd from scanning ext4fs partitions and picking up non-functional symbolic links to vmlinuz on such partitions.</li>
+
<li><b>0.6.3 (1/6/2013)</b>—The installation script and related tools see the biggest changes in this version of the program. The <tt>install.sh</tt> script can now detect a rEFInd installation in <tt>EFI/BOOT</tt> or <tt>EFI/Microsoft/Boot</tt> and update it rather than install to the default location of <tt>EFI/refind</tt>. It will also install to one of these fallback locations if it's run in BIOS mode, thus helping users who want to get a BIOS-mode install of Linux running on an EFI-based computer. A new <tt>mvrefind.sh</tt> script can move the installation between these three locations (or more exotic locations). Outside of scripts, the <tt>dont_scan_dirs</tt> and <tt>also_scan_dirs</tt> tokens can now accept volume specifications, as in <tt>myvol:EFI/bogus</tt> to not scan (or scan) the <tt>EFI/bogus</tt> directory on the <tt>myvol</tt> volume. I've also fixed a bug that caused rEFInd to ignore default boot loaders on removable disks if rEFInd was installed using the fallback filename. I've also modified the ISO-9660 driver so that it works with ISO-9660 images written to non-optical media. This may help with getting "hybrid ISO" images written to USB flash drives to boot.</li>
<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>
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
<p>Originally written: 11/13/2012; last Web page update:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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:
-1/6/2013, referencing rEFInd 0.6.3</p>
+1/8/2013, referencing rEFInd 0.6.4</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>
/** 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.6.3 " FSW_EFI_STRINGIFY(t) L" File System Driver"
+#define FSW_EFI_DRIVER_NAME(t) L"rEFInd 0.6.4 " FSW_EFI_STRINGIFY(t) L" File System Driver"
// function prototypes
#
# Revision history:
#
+# 0.6.4 -- Copies ext2 driver rather than ext4 driver for ext2/3fs
# 0.6.3 -- Support for detecting rEFInd in EFI/BOOT and EFI/Microsoft/Boot
# directories & for installing to EFI/BOOT in BIOS mode
# 0.6.2-1 -- Added --yes option & tweaked key-copying for use with RPM install script
BootFS=`blkid -o export $BootPart 2> /dev/null | grep TYPE= | cut -f 2 -d =`
DriverType=""
case $BootFS in
- ext2 | ext3 | ext4) DriverType="ext4"
+ ext2 | ext3) DriverType="ext2"
+ # Could use ext4, but that can create unwanted entries from symbolic
+ # links in / to /boot/vmlinuz if a separate /boot partition is used.
+ ;;
+ ext4) DriverType="ext4"
;;
reiserfs) DriverType="reiserfs"
;;
# Note: Seems to work on only a few systems, so I'm not distributing
# the resulting images yet....
#
-rm ../../refind-flashdrive-$Version.*
-cat $StartDir/flashparts.img refind-bin-$Version.img > refind-flashdrive-$Version.img
-cp $StartDir/README-flashdrive.txt ./
+rm -f ../../refind-flashdrive-$Version.*
+let FatSize=`du -s refind-bin-$Version.img | cut -f 1`
+let FatSize=($FatSize)+2048
+dd if=/dev/zero of=../../refind-flashdrive-$Version.img bs=1024 count=$FatSize
+sgdisk -n 1:2048:0 -t 1:EF00 -g ../../refind-flashdrive-$Version.img
+if [[ $? != 0 ]] ; then
+ echo "sgdisk failed! Exiting!"
+ exit 1
+fi
+dd if=refind-bin-$Version.img of=../../refind-flashdrive-$Version.img bs=512 seek=2048 conv=notrunc
+
cd ..
-mv refind-bin-$Version refind-flashdrive-$Version
-zip -9r ../refind-flashdrive-$Version.zip \
- refind-flashdrive-$Version/refind-flashdrive-$Version.img \
- refind-flashdrive-$Version/docs refind-flashdrive-$Version/LICENSE.txt \
- refind-flashdrive-$Version/install.sh \
- refind-flashdrive-$Version/COPYING.txt \
- refind-flashdrive-$Version/CREDITS.txt \
- refind-flashdrive-$Version/README.txt \
- refind-flashdrive-$Version/SHELLS.txt \
- refind-flashdrive-$Version/README-flashdrive.txt
-mv refind-flashdrive-$Version/refind-flashdrive-$Version.img ../
+mkdir refind-flashdrive-$Version
+ln ../refind-flashdrive-$Version.img refind-flashdrive-$Version
+cp $StartDir/README-flashdrive.txt $StartDir/COPYING.txt $StartDir/NEWS.txt \
+ $StartDir/CREDITS.txt $StartDir/LICENSE.txt $StartDir/SHELLS.txt refind-flashdrive-$Version
+zip -9r ../refind-flashdrive-$Version.zip refind-flashdrive-$Version
cd ../
Summary: EFI boot manager software
Name: refind
-Version: 0.6.3.2
+Version: 0.6.4
Release: 1%{?dist}
License: GPLv3
URL: http://www.rodsbooks.com/refind/
MyFreePool(GlobalConfig.AlsoScan);
GlobalConfig.AlsoScan = StrDuplicate(ALSO_SCAN_DIRS);
MyFreePool(GlobalConfig.DontScanDirs);
- if (SelfVolume->VolName) {
- SelfPath = StrDuplicate(SelfVolume->VolName);
- } else {
- SelfPath = AllocateZeroPool(256 * sizeof(CHAR16));
- SPrint(SelfPath, 255, L"fs%d", SelfVolume->VolNumber);
- } // if/else
+ if (SelfVolume) {
+ if (SelfVolume->VolName) {
+ SelfPath = StrDuplicate(SelfVolume->VolName);
+ } else {
+ SelfPath = AllocateZeroPool(256 * sizeof(CHAR16));
+ if (SelfPath != NULL)
+ SPrint(SelfPath, 255, L"fs%d", SelfVolume->VolNumber);
+ } // if/else
+ }
MergeStrings(&SelfPath, SelfDirPath, L':');
GlobalConfig.DontScanDirs = SelfPath;
MyFreePool(GlobalConfig.DontScanFiles);
// Implement FreePool the way it should have been done to begin with, so that
// it doesn't throw an ASSERT message if fed a NULL pointer....
-VOID MyFreePool(IN OUT VOID *Pointer) {
+VOID MyFreePool(IN VOID *Pointer) {
if (Pointer != NULL)
FreePool(Pointer);
}
if (AboutMenu.EntryCount == 0) {
AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
- AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.6.3.2");
+ AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.6.4");
AddMenuInfoLine(&AboutMenu, L"");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012 Roderick W. Smith");
SplitVolumeAndFilename(&Directory, &VolName);
CleanUpPathNameSlashes(Directory);
Length = StrLen(Directory);
- if ((Length > 0) && (StrLen(VolName) > 2) && (VolName[0] == L'f') && (VolName[1] == L's') &&
+ if (VolName && (Length > 0) && (StrLen(VolName) > 2) && (VolName[0] == L'f') && (VolName[1] == L's') &&
(VolName[2] >= L'0') && (VolName[2] <= L'9'))
VolNum = Atoi(VolName + 2);
if ((Length > 0) && ((VolName == NULL) || (StriCmp(VolName, Volume->VolName) == 0) || (Volume->VolNumber == VolNum)))
FindLegacyBootType();
if (GlobalConfig.LegacyType == LEGACY_TYPE_MAC)
CopyMem(GlobalConfig.ScanFor, "ihebocm ", NUM_SCAN_OPTIONS);
+ ScanVolumes();
ReadConfig(CONFIG_FILE_NAME);
InitScreen();
// further bootstrap (now with config available)
SetupScreen();
MokProtocol = SecureBootSetup();
- ScanVolumes();
+// ScanVolumes();
LoadDrivers();
ScanForBootloaders();
ScanForTools();