Kexec
Encyclopedia
In computing
,
that allows "live" booting of a new kernel "over" the currently running kernel. kexec skips the bootloader stage (hardware
initialization phase by the firmware
or BIOS
) and directly loads the new kernel into memory, where it starts executing immediately. This avoids the long times associated with a full reboot, and can help systems to meet high-availability requirements by minimizing downtime
.
While feasible, implementing a mechanism such as kexec raises two major challenges:
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
,
kexec
(kernel execution) is a mechanism of the Linux kernelLinux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
that allows "live" booting of a new kernel "over" the currently running kernel. kexec skips the bootloader stage (hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
initialization phase by the firmware
Firmware
In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...
or BIOS
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....
) and directly loads the new kernel into memory, where it starts executing immediately. This avoids the long times associated with a full reboot, and can help systems to meet high-availability requirements by minimizing downtime
Downtime
The term downtime is used to refer to periods when a system is unavailable.Downtime or outage duration refers to a period of time that a system fails to provide or perform its primary function...
.
While feasible, implementing a mechanism such as kexec raises two major challenges:
- the new kernel will overwrite the memory of the currently running one, while it is still executing
- the new kernel will usually expect all physical devices to be in a well-defined state (as they are after system reboot, when the BIOS (or firmware) resets them to a "sane" state). Bypassing a real reboot may leave devices in an unknown state, and the new kernel will have to recover from that.
External links
- An elaborate article on kexec's purpose and usage
- The article "Reboot like a racecar with kexec"
- Using kexec and kdump to get core files on Fedora and CentOS host