Hardware Reference
In-Depth Information
It's highly unlikely that you'll ever need to boot a Pi using the emergency kernel, but it's
worth learning how to do so just in case. This is especially important if you're upgrading your
kernel or are using a new and potentially poorly tested distribution. Sometimes, newly
released software can have
bugs
which aren't spotted before its release. When encountering
strange errors after upgrading, the emergency kernel can be used to narrow down the prob-
lem to the new kernel version.
The Linux kernel is a single file located in the
/boot
directory called
kernel.img
. When
the Pi is first switched on and begins to load the operating system, it looks for this file, and if
the file is missing, the Pi won't work. The emergency kernel is a second file, again in the
/
boot
directory, called
kernel_emergency.img
.
The emergency kernel is, in most cases, almost identical to the standard kernel. When
changes are made to the standard kernel, to boost performance or add new features for
example, the emergency kernel is left unaltered. This way, if the changes to the standard
kernel cause stability problems, a user can simply tell the Pi to load the emergency kernel
instead.
There are two ways to boot into the emergency kernel, and both require the use of a PC and
an SD card reader if the Pi can't boot. Otherwise, the following steps can be carried out on
the Pi itself.
The easiest way to boot the emergency kernel is to rename the existing
kernel.img
file to
kernel.img.bak
, and then rename the
kernel_emergency.img
file to
kernel.img
.
When the Pi loads, it will now load the emergency kernel by default. To go back to the stan-
dard kernel, simply reverse the process: rename
kernel.img
to
kernel_emergency.img
and
kernel.img.bak
to
kernel.img
.
An alternative method to load the emergency kernel is to edit the
cmdline.xt
file (located
in the
/boot
directory) by adding the following entry at the end of the existing command
line:
kernel=kernel_emergency.img
This tells the Pi that it should load the kernel named
kernel_emergency.img
instead of
the usual
kernel.img
. Reversing the process is as simple as opening
cmdline.txt
again
and removing the entry.
You'll learn more about
cmdline.txt
and how it affects the operation of the Raspberry Pi
in Chapter 7, “Advanced Raspberry Pi Configuration”.