plucky (8) kexec.8.gz

Provided by: kexec-tools_2.0.28-0ubuntu3_amd64 bug

NAME

       kexec - directly boot into a new kernel

SYNOPSIS

       /sbin/kexec  [-v  (--version)]  [-f  (--force)]  [-x  (--no-ifdown)]  [-y  (--no-sync)] [-l (--load)] [-p
       (--load-panic)] [-u (--unload)] [-e (--exec)] [-t (--type)] [--mem-min=addr] [--mem-max=addr]

DESCRIPTION

       kexec is a system call that enables you to load and boot into another kernel from the  currently  running
       kernel.   kexec  performs  the function of the boot loader from within the kernel. The primary difference
       between a standard system boot and a kexec boot is that the hardware initialization normally performed by
       the  BIOS  or  firmware  (depending  on  architecture) is not performed during a kexec boot. This has the
       effect of reducing the time required for a reboot.

       Make sure you have selected CONFIG_KEXEC=y when configuring the kernel. The CONFIG_KEXEC  option  enables
       the kexec system call.

USAGE

       Using kexec consists of

              (1) loading the kernel to be rebooted to into memory, and
              (2) actually rebooting to the pre-loaded kernel.

       To load a kernel, the syntax is as follows:

              kexec -l kernel-image --append=command-line-options --initrd=initrd-image

       where kernel-image is the kernel file that you intend to reboot to.

       Insert  the  command-line  parameters  that  must  be passed to the new kernel into command-line-options.
       Passing the exact contents of /proc/cmdline into command-line-options is the safest way  to  ensure  that
       correct values are passed to the rebooting kernel.

       The optional initrd-image is the initrd image to be used during boot.

       It's  also  possible to invoke kexec without an option parameter. In that case, kexec loads the specified
       kernel and then invokes shutdown(8).  If the shutdown scripts of your Linux distribution  support  kexec-
       based  rebooting,  they  then  call  kexec  -e  just before actually rebooting the machine. That way, the
       machine does a clean shutdown including all shutdown scripts.

EXAMPLE

       For example, if the kernel image you want to reboot to is /boot/vmlinux, the contents of /proc/cmdline is
       root=/dev/hda1,  and  the path to the initrd is /boot/initrd, then you would use the following command to
       load the kernel:

              kexec -l /boot/vmlinux --append=root=/dev/hda1 --initrd=/boot/initrd

       After this kernel is loaded, assuming the user-space supports kexec-based rebooting, it can be booted to,
       with a clean shutdown, using the command:

              reboot

       Alternatively, it can also be booted to, without calling shutdown(8), with the command:

              kexec -e

OPTIONS

       -d (--debug)
              Enable debugging messages.

       -S (--status)
              Return  1 if the type (by default crash) is loaded, 0 if not. Can be used in conjuction with -l or
              -p  to  toggle  the  type.   Note   this   option   supersedes   other   options   and   it   will
              not load or unload the kernel.

       -e (--exec)
              Run  the  currently loaded kernel. Note that it will reboot into the loaded kernel without calling
              shutdown(8).

       -f (--force)
              Force an immediate kexec call, do not call shutdown(8) (contrary to the default action without any
              option parameter). This option performs the same actions like executing -l and -e in one call.

       -h (--help)
              Open a help file for kexec.

       --hotplug
              Setup  for kernel modification of the elfcorehdr. This option performs the steps needed to support
              kernel updates to the elfcorehdr in the presence of hot un/plug  and/or  on/offline  events.  This
              option only useful for KEXEC_LOAD syscall.

       -i (--no-checks)
              Fast reboot, no memory integrity checks.

       -l (--load) kernel
              Load the specified kernel into the current kernel.

       -p (--load-panic)
              Load the new kernel for use on panic.

       -t (--type=type)
              Specify that the new kernel is of this type.

       -s (--kexec-file-syscall)
              Specify that the new KEXEC_FILE_LOAD syscall should be used exclusively.

       -c (--kexec-syscall)
              Specify that the old KEXEC_LOAD syscall should be used exclusively.

       -a (--kexec-syscall-auto)
              Try  the  new  KEXEC_FILE_LOAD  syscall  first and when it is not supported or the kernel does not
              understand the supplied image fall back to the old KEXEC_LOAD interface.

              There is no one single interface that always works, so this is the default.

              KEXEC_FILE_LOAD is required on systems that use locked-down  secure  boot  to  verify  the  kernel
              signature.  KEXEC_LOAD may be also disabled in the kernel configuration.

              KEXEC_LOAD  is  required  for some kernel image formats and on architectures that do not implement
              KEXEC_FILE_LOAD.

       -u (--unload)
              Unload the current kexec target kernel. If a capture kernel is being unloaded then specify -p with
              -u.

       -v (--version)
              Return the version number of the installed utility.

       -x (--no-ifdown)
              Shut down the running kernel, but restore the interface on reload.

       -y (--no-sync)
              Shut down the running kernel, but skip syncing the filesystems.

       --mem-min=addr
              Specify the lowest memory address addr to load code into.

       --mem-max=addr
              Specify the highest memory address addr to load code into.

       --entry=addr
              Specify the jump back address. (0 means it's not jump back or preserve context)

       --load-preserve-context
              Load the new kernel and preserve context of current kernel during kexec.

       --load-jump-back-helper
              Load a helper image to jump back to original kernel.

       --reuseinitrd
              Reuse initrd from first boot.

       --print-ckr-size
              Print crash kernel region size, if available.

SUPPORTED KERNEL FILE TYPES AND OPTIONS

       Beoboot-x86

              --args-elf
                     Pass ELF boot notes.

              --args-linux
                     Pass Linux kernel style options.

              --real-mode
                     Use the kernel's real mode entry point.

       elf-x86

              --append=string
                     Append string to the kernel command line.

              --command-line=string
                     Set the kernel command line to string.

              --reuse-cmdline
                     Use  the command line from the running system. When a panic kernel is loaded, it strips the
                     crashkernel parameter automatically. The BOOT_IMAGE parameter is also stripped.

              --initrd=file
                     Use file as the kernel's initial ramdisk.

              --ramdisk=file
                     Use file as the kernel's initial ramdisk.

       bzImage-x86

              --append=string
                     Append string to the kernel command line.

              --command-line=string
                     Set the kernel command line to string.

              --reuse-cmdline
                     Use the command line from the running system. When a panic kernel is loaded, it strips  the
                     crashkernel parameter automatically. The BOOT_IMAGE parameter is also stripped.

              --initrd=file
                     Use file as the kernel's initial ramdisk.

              --ramdisk=file
                     Use file as the kernel's initial ramdisk.

              --real-mode
                     Use real-mode entry point.

       multiboot-x86

              --command-line=string
                     Set the kernel command line to string.

              --reuse-cmdline
                     Use  the command line from the running system. When a panic kernel is loaded, it strips the
                     crashkernel parameter automatically. The BOOT_IMAGE parameter is also stripped.

              --module=mod arg1 arg2 ...
                     Load module mod with command-line arguments arg1 arg2 ...  This parameter can be  specified
                     multiple times.

       multiboot2-x86

              --command-line=string
                     Set the kernel command line to string.

              --reuse-cmdline
                     Use  the command line from the running system. When a panic kernel is loaded, it strips the
                     crashkernel parameter automatically. The BOOT_IMAGE parameter is also stripped.

              --module=mod arg1 arg2 ...
                     Load module mod with command-line arguments arg1 arg2 ...  This parameter can be  specified
                     multiple times.

       elf-ppc64

              --reuse-cmdline
                     Use the kernel command line from the running system.

              --command-line=string
                     Set the kernel command line to string.

              --append=string
                     Set the kernel command line to string.

              --ramdisk=file
                     Use file as the initial RAM disk.

              --initrd=file
                     Use file as the initial RAM disk.

              --devicetreeblob=file
                     Specify device tree blob file. Not applicable while using --kexec-file-syscall.

              --dtb=file
                     Specify device tree blob file. Not applicable while using --kexec-file-syscall.

ARCHITECTURE OPTIONS

       --console-serial
              Enable the serial console.

       --console-vga
              Enable the VGA console.

       --elf32-core-headers
              Prepare core headers in ELF32 format.

       --elf64-core-headers
              Prepare core headers in ELF64 format.

       --reset-vga
              Attempt to reset a standard VGA device.

       --serial=port
              Specify the serial port for debug output.

       --serial-baud=baud_rate
              Specify the baud rate of the serial port.

       --dt-no-old-root
              Do not reuse old kernel root=<device> param while creating flatten device tree.