kexec_load(2) System Calls Manual kexec_load(2) kexec_load, kexec_file_load - (libc -lc) #include /* Definition of KEXEC_* constants */ #include /* Definition of SYS_* constants */ #include long syscall(SYS_kexec_load, unsigned long entry, unsigned long nr_segments, struct kexec_segment segments[nr_segments], unsigned long flags); long syscall(SYS_kexec_file_load, int kernel_fd, int initrd_fd, unsigned long cmdline_len, const char cmdline[cmdline_len], unsigned long flags); : glibc syscall(2). kexec_load() reboot(2). flags . flags: KEXEC_ON_CRASH ( Linux 2.6.13) . " " crashkernel. /proc/iomem "Crash kernel". ( ) . segments . KEXEC_PRESERVE_CONTEXT ( Linux 2.6.27) . . CONFIG_KEXEC_JUMP nr_segments 0. ( 0xffff0000) flags . () KEXEC_ARCH_DEFAULT KEXEC_ARCH_386 KEXEC_ARCH_68K KEXEC_ARCH_X86_64 KEXEC_ARCH_PPC KEXEC_ARCH_PPC64 KEXEC_ARCH_IA_64 KEXEC_ARCH_ARM KEXEC_ARCH_S390 KEXEC_ARCH_SH KEXEC_ARCH_MIPS KEXEC_ARCH_MIPS_LE. . entry . nr_segments segments () 16 . segments kexec_segment : 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 */ }; segments ( KEXEC_ON_CRASH). segments. . segments : o buf bufsz . bufsz memsz. o mem memsz . . o bufsz . bufsz memsz . kexec ( KEXEC_ON_CRASH) kexec ( kexec(8) -e). kexec ( KEXEC_ON_CRASH) kexec . kexec_load() CONFIG_KEXEC. kexec_file_load() kexec_file_load() kexec_load() . kernel_fd initrd ( RAM ) initrd_fd. cmdline . cmdline_len . ('\0'). flags . flags: KEXEC_FILE_UNLOAD . KEXEC_FILE_ON_CRASH ( KEXEC_ON_CRASH). . KEXEC_FILE_NO_INITRAMFS initrd/initramfs . initramfs. initrd_fd. kexec_file_load() "kexec" . CONFIG_KEXEC_FILE. 0. -1 errno . EADDRNOTAVAIL KEXEC_ON_CRASH mem memsz segments . EADDRNOTAVAIL mem memsz segments . EBADF kernel_fd initrd_fd . EBUSY . EINVAL flags . EINVAL bufsz segments memsz . EINVAL nr_segments KEXEC_SEGMENT_MAX (16). EINVAL . EINVAL cmdline[cmdline_len-1] '\0'. EINVAL kernel_fd initrd_fd ( ). ENOEXEC kernel_fd . bzImage x86 4 ( Documentation/arch/x86/boot.rst). ENOMEM . EPERM CAP_SYS_BOOT. . kexec_load() 2.6.13. kexec_file_load() 3.17. reboot(2), syscall(2), kexec(8) Documentation/kdump/kdump.rst Documentation/admin-guide/kernel-parameters.txt 3 . . : . 6.18 8 2026 kexec_load(2)