Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

kexec

From Wikipedia, the free encyclopedia
Linux kernel mechanism

kexec (kernel execute), analogous to the Unix/Linux kernel callexec, is a mechanism of theLinux kernel that allows booting of a newkernel from the currently running one.

Details

[edit]

Essentially, kexec skips thebootloader stage andhardware initialization phase performed by the systemfirmware (BIOS orUEFI), and directly loads the new kernel intomain 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 minimizingdowntime.[1][2]

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

  • Memory of the currently running kernel is overwritten by the new kernel, while the old one is still executing.
  • The new kernel will usually expect all hardware devices to be in a well defined state, in which they are after a system reboot because the system 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.

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

Kexec is used byLinuxBoot to boot the main kernel from the Linux kernel located in the firmware.

See also

[edit]
  • kdump (Linux) – Linux kernel's crash dump mechanism, which internally uses kexec
  • kGraft – Linux kernel live patching technology developed by SUSE
  • kpatch – Linux kernel live patching technology developed by Red Hat
  • Ksplice – Linux kernel live patching technology developed by Ksplice, Inc. and later bought by Oracle

References

[edit]
  1. ^Hariprasad Nellitheertha (May 4, 2004)."Reboot Linux faster using kexec".IBM. Archived fromthe original on January 21, 2013. RetrievedDecember 5, 2013.
  2. ^David Pendell (August 16, 2008)."Reboot like a racecar with kexec".linux.com. Archived fromthe original on February 14, 2009. RetrievedDecember 5, 2013.
  3. ^"Linux kernel 3.17, Section 1.10. Signed kexec kernels".kernelnewbies.org. October 5, 2014. RetrievedNovember 3, 2014.
  4. ^Jake Edge (June 25, 2014)."Reworking kexec for signatures".LWN.net. RetrievedAugust 9, 2014.
  5. ^Matthew Garrett (December 3, 2013)."Subverting security with kexec".dreamwidth.org. RetrievedDecember 5, 2013.
  6. ^Kees Cook (December 10, 2013)."Live patching the kernel".outflux.net. RetrievedDecember 12, 2013.
Linux kernel
Controversies
Distributions
Organizations
Adoption
Media
Security
certifications
Organization
Kernel
Support
People
Technical
Debugging
Startup
ABIs
APIs
Kernel
System Call
Interface
In-kernel
Userspace
Daemons,
File systems
Wrapper
libraries
Components
Variants
Virtualization
Adoption
Range
of use
Adopters
Retrieved from "https://en.wikipedia.org/w/index.php?title=Kexec&oldid=1276493958"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp