]> code.delx.au - refind/blobdiff - BUILDING.txt
New memory tester icon; refinement of progam-launch code.
[refind] / BUILDING.txt
index 869ed1eafde5a8717d2a448fb06be7c102489399..f1a2e63f66a22313993cd572582c198f56721cf2 100644 (file)
@@ -38,7 +38,7 @@ To compile rEFInd, you'll need the following:
     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 GNU-EFI is compiled under GNU-EFI, so
+    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.
 
@@ -93,18 +93,18 @@ you MUST install the kit from source code using its own unusual compilation
 procedure. The installation documentation also omits at least one step and
 is a bit unclear about others. Here's how I installed the toolkit:
 
-1) Download UDK2010.SR1.UP1 from
+1) Download UDK2010.SR1.UP1.P1 from
    https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UDK2010.
 
 2) Type "mkdir /usr/local/UDK2010". You can use another directory, but the
    Makefile for rEFInd's EFI drivers assumes this location. You'll need to
-   edit the EDK2BASE line in the Make.common file if you install somewhere
+   edit the EDK2BASE line in the Make.tiano file if you install somewhere
    else.
 
 3) Type "cd /usr/local/UDK2010".
 
-3) Unzip the downloaded file (UDK2010.SR1.UP1.Complete.MyWorkSpace.zip) in
-   the current directory (/usr/local/UDK2010). This creates a handful of
+3) Unzip the downloaded file (UDK2010.SR1.UP1.P1.Complete.MyWorkSpace.zip)
+   in the current directory (/usr/local/UDK2010). This creates a handful of
    files, including a tarball and a couple of .zip files.
 
 4) Type "unzip UDK2010.SR1.UP1.MyWorkSpace.zip". This extracts the
@@ -131,7 +131,7 @@ is a bit unclear about others. Here's how I installed the toolkit:
      "IA32 X64".
    - TOOL_CHAIN_TAG = GCC46 (or other value depending on your GCC version;
      type "gcc -v" to learn your GCC version number). Note that GCC 4.7
-     doesn't have its own entry, so use GCC46 for GCC 4.7.
+     and 4.8 don't have their own entries, so use GCC46 for them.
    The TianoCore Makefiles read some of these variables from this file
    and use them when accessing directories, so be sure to type these
    entries in the case specified.
@@ -177,13 +177,15 @@ With your development system set up, you can compile rEFInd as follows:
 4) Type "make gnuefi" to build with GNU-EFI, or either "make" alone or
    "make tiano" to build with TianoCore EDK2. With any luck, rEFInd will
    compile without error, leaving the "refind_ia32.efi" or "refind_x64.efi"
-   file, depending on your platform, in the "refind" subdirectory. If you
-   want to build IA32 binaries on an x86-64 (X64) system, type "ARCH=ia32
-   make". This works only if you're using the TianoCore build kit, and only
-   if you set TARGET_ARCH to either "IA32" or "IA32 X64" in target.txt when
-   you set up the TianoCore toolkit. If you plan to build both
-   architectures, be sure to copy the .efi file for the first build out of
-   the refind subdirectory before building the second architecture.
+   file, depending on your platform, in the "refind" subdirectory. This same
+   step builds the "gptsync_x64.efi" or "gptsync_ia32.efi" program file, in
+   the "gptsync" subdirectory. If you want to build IA32 binaries on an
+   x86-64 (X64) system, type "ARCH=ia32 make". This works only if you're
+   using the TianoCore build kit, and only if you set TARGET_ARCH to either
+   "IA32" or "IA32 X64" in target.txt when you set up the TianoCore toolkit.
+   If you plan to build both architectures, be sure to copy the .efi file
+   for the first build out of the refind subdirectory before building the
+   second architecture.
 
 5) The default build process does NOT build the filesystem drivers. If you
    want to build them, you must type "make fs" in the main rEFInd source
@@ -204,15 +206,15 @@ to the various GNU-EFI include files and libraries. Since rEFInd 0.6.2, the
 default Make.common file includes the following definitions:
 
 EFIINC          = /usr/include/efi
-GNUEFILIB       = /usr/lib
-EFILIB          = /usr/lib
-EFICRT0         = /usr/lib
+GNUEFILIB       = /usr/lib64
+EFILIB          = /usr/lib64
+EFICRT0         = /usr/lib64
 
 If you've installed GNU-EFI from source code, you may need to add "local"
 to those paths, as in "/usr/local/include/efi". You might need to change
-references to "lib" to "lib64" on some systems. Recall that you need at
-least GNU-EFI version 3.0l to build rEFInd, and until very recently, most
-distributions provided out-of-date versions of this package.
+references to "lib64" to "lib32" or "lib" on some systems. Recall that you
+need at least GNU-EFI version 3.0l to build rEFInd, and until very
+recently, most distributions provided out-of-date versions of this package.
 
 If you're using TianoCore's EDK2, as noted earlier, you may need to adjust
 the EDK2BASE variable in Make.tiano and filesystems/Make.tiano.