kexec

kexec, abbreviated from kernel execution and derived from the Unix/Linux kernel call exec, is a mechanism of the Linux kernel that allows "live" booting of a new kernel "over" the currently running one. Essentially, kexec skips the bootloader stage and hardware initialization phase performed by the system firmware (BIOS or UEFI), and directly loads the new kernel into main memory and starts executing it immediately. This avoids the long times associated with a full reboot, and can help systems to meet high-availability requirements by minimizing downtime.[1][2]

While feasible, implementing a mechanism such as kexec raises two major challenges:

Support for allowing only signed kernels to be booted through kexec was merged into version 3.17 of the Linux kernel mainline, which was released on October 5, 2014.[3] This disallows a root user to load arbitrary code via kexec and execute it, complementing the UEFI secure boot and in-kernel security mechanisms for ensuring that only signed Linux kernel modules can be inserted into the running kernel.[4][5][6]

See also

References

  1. Hariprasad Nellitheertha (May 4, 2004). "Reboot Linux faster using kexec". IBM. Archived from the original on January 21, 2013. Retrieved December 5, 2013.
  2. David Pendell (August 16, 2008). "Reboot like a racecar with kexec". linux.com. Retrieved December 5, 2013.
  3. "Linux kernel 3.17, Section 1.10. Signed kexec kernels". kernelnewbies.org. October 5, 2014. Retrieved November 3, 2014.
  4. Jake Edge (June 25, 2014). "Reworking kexec for signatures". LWN.net. Retrieved August 9, 2014.
  5. Matthew Garrett (December 3, 2013). "Subverting security with kexec". dreamwidth.org. Retrieved December 5, 2013.
  6. Kees Cook (December 10, 2013). "Live patching the kernel". outflux.net. Retrieved December 12, 2013.


This article is issued from Wikipedia - version of the 8/25/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.