-<a name="extra_installsh">
-<h3>Extra <tt>install.sh</tt> Instructions</h3>
-</a>
-
-<p>Some details that can affect how the script runs include the following:</p>
-
-<ul>
-
-<li>If you run the script as an ordinary user, it attempts to acquire
- <tt>root</tt> privileges by using the <tt>sudo</tt> command. This works
- on Mac OS X and some Linux installations (such as under Ubuntu or if
- you've added yourself to the <tt>sudo</tt> users list), but on some
- Linux installations this will fail. On such systems, you should run
- <tt>install.sh</tt> as <tt>root</tt>.</li>
-
-<li>Under OS X, you can run the script with a mouse by opening a Terminal
- session and then dragging-and-dropping the <tt>install.sh</tt> file to
- the Terminal window. You'll need to press the Return or Enter key to
- run the script.</li>
-
-<li>If you're using OS X 10.7's Whole Disk Encryption (WDE) feature, or the
- loogical volumes feature in OS X 10.10, you <i>must</i> install rEFInd
- to the ESP or to a separate HFS+ partition. The default in rEFInd 0.8.4
- and later is to install to the ESP. If you prefer to use a separate
- HFS+ volume, the <tt>--ownhfs <tt
- class="variable">device-file</tt></tt> option to <tt>install.sh</tt> is
- required.</li>
-
-<li>If you're <i>not</i> using WDE or logical volumes, you can install
- rEFInd to the OS X root (<tt>/</tt>) partition by using the
- <tt>--notesp</tt> option to <tt>install.sh</tt>. Using this option is
- recommended when upgrading from a working rEFInd installation in this
- location.</li>
-
-<li>If you're replacing rEFIt with rEFInd on a Mac, there's a chance that
- <tt>install.sh</tt> will warn you about the presence of a program
- called <tt>/Library/StartupItems/rEFItBlesser</tt> and ask if you want
- to delete it. This program is designed to keep rEFIt set as the boot
- manager by automatically re-blessing it if the default boot manager
- changes. This is obviously undesirable if you install rEFInd as your
- primary boot manager, so it's generally best to remove this program. If
- you prefer to keep your options open, you can answer <tt
- class="userinput">N</tt> when <tt>install.sh</tt> asks if you want to
- delete rEFItBlesser, and instead manually copy it elsewhere. If you
- subsequently decide to go back to using rEFIt as your primary boot
- manager, you can restore rEFItBlesser to its place.</li>
-
-<li>If you're using OS X and an Advanced Format disk, heed the warning that
- <tt>install.sh</tt> displays and <i><b>do not</b></i> use <tt>bless
- --info</tt> to check your installation status; this combination has
- been reported to cause disk corruption on some Macs!</li>
-
-<li>If you intend to boot BIOS-based OSes on a UEFI-based PC, you
- <i>must</i> edit the <tt>refind.conf</tt> file's <tt>scanfor</tt> line
- to enable the relevant searches. This is <i>not</i> necessary on Macs,
- though; because of the popularity of dual boots with Windows on Macs,
- the BIOS/legacy scans are enabled by default on Macs.</li>
-
-<li>On Linux, <tt>install.sh</tt> checks the filesystem type of the
- <tt>/boot</tt> directory and, if a matching filesystem driver is
- 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. 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>On OS X, <tt>install.sh</tt> checks your partition tables for signs of
- a Linux installation. If such a sign is found, the script installs the
- EFI filesystem driver for the Linux ext4 filesystem. This will enable
- rEFInd to read your Linux kernel <i>if</i> it's on an ext2, ext3, or
- ext4 filesystem. Note that some configurations will require a
- <tt>/boot/refind_linux.conf</tt> file, which can be reliably generated
- only under Linux. (The <tt>mkrlconf.sh</tt> script that comes with
- rEFInd will do this job once you've booted Linux.) In the meantime, you
- can launch GRUB from rEFInd or press F2 or Insert twice after
- highlighting the Linux option in rEFInd. This will enable you to enter
- a <tt>root=/dev/<tt class="variable">whatever</tt></tt> specification,
- where <tt>/dev/<tt class="variable">whatever</tt></tt> is the device
- identifier of your Linux root (<tt>/</tt>) filesystem.
-
-<li>If you run <tt>install.sh</tt> on Linux and if
- <tt>/boot/refind_linux.conf</tt> doesn't already exist,
- <tt>install.sh</tt> creates this file and populates it with a few
- sample entries. If <tt>/boot</tt> is on a FAT partition (or HFS+ on a
- Mac), or if it's on an ext2fs, ext3fs, ext4fs, ReiserFS, or HFS+
- partition and you install an appropriate driver, the
- result is that rEFInd will detect your kernel and will probably boot it
- correctly. Some systems will require manual tweaking to
- <tt>refind_linux.conf</tt>, though—for instance, to add
- <tt>dolvm</tt> to the boot options on Gentoo systems that use LVM.</li>
-
-</ul>
-
-<p>In addition to these quirks, you should be aware of some options that <tt>install.sh</tt> supports to enable you to customize your installation in various ways. The syntax for <tt>install.sh</tt> is as follows:</p>
-
-<pre class="listing">
-install.sh [--notesp | --usedefault <tt class="variable">device-file</tt> | --root <tt class="variable">mount-point</tt> | \
- --ownhfs <tt class="variable">device-file</tt> ] \
- [--nodrivers | --alldrivers] [--shim <tt class="variable">shim-filename</tt>] [--localkeys] [--yes]
-</pre>
-
-<p>The details of the options are summarized in <a href="#table1">Table 1.</a> Broadly speaking, they come in four classes: installation location options (<tt>--notesp</tt>, <tt>--usedefault</tt>, and <tt>--root</tt>), driver options (<tt>--nodrivers</tt> and <tt>--alldrivers</tt>), Secure Boot options (<tt>--shim</tt> and <tt>--localkeys</tt>), and a user input option (<tt>--yes</tt>). Using some of these options in unusual conditions can generate warnings and prompts to confirm your actions. In particular, using <tt>--shim</tt> or <tt>--localkeys</tt> when you're <i>not</i> booted in Secure Boot mode, or failing to use <tt>--shim</tt> when you <i>are</i> booted in Secure Boot mode, will generate a query and a request to confirm your installation. Consult the <a href="secureboot.html">Managing Secure Boot</a> page for more on this topic.</p>
-
-<table border="1" cellpadding="1" cellspacing="2" summary="Table 1: Options to <tt>install.sh</tt>"><a name="table1"><caption><b>Table 1: Options to <tt>install.sh</tt></b></caption></a>
-<tr>
- <th>Option</th>
- <th>Explanation</th>
-</tr>
-<tr>
- <td><tt>--notesp</tt></td>
- <td>This option, which is valid only under OS X, tells <tt>install.sh</tt> to install rEFInd to the OS X root partition rather than to the ESP. This behavior was the default in rEFInd 0.8.3 and earlier, so you may want to use it when upgrading installations of that version, unless you used <tt>--esp</tt> (which is now the default behavior, although the <tt>--esp</tt> option no longer exists) or <tt>--ownhfs</tt>. You may also want to use <tt>--notesp</tt> on new installations if you're sure you're <i>not</i> using whole-disk encryption or logical volumes.</td>
-</tr>
-<tr>
- <td><tt>--usedefault <tt class="variable">device-file</tt></tt></td>
- <td>You can install rEFInd to a disk using the default/fallback filename of <tt>EFI/BOOT/bootx64.efi</tt> (and <tt>EFI/BOOT/bootia32.efi</tt>, if the 32-bit build is available) using this option. The <tt class="variable">device-file</tt> should be an <i>unmounted</i> ESP, or at least a FAT partition, as in <tt>--usedefault /dev/sdc1</tt>. Your computer's NVRAM entries will <i>not</i> be modified when installing in this way. The intent is that you can create a bootable USB flash drive or install rEFInd on a computer that tends to "forget" its NVRAM settings with this option. This option is mutually exclusive with <tt>--notesp</tt> and <tt>--root</tt>.</td>
-</tr>
-<tr>
- <td><tt>--ownhfs <tt class="variable">device-file</tt></tt></td>
- <td>This option should be used <i>only</i> under OS X. It's used to install rEFInd to an HFS+ volume <i>other than</i> a standard Mac boot volume. The result should be that rEFInd will show up in the Mac's own boot manager. More importantly, suspend-to-RAM operations may work correctly. Note that this option requires an HFS+ volume that is <i>not</i> currently an OS X boot volume. This can be a data volume or a dedicated rEFInd partition. The ESP might also work, if it's converted to use HFS+.</td>
-</tr>
-<tr>
- <td><tt>--root <tt class="variable">/mount-point</tt></tt></td>
- <td>This option is intended to help install rEFInd from a "live CD" or other emergency system. To use it, you should mount your regular installation at <tt class="variable">/mount-point</tt>, including your <tt>/boot</tt> directory (if it's separate) at <tt class="variable">/mount-point</tt><tt>/boot</tt> and (on Linux) your ESP at that location or at <tt class="variable">/mount-point</tt><tt>/boot/efi</tt>. The <tt>install.sh</tt> script then installs rEFInd to the appropriate location—on Linux, <tt class="variable">/mount-point</tt><tt>/boot/EFI/refind</tt> or <tt class="variable">/mount-point</tt><tt>/boot/efi/EFI/refind</tt>, depending on where you've mounted your ESP. Under OS X, this option is only useful in conjunction with <tt>--notesp</tt>, in which case rEFInd will install to <tt class="variable">/mount-point</tt><tt>/EFI/refind</tt>. The script also adds an entry to your NVRAM for rEFInd at this location. You cannot use this option with <tt>--usedefault</tt>. Note that this option is <i>not</i> needed when doing a dual-boot Linux/OS X installation; just install normally in OS X.</td>
-</tr>
-<tr>
- <td><tt>--nodrivers</tt></td>
- <td>Ordinarily <tt>install.sh</tt> attempts to install the driver required to read <tt>/boot</tt> on Linux. This attempt works only if you're using ext2fs, ext3fs, ext4fs, or ReiserFS on the relevant partition. If you want to forego this driver installation, pass the <tt>--nodrivers</tt> option. This option is the implicit when you use <tt>--usedefault</tt>.</td>
-</tr>
-<tr>
- <td><tt>--alldrivers</tt></td>
- <td>When you specify this option, <tt>install.sh</tt> copies <i>all</i> the driver files for your architecture. You may want to remove unused driver files after you use this option, especially if your computer uses Secure Boot. Note that some computers hang or fail to work with any drivers if you use this option, so use it with caution.</td>
-</tr>
-<tr>
- <td><tt>--shim <tt class="variable">shim-filename</tt></tt> or <tt>--preloader <tt class="variable">preloader-filename</tt></tt></td>
- <td>If you pass this option to <tt>install.sh</tt>, the script will copy the specified shim program file to the target directory, copy the <tt>MokManager.efi</tt> file from the shim program file's directory to the target directory, copy the 64-bit version of rEFInd as <tt>grubx64.efi</tt>, and register shim with the firmware. (If you also specify <tt>--usedefault</tt>, the NVRAM registration is skipped.) When the target file is identified as PreLoader, much the same thing happens, but <tt>install.sh</tt> copies <tt>HashTool.efi</tt> instead of <tt>MokManager.efi</tt> and copies rEFInd as <tt>loader.efi</tt> rather than as <tt>grubx64.efi</tt>. The intent is to simplify rEFInd installation on a computer that uses Secure Boot; when so set up, rEFInd will boot in Secure Boot mode, with one caveat: The first time you boot, MokManager/HashTool will launch, and you must use it to locate and install a public key or register rEFInd as a trusted application. The rEFInd public key file will be located in the rEFInd directory's <tt>keys</tt> subdirectory under the name <tt>refind.cer</tt>. Note that I'm not providing a shim binary myself, but you can download one from <a href="http://www.codon.org.uk/~mjg59/shim-signed/">here.</a> Some distributions also provide their own shim programs, so can point to them—for instance, in <tt>/boot/efi/EFI/fedora/shim.efi</tt>.</td>
-</tr>
-<tr>
- <td><tt>--localkeys</tt></td>
- <td>This option tells <tt>install.sh</tt> to generate a new Machine Owner Key (MOK), store it in <tt>/etc/refind.d/keys</tt> as <tt>refind_local.*</tt>, and re-sign all the 64-bit rEFInd binaries with this key before installing them. This is the preferable way to install rEFInd in Secure Boot mode, since it means your binaries will be signed locally rather than with my own key, which is used to sign many other users' binaries; however, this method requires that both the <tt>openssl</tt> and <tt>sbsign</tt> binaries be installed. The former is readily available in most distributions' repositories, but the latter is not, so this option is not the default.</td>
-</tr>
-<tr>
- <td><tt>--yes</tt></td>
- <td>This option causes the script to assume a <tt>Y</tt> input to every yes/no prompt that can be generated under certain conditions, such as if you specify <tt>--shim</tt> but <tt>install.sh</tt> 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.</td>
-</tr>
-</table>
-
-<p>After you run <tt>install.sh</tt>, you should peruse the script's output to ensure that everything looks OK. <tt>install.sh</tt> displays error messages when it encounters errors, such as if the ESP is mounted read-only or if you run out of disk space. You may need to correct such problems manually and re-run the script. In some cases you may need to fall back on manual installation, which gives you better control over details such as which partition to use for installation.</p>