X-Git-Url: https://code.delx.au/refind/blobdiff_plain/7fb7030ef7b7c7332074afb76dd257e1992ca86c..25fa33d6ede1e5a5dfa7831231e9068a25ccf7d2:/docs/refind/installing.html diff --git a/docs/refind/installing.html b/docs/refind/installing.html index 5fd14bb..a6445cf 100644 --- a/docs/refind/installing.html +++ b/docs/refind/installing.html @@ -15,7 +15,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

Originally written: 3/14/2012; last Web page update: -12/31/2012, referencing rEFInd 0.6.2-2

+2/3/2013, referencing rEFInd 0.6.7

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!

@@ -142,7 +142,17 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

  • Installing Additional Components
  • -
  • Fixing a Sluggish Macintosh Boot
  • +
  • Fixing a Sluggish Macintosh Boot + +
  • Uninstalling rEFInd
  • @@ -154,13 +164,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

    Installing rEFInd Using an RPM or Debian Package File

    -

    Beginning with version 0.6.2, I've included an RPM package file for rEFInd, and I quickly updated this (in 0.6.2-2) to be more sophisticated and to include a Debian package file, as well. If you have a working RPM-based or Debian-based Linux installation that boots in EFI mode, using one of these files is likely to be the easiest way to install rEFInd: You need only download the file and issue an appropriate installation command. In some cases, double-clicking the package in your file manager will install it. If that doesn't work, a command like the following will install the RPM on an RPM-based system:

    +

    Beginning with version 0.6.2, I've included RPM and Debian package files for rEFInd. If you have a working RPM-based or Debian-based Linux installation that boots in EFI mode, using one of these files is likely to be the easiest way to install rEFInd: You need only download the file and issue an appropriate installation command. In some cases, double-clicking the package in your file manager will install it. If that doesn't work, a command like the following will install the RPM on an RPM-based system:

    -
    # rpm -Uvh refind-0.6.2-2.x86_64.rpm
    +
    # rpm -Uvh refind-0.6.7-1.x86_64.rpm

    On a Debian-based system, the equivalent command is:

    -
    # dpkg -i refind_0.6.2-2_amd64.deb
    +
    # dpkg -i refind_0.6.7-1_amd64.deb

    Either command produces output similar to that described for using the install.sh script, so you can check it for error messages and other signs of trouble. The package file installs rEFInd and registers it with the EFI to be the default boot loader. The script that runs as part of the installation process tries to determine if you're using Secure Boot, and if so it will try to configure rEFInd to launch using shim; however, this won't work correctly on all systems. Ubuntu 12.10 users who are booting with Secure Boot active should be wary, since the resulting installation will probably try to use Ubuntu's version of shim, which won't work correctly with rEFInd.

    @@ -277,13 +287,10 @@ Installation has completed successfully. available, installs it. Note that the "/boot directory" may be on a separate partition or it may be part of your root (/) filesystem, in which case the driver for your root filesystem is - installed. If install.sh 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 /boot partition and if you mount that partition at - /boot in your emergency system, and the ESP at - /boot/efi. + installed. This feature is unlikely to work properly from an emergency + system, although it might if you have a separate /boot + partition and if you mount that partition at /boot in your + emergency system, and the ESP at /boot/efi.
  • If you run install.sh on Linux and if /boot/refind_linux.conf doesn't already exist, @@ -342,7 +349,7 @@ install.sh [--esp | --usedefault device-file | --root --yes - This option causes the script to assume a Y input to every yes/no prompt that can be generated under certain conditions, such as if you specify --shim but install.sh detects no evidence of a Secure Boot installation. This option is intended mainly for use by scripts such as those that might be used as part of an installation via an RPM or Debian package. Note: I introduced this option with the 0.6.2-2 incremental release, which was primarily an update of the 0.6.2 RPM package; it's not yet available in the mainline 0.6.2 version. + This option causes the script to assume a Y input to every yes/no prompt that can be generated under certain conditions, such as if you specify --shim but install.sh detects no evidence of a Secure Boot installation. This option is intended mainly for use by scripts such as those that might be used as part of an installation via an RPM or Debian package. @@ -378,7 +385,7 @@ Filesystem 1K-blocks Used Available Use% Mounted on
  • Type cd /boot/efi/EFI/refind to change into rEFInd's new directory on the ESP.
  • -
  • Type rm refind_ia32.efi to remove the IA32 binary if you're using an x86-64 (64-bit) system; or type rm refind_x64.efi to remove the x86-64 binary if you're using an x86 (32-bit) system. You can optionally rename the binary you keep as refind.efi, 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 refind_x64.efi.
  • +
  • Type rm refind_ia32.efi to remove the IA32 binary if you're using an x86-64 (64-bit) system; or type rm refind_x64.efi to remove the x86-64 binary if you're using an x86 (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 refind_x64.efi.
  • Optionally, type rm -r drivers_ia32 to remove the x86 drivers from an x86-64 system, or rm -r drivers_x64 to remove the x86-64 drivers from a 32-bit x86 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 page on drivers for more on this topic.
  • @@ -771,7 +778,7 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi -

    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 refind.conf with refind.conf-sample from the rEFInd zip file. (When using install.sh, 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.

    +

    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 refind.conf with refind.conf-sample from the rEFInd zip file. (When using install.sh, 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.)

    If you're upgrading to rEFInd from rEFIt, you can simply run the install.sh 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 /EFI/refit.

    @@ -807,7 +814,7 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi href="http://refit.sourceforge.net">original rEFIt package.
  • Drivers—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 @@ -829,7 +836,27 @@ $ ioreg -l -p IODeviceTree | grep firmware-abi

    Fixing a Sluggish Macintosh Boot

    -

    I've received a few reports of a sluggish boot process (a delay of about 30 seconds before starting rEFInd) on some Macs after installing rEFInd. I've been unable to replicate this problem myself, and its true cause remains mysterious to me. I have found a Web forum post describing a possible fix. Be aware, though, that this procedure involves using the efibootmgr utility on Macs, which has been known to damage the firmware on some Macs. Other reports indicate that this problem has been fixed with 3.3.0 and later kernels. Thus, I present this information cautiously and with a strong "use at your own risk" warning. If you care to proceed, I recommend you update your Linux kernel to the latest possible version and then proceed as follows:

    +

    I've received a few reports of a sluggish boot process (a delay of about 30 seconds before starting rEFInd) on some Macs after installing rEFInd. I've been unable to replicate this problem myself, and its true cause remains mysterious to me. I have found three possible solutions, though: moving rEFInd to an HFS+ volume, using the fallback filename, and clearing NVRAM entries.

    + + +

    Moving rEFInd to an HFS+ Volume

    +
    + +

    Most of the reports of sluggish Macintosh boots I've seen note that the user installed rEFInd to the ESP rather than to the OS X root partition. Some users have reported that re-installing rEFInd to the OS X root partition clears up the problem. This is obviously a straightforward solution to the problem, if it works. Note that rEFInd can launch boot loaders that are stored on any partition that the EFI can read no matter where it's installed; therefore, you'll still be able to launch boot loaders stored on the ESP (or elsewhere) if you install it in this way.

    + +

    The biggest drawback to this approach is that you won't be able to edit the rEFInd configuration file or move rEFInd-related binaries from an EFI shell if you install it in this way, since Apple's HFS+ driver for EFI is read-only. (The same is true of rEFInd's HFS+ driver, so it won't help you overcome this limitation.) You may also be limited in making changes to your rEFInd configuration from Linux or other OSes, too, since Linux's HFS+ drivers disable write support by default on volumes with an active journal. You can force write access by using the force option to mount; however, this procedure is noted as being risky in the Linux HFS+ documentation, so I don't recommend doing this on a regular basis. As a compromise, you might try creating a small non-journaled HFS+ volume that's dedicated to holding rEFInd. You could even mount it as the Linux /boot partition, in which case it would also hold the Linux kernel and related files. You'll need to install rEFInd manually if you try this.

    + + +

    Using the Fallback Filename

    +
    + +

    I've received one report that installing rEFInd to the ESP using the fallback filename (EFI/BOOT/bootx64.efi on most systems, or EFI/BOOT/bootia32.efi on very old Macs) can work around the problem.

    + + +

    Clearing the NVRAM Entries

    +
    + +

    The first is a Web forum post that describes a possible fix. Be aware, though, that this procedure involves using the efibootmgr utility on Macs, which has been known to damage the firmware on some Macs. Other reports indicate that this problem has been fixed with 3.3.0 and later kernels. Thus, I present this information cautiously and with a strong "use at your own risk" warning. If you care to proceed, I recommend you update your Linux kernel to the latest possible version and then proceed as follows:

      @@ -875,7 +902,7 @@ $ sudo rm -r /EFI/refind # efibootmgr --verbose 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 . # efibootmgr --delete-bootnum --bootnum 0000 Timeout: 10 seconds @@ -890,7 +917,7 @@ Boot0007* CD/DVD Drive
      -

      copyright © 2012 by Roderick W. Smith

      +

      copyright © 2012–2013 by Roderick W. Smith

      This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.