KEXEC_LOAD man page on Archlinux

Man page or keyword search:  
man Server   11224 pages
apropos Keyword Search (all sections)
Output format
Archlinux logo
[printable version]

KEXEC_LOAD(2)		   Linux Programmer's Manual		 KEXEC_LOAD(2)

       kexec_load - load a new kernel for later execution

       #include <linux/kexec.h>
       long kexec_load(unsigned long entry, unsigned long nr_segments,
		       struct kexec_segment *segments, unsigned long flags);

       Note: There is no glibc wrapper for this system call; see NOTES.

       The  kexec_load()  system  call loads a new kernel that can be executed
       later by reboot(2).

       The flags argument is a mask whose high-order bits control  the	opera‐
       tion of the call.  The following values can be specified in flags:

       KEXEC_ON_CRASH (since Linux 2.6.13)
	      Execute the new kernel automatically on a system crash.

       KEXEC_PRESERVE_CONTEXT (since Linux 2.6.27)
	      Preserve	the system hardware and software states before execut‐
	      ing the new kernel.  This could  be  used	 for  system  suspend.
	      This  flag  is  available only if the kernel was configured with
	      CONFIG_KEXEC_JUMP, and  is  effective  only  if  nr_segments  is
	      greater than 0.

       The  low-order bits of flags contain the architecture of the to-be-exe‐
       cuted kernel.  Specify (OR) the constant KEXEC_ARCH_DEFAULT to use  the
       current	architecture,  or  one of the following architecture constants
       KEXEC_ARCH_MIPS, and KEXEC_ARCH_MIPS_LE.	 The architecture must be exe‐
       cutable on the CPU of the system.

       The  entry  argument is the physical entry address in the kernel image.
       The nr_segments argument is the number of segments pointed  to  by  the
       segments	 pointer.   The segments argument is an array of kexec_segment
       structures which define the kernel layout:

	   struct kexec_segment {
	       void   *buf;	   /* Buffer in user space */
	       size_t  bufsz;	   /* Buffer length in user space */
	       void   *mem;	   /* Physical address of kernel */
	       size_t  memsz;	   /* Physical address length */

       The kernel image defined by segments is copied from the calling process
       into previously reserved memory.

       On success, kexec_load() returns 0.  On error, -1 is returned and errno
       is set to indicate the error.

       EBUSY  Another crash kernel is already being loaded or a	 crash	kernel
	      is already in use.

       EINVAL flags is invalid; or nr_segments is too large

       EPERM  The caller does not have the CAP_SYS_BOOT capability.

       The kexec_load() system call first appeared in Linux 2.6.13.

       This system call is Linux-specific.

       Currently,  there  is no glibc support for kexec_load().	 Call it using

       The  required  constants	 are  in  the	Linux	kernel	 source	  file
       linux/kexec.h,  which  is  not currently exported to glibc.  Therefore,
       these constants must be defined manually.

       This system call is available only if the kernel	 was  configured  with

       reboot(2), syscall(2)

       This  page  is  part of release 3.65 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at

Linux				  2012-07-13			 KEXEC_LOAD(2)

List of man pages available for Archlinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net