+<a name="quickstart">
+<h2>Using the EFI Stub Loader: A Quick Setup Guide</h2>
+</a>
+
+<p>The EFI stub loader is basic and reliable, but it requires some setup to use it. I describe both <a href="#testing">a quick test configuration</a> and <a href="#longterm">a long-term setup.</a></p>
+
+<a name="testing">
+<h3>Testing the EFI Stub Loader</h3>
+</a>
+
+<p>If you're not sure you want to use the EFI stub loader in the long term, you can perform a fairly quick initial test of it. This procedure assumes that you have access to a 3.3.0 or later Linux kernel with EFI stub support compiled into it. (Fedora 17, Ubuntu 12.10, and probably other distributions ship with such kernels.) Creating this configuration poses no risk to your current boot options, provided you don't accidentally delete existing files. The procedure for a quick test is:</p>
+
+<ol>
+
+<li>Copy your kernel file (<tt>vmlinuz-*</tt>) and matching initial RAM
+ disk file (<tt>init*</tt>) from <tt>/boot</tt> to a subdirectory of
+ <tt>EFI</tt> on your ESP. Your distribution's directory there should
+ work fine. For instance, typing <tt class="userinput">cp
+ /boot/vmlinuz-3.6.7-4.fc17.x86_64
+ /boot/initramfs-3.6.7-4.fc17.x86_64.img /boot/efi/EFI/redhat</tt> might
+ do the trick on a Fedora system, although you'll probably have to
+ adjust the version numbers. Note that the filename forms vary from one
+ distribution to another, so don't worry if yours look different from
+ these. Be sure that you match up the correct files by version number,
+ though.</li>
+
+<li>Copy the <tt>/boot/refind_linux.conf</tt> file to the same directory to
+ which you copied your kernel. If this file doesn't exist, create it by
+ running (as <tt>root</tt>) the <tt>mkrlconf.sh</tt> script that came
+ with rEFInd.</li>
+
+<li>Reboot. You should now see a new entry for launching the Linux kernel
+ that you copied. Try the option. If it works, great. If not, you may
+ need to adjust your <tt>refind_linux.conf</tt> file. See the <a
+ href="#efistub">detailed configuration section</a> for a description of
+ this file's format. If the kernel begins to boot but complains that it
+ couldn't find its root filesystem, double-check the version numbers on
+ your kernel and initial RAM disk file, and check the <tt>root=</tt>
+ option in <tt>refind_linux.conf</tt>.</li>
+
+</ol>
+
+<p>You can continue to boot your computer with this type of configuration; however, the drawback is that you'll need to copy your kernel whenever it's updated. This can be a hassle. A better way is to configure you system so that the EFI, and therefore rEFInd, can read your Linux <tt>/boot</tt> directory, where most Linux distributions place their kernels.</p>
+
+<a name="longterm">
+<h3>Configuring a Maintenance-Free Setup</h3>
+</a>
+
+<p>The ideal configuration for use of the EFI stub loader involves giving rEFInd the ability to load your kernels directly from <tt>/boot</tt>. The main obstacle to doing so is that this directory is frequently on an XFS, JFS, Btrfs, or ext4 filesystem that the EFI can't read, or it's tucked away in an LVM or RAID configuration that the EFI can't read. Fortunately, this problem can be overcome with relatively little fuss. Several variant procedures are possible, but I begin by describing one that will almost always work, although it's got some important caveats (described at the end). If you're currently booting via GRUB 2, it is likely to cease working when you try this, although GRUB should be recoverable by re-installing it. (On the other hand, GRUB will become redundant once this method of booting starts working so you might prefer to remove it completely.) You should perform the following steps as <tt>root</tt>, or precede each of these commands with <tt>sudo</tt>:</p>
+
+<ol>
+
+<li>Begin with your ESP mounted at <tt>/boot/efi</tt>, which is the most
+ common location. If it's not mounted there, type <tt
+ class="userinput">mount /dev/sda1 /boot/efi</tt> to do so (adjusting
+ <tt>/dev/sda1</tt>, if necessary), or mount it elsewhere and adjust the
+ paths in the following procedure as necessary.</li>
+
+<li>Check the size of the ESP by typing <tt class="userinput">df -h
+ /boot/efi</tt>. The ESP must be large enough to hold several Linux
+ kernels and initial RAM disk files—100MiB at a bare minimum, and
+ preferably 200–500MiB.</li>
+
+<li>Check your <tt>/boot</tt> directory to be sure it contains no links or
+ other files that rely on Unix/Linux-style permissions or ownership. If
+ it does, don't proceed, or at least research these files further to
+ determine if you can work around the need for such permissions and
+ ownership.</li>
+
+<li>Type <tt class="userinput">mv /boot/* /boot/efi</tt>. You'll see an
+ error message about being unable to move <tt>/boot/efi</tt> into
+ itself. Ignore this.</li>
+
+<li>Type <tt class="userinput">umount /boot/efi</tt>.</li>
+
+<li>Edit <tt>/etc/fstab</tt> and change the mount point for
+ <tt>/boot/efi</tt> to <tt>/boot</tt>. If the ESP isn't present in
+ <tt>/etc/fstab</tt>, you must create an entry for it, with a mount
+ point of <tt>/boot</tt>.</li>
+
+<li>Type <tt class="userinput">mount -a</tt> to re-mount everything,
+ including <tt>/boot</tt>. Check that your normal <tt>/boot</tt> files
+ are all present, along with the new <tt>/boot/EFI</tt> directory, which
+ holds what used to be <tt>/boot/efi/EFI</tt>. If something seems to be
+ missing (other than <tt>/boot/efi</tt> with a lowercase <tt>efi</tt>),
+ then you should try to correct the problem.</li>
+
+<li>If it doesn't already exist, create a file called
+ <tt>/boot/refind_linux.conf</tt> and populate it with kernel options,
+ as described <a href="#refind_linux">later.</a> If this file doesn't
+ already exist, the easiest way to create it is to run the
+ <tt>mkrlconf.sh</tt> script that comes with rEFInd 0.5.1 and
+ later.</li>
+
+<li>Check your <tt>refind.conf</tt> file (presumably in
+ <tt>/boot/EFI/refind</tt>) to be sure that the
+ <tt>scan_all_linux_kernels</tt> line is uncommented. If it's not,
+ uncomment that line.</li>
+
+<li>Optionally, type <tt class="userinput">cp
+ /boot/EFI/refind/icons/os_<i>name</i>.icns /boot/.VolumeIcon.icns</tt>
+ to give loaders in <tt>/boot</tt> an icon for your distribution.</li>
+
+<li>Reboot to test that this configuration works.</li>
+
+</ol>
+
+<p>Once this task is done, updates to your kernel will automatically be stored in the root directory of your ESP, where rEFInd will automatically detect them. Thus, the boot configuration becomes maintenance-free. The procedure as just described has some drawbacks, though. By placing your kernels in the root directory of your ESP, you render them vulnerable to any other OS with which you might be dual-booting. Your ESP must also be large enough to hold all your kernels. If you dual-boot with multiple Linux distributions, they might conceivably overwrite each others' kernels, and distinguishing one from another becomes more difficult.</p>
+
+<p>For these reasons, a variant of this procedure may be desirable. Most of the steps are similar, but in this variant, you create a separate <tt>/boot</tt> partition that's independent of the ESP. This partition can use FAT, HFS+, ReiserFS, ext2fs, ext3fs; but if you use any of the last four filesystems (three on Macs), you must install the matching EFI filesystem driver that ships with rEFInd. Creating the filesystem will normally require you to shrink an existing partition by a suitable amount (200–500MiB). Mount your new <tt>/boot</tt> partition at a temporary location, copy or move the current <tt>/boot</tt> files into it, unmount it, and add it to <tt>/etc/fstab</tt> as <tt>/boot</tt>.</p>
+
+
+<p>If your distribution already uses a separate <tt>/boot</tt> partition (as Fedora 17 does by default), but if it uses ext4fs or some other unsuitable filesystem, you can back it up, create a fresh FAT, HFS+, ReiserFS, ext2, or ext3 filesystem on it, and restore the original files. If you use a separate non-ESP <tt>/boot</tt> partition, you'll probably want to continue mounting the ESP at <tt>/boot/efi</tt>.</p>
+
+<a name="efistub">
+<h2>EFI Stub Loader Support Technical Details</h2>
+</a>