Provided by: manpages-fr-dev_3.65d1p1-1_all bug

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.65 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> ».