]> code.delx.au - refind/commitdiff
Version 0.6.2 official release.
authorsrs5694 <srs5694@users.sourceforge.net>
Sun, 30 Dec 2012 19:23:41 +0000 (14:23 -0500)
committersrs5694 <srs5694@users.sourceforge.net>
Sun, 30 Dec 2012 19:23:41 +0000 (14:23 -0500)
24 files changed:
NEWS.txt
docs/refind/bootmode.html
docs/refind/configfile.html
docs/refind/drivers.html
docs/refind/features.html
docs/refind/getting.html
docs/refind/index.html
docs/refind/installing.html
docs/refind/linux.html
docs/refind/revisions.html
docs/refind/secureboot.html
docs/refind/themes.html
docs/refind/todo.html
docs/refind/using.html
filesystems/Make.gnuefi
filesystems/Make.tiano
filesystems/Makefile
filesystems/fsw_core.h
filesystems/fsw_efi.c
filesystems/fsw_ext4.c
mkdistrib
refind.spec
refind/Makefile
refind/main.c

index d04ee1bd258ebf352bf8d45bad16c7930dbe36e8..231a5ca23a4794f365a6454b3b1135a0a44c92fb 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,11 +1,15 @@
-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
index d4376ac972330e9e9ed355774ea96936457f91a1..b0672df3395a6c484c91b2cedb6cf940d6f70dab 100644 (file)
@@ -15,7 +15,7 @@
 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
index 3200ed82cea44e07853ceec7559530aacc4c0ac6..345608e340995513ccb870ebcc95fd69fbdb2036 100644 (file)
@@ -15,7 +15,7 @@
 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>
index 5d19efbcd270533abdd9b81c572e539f5f3e7f35..aa4bcee9e47f63c971373fb523ca4bc043c5d5ac 100644 (file)
@@ -15,7 +15,7 @@
 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>
@@ -190,8 +190,6 @@ fs0: <tt class="userinput">load reiserfs_x64.efi</tt>
 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>
index 5f3e0bbb538ce727d94a39cf00ebd273cb0e84da..0979f4c38afc744b47baae6ac4b7147f036f333a 100644 (file)
@@ -15,7 +15,7 @@
 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>
 
@@ -109,9 +109,9 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></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>
 
index 4f7892550526dc2b431405ff15cc713fd4c090cf..d7cd60593820de838c04a58e00d2a81b79e04ea8 100644 (file)
@@ -15,7 +15,7 @@
 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>
 
@@ -93,23 +93,21 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></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&mdash;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&mdash;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>&mdash;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>&mdash;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>&mdash;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
@@ -134,7 +132,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <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>&mdash;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
@@ -148,6 +146,26 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     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>&mdash;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>&mdash;If you want to peruse the source code in your Web
     browser or get the very latest version (including pre-release bug fixes
@@ -197,9 +215,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     as well download the rEFInd binary <tt>.zip</tt> file from Sourceforge
     instead.</li>
 
-<li><b>Slackware</b>&mdash;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>&mdash;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>
 
index ba66f0c7bc99857fcb4a95f44a30168cf2fd5141..b65c3553bdfc1d9df4a5a32874472a03a0393971 100644 (file)
@@ -15,7 +15,7 @@
 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>
index 1e9e88b86f4018167a25e46fa5133288e5042307..68a93c874d62cbd116e78dbf53e656667d77d7f6 100644 (file)
@@ -15,7 +15,7 @@
 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>
index eaad48b0de16d13041bca17959159ad0f1da1a9c..cadfc8886fc51922f2ed0a30fb6b239e3185dc7b 100644 (file)
@@ -15,7 +15,7 @@
 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>
index aed03b75d39c82719029f50c22077428efa860ea..b457e26f95335cf7fcb96fccab65c1938c787c16 100644 (file)
@@ -14,7 +14,7 @@
 <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>
 
@@ -92,6 +92,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
+<li><b>0.6.2 (12/30/2012)</b>&mdash;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>&mdash;(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>&mdash;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>
index c92b11b241667b94d5eee056f2eb3850ddb4fa2a..1380c7498c61a092e17690ce00d3b63f32643ee4 100644 (file)
@@ -15,7 +15,7 @@
 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>
index 02bfa4a71fda7ef3613cff3f329606b87d72ca77..6ad5599fe8bbab43a4e0fe6719e24803838011dd 100644 (file)
@@ -15,7 +15,7 @@
 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>
index 07fceffa9372cf5ded1b033dd3467fe64b1cfce8..caeed82f1bafeb3bd16d5d6db5a95ab54ae5b00d 100644 (file)
@@ -15,7 +15,7 @@
 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>
@@ -312,15 +312,6 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        loader settings&mdash;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>
 
@@ -359,6 +350,14 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        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>
index f63fd63b1101dc9bcb613cc33089385530af7503..8227ca14b6b5ce86078297025ddc23e286f754a3 100644 (file)
@@ -15,7 +15,7 @@
 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>
index 4d69b9167f64ee036219bb5c48da258c36f0bcbf..1c7e950ab540aa0e2cd3234838436c4f8b63661b 100644 (file)
@@ -43,6 +43,7 @@ include $(SRCDIR)/../Make.common
 $(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
index 1482ad20498eb6a5f69ae46b97f4ba45cf1f06b5..64266cd8cd5bef83ee70a6dbbccd0a01f2896537 100644 (file)
@@ -22,8 +22,7 @@ ifeq ($(ARCH),ia32)
 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
index 2f742ee757c07d3b4b831679334af13991a68dcc..bc22314789b0ac08a28d0aaf84cc0648bd336445 100644 (file)
@@ -38,6 +38,8 @@ hfs:
 
 # Build the drivers with GNU-EFI....
 
+gnuefi: $(FILESYSTEMS_GNUEFI)
+
 all_gnuefi:    $(FILESYSTEMS_GNUEFI)
 
 ext2_gnuefi:
@@ -64,6 +66,7 @@ hfs_gnuefi:
 
 clean:
        rm -f *~ *.bak *.o *.obj *.so *.efi *.dll err.txt $(TEXTFILES)
+       make -C test clean
 
 
 install:
index 5d2ab076547160c0953a3308d97d275edbd95ca4..56eb58b8912a777bc19a669b167c632f60c48209 100644 (file)
@@ -55,8 +55,9 @@
 #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
index 79b37206e00bf841db3bbb1accb447f4b03884de..d7631de458957dd6aae3617153f6752953412ef3 100644 (file)
@@ -73,6 +73,8 @@
 #define DBG(x...)
 #endif
 
+#ifdef __MAKEWITH_GNUEFI
+
 #define EFI_DISK_IO_PROTOCOL_GUID \
   { \
     0xce345171, 0xba0b, 0x11d2, {0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
@@ -83,7 +85,6 @@
     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;
index b648b3f91701de60efceb81b5d4ec20c5edfaea3..abef2cbe0afe05853689cb6a2a7f88d1a869692a 100644 (file)
@@ -385,9 +385,8 @@ static fsw_status_t fsw_ext4_get_by_extent(struct fsw_ext4_volume *vol, struct f
                                         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;
@@ -399,7 +398,6 @@ static fsw_status_t fsw_ext4_get_by_extent(struct fsw_ext4_volume *vol, struct f
 
     // 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;
@@ -432,7 +430,7 @@ static fsw_status_t fsw_ext4_get_by_extent(struct fsw_ext4_volume *vol, struct f
                           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)
@@ -447,7 +445,7 @@ static fsw_status_t fsw_ext4_get_by_extent(struct fsw_ext4_volume *vol, struct f
             }
         }
     }
-    
+
     return FSW_NOT_FOUND;
 }
 
index 7a83feed48b92403c662324245eea19a1aef626a..4ce2c68c84b32c6c74c19eac9d988c7f1096501a 100755 (executable)
--- a/mkdistrib
+++ b/mkdistrib
@@ -47,7 +47,7 @@ make clean
 # 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/
@@ -55,8 +55,8 @@ zip -9r refind-src-$1.zip refind-$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/
@@ -65,8 +65,8 @@ cp refind/refind_ia32.efi $StartDir/
 
 # 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
@@ -93,4 +93,12 @@ fi
 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
index 4938cfc92e04eb3dc2ee98992b0bdd93f8d2bef6..5df8cd0be0039207db944b84eb1e0bd49bf874c0 100644 (file)
@@ -58,22 +58,19 @@ rm -rf $RPM_BUILD_ROOT
 %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
index 844c44386aa6c9800406c374fcaad96b5a4be08d..9b74ccc985020defac276f53ac2138ab19fe6316 100644 (file)
@@ -35,6 +35,7 @@ include $(SRCDIR)/../Make.common
 $(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
index c50906c3ea053afeb0e205bc971ada8f9dc0ad1c..87bd63c99808bf71c43ea6e0a2066fabfdca7378 100644 (file)
@@ -132,7 +132,7 @@ static VOID AboutrEFInd(VOID)
 
     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");