Provided by: manpages-fr-dev_3.57d1p1-1_all 

NOM
kexec_load - Charger un nouveau noyau pour une exécution ultérieure
SYNOPSIS
#include <linux/kexec.h>
long kexec_load(unsigned long entry, unsigned long nr_segments,
struct kexec_segment *segments, unsigned long flags);
Remarque : il n'existe pas de fonction glibc autour de cet appel système ; consultez NOTES.
DESCRIPTION
L'appel système kexec_load() charge un nouveau noyau qui peut être exécuté plus tard avec un reboot(2).
Le paramètre flags est un masque dont les bits de poids fort contrôlent l'opération de l'appel. Les
valeurs suivantes peuvent être spécifiées dans flags :
KEXEC_ON_CRASH (depuis Linux 2.6.13)
Exécuter automatiquement le nouveau noyau en cas de crash système.
KEXEC_PRESERVE_CONTEXT (depuis Linux 2.6.27)
Préserver le matériel système et les états logiciels avant d'exécuter le nouveau noyau. Ceci
pourrait être utilisé pour la mise en veille prolongée du système. Cet attribut n'est disponible
que si le noyau a été configuré avec CONFIG_KEXEC_JUMP, et n'est effectif que si nr_segments est
strictement positif.
Les bits de poids faible de flags contiennent l'architecture du noyau qui est en attente d'exécution.
Indiquez la constante KEXEC_ARCH_DEFAULT pour utiliser l'architecture actuelle, ou une ou plusieurs (en
utilisant l'opérateur OU) des constantes d'architecture suivantes : KEXEC_ARCH_386, 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 et KEXEC_ARCH_MIPS_LE. L'architecture doit pouvoir être exécutée sur le processeur du
système.
Le paramètre entry est l'adresse du point d'entrée physique dans l'image noyau. Le paramètre nr_segments
est le nombre de segments pointés par le pointeur segments. Le paramètre segments est un tableau de
kexec_segment structures qui définissent la disposition du noyau :
struct kexec_segment {
void *buf; /* Tampon dans l'espace utilisateur */
size_t bufsz; /* Taille du tampon */
void *mem; /* Adresse physique du noyau */
size_t memsz; /* Taille de l'adresse physique */
};
L'image noyau définie par segments est copiée depuis le processus appelant dans la mémoire préalablement
réservée.
VALEUR RENVOYÉE
S'il réussit, kexec_load() renvoie zéro. En cas d'erreur, il renvoie -1 et remplit errno avec la valeur
d'erreur.
ERREURS
EBUSY Un autre crash du noyau est déjà en train de charger, ou un crash du noyau est déjà utilisé.
EINVAL flags est invalide, ou nr_segments est trop grand
EPERM L'appelant n'a pas la capacité CAP_SYS_BOOT.
VERSIONS
L'appel système kexec_load() est apparu dans Linux 2.6.13.
CONFORMITÉ
Cet appel système est spécifique à Linux.
NOTES
Actuellement, il n'y a pas de prise en charge de kexec_load() dans la glibc. Il faut l'appeler avec
syscall(2).
Les constantes nécessaires sont définies dans le fichier source du noyau Linux linux/kexec.h, qui n'est
actuellement pas exporté par la glibc. Ces constantes doivent donc être définies manuellement.
Cet appel système n'est disponible que si le noyau a été configuré avec CONFIG_KEXEC.
VOIR AUSSI
reboot(2), syscall(2)
COLOPHON
Cette page fait partie de la publication 3.57 du projet man-pages Linux. Une description du projet et des
instructions pour signaler des anomalies peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
<section> <page_de_man> ».
Linux 13 juillet 2012 KEXEC_LOAD(2)