

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Noyaux fournis par l’utilisateur
<a name="UserProvidedKernels"></a>

Si vous avez besoin d’un noyau personnalisé sur vos instances Amazon EC2, vous pouvez commencer avec une AMI qui est proche de ce que vous voulez, compiler le noyau personnalisé sur votre instance et mettre à jour le chargeur de démarrage pour pointer vers le nouveau noyau. Ce processus varie en fonction du type de virtualisation qu’utilise votre AMI. Pour plus d'informations, consultez la section [Types de virtualisation d'AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) dans le guide de l'*utilisateur Amazon EC2*.

**Topics**
+ [AMIs HVM (GRUB)](#HVM_instances)
+ [AMI paravirtuelles () PV-GRUB](#Paravirtual_instances)

## AMIs HVM (GRUB)
<a name="HVM_instances"></a>

Les volumes d’instance HVM sont traités comme des disques physiques réels. Le processus de démarrage est similaire à celui d’un système d’exploitation bare metal avec disque partitionné et programme d’amorçage, ce qui lui permet de travailler avec toutes les distributions Linux actuellement prises en charge. Le chargeur de démarrage le plus courant est GRUB ou GRUB2.

Par défaut, GRUB n’envoie pas ses données de sortie à la console de l’instance car il crée un délai de démarrage supplémentaire. Pour plus d’informations, consultez [Sortie de la console de l’instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshoot-unreachable-instance.html#instance-console-console-output) dans le *Guide de l’utilisateur Amazon EC2*. Si vous installez un noyau personnalisé, vous devez envisager d’activer la sortie GRUB.

Vous n’avez pas besoin de spécifier un noyau de rechange, mais nous vous recommandons d’en avoir un lorsque vous testez un nouveau noyau. GRUB peut avoir recours à un autre noyau au cas où le nouveau noyau échoue. Le fait d’avoir un noyau de rechange permet à l’instance de démarrer même si le nouveau noyau n’est pas trouvé.

L’ancien GRUB pour Amazon Linux utilise `/boot/grub/menu.lst`. GRUB2 pour les utilisations AL2. `/etc/default/grub` Pour plus d’informations sur la mise à jour du noyau par défaut dans le chargeur d’amorçage, consultez la documentation de votre distribution Linux.

## AMI paravirtuelles () PV-GRUB
<a name="Paravirtual_instances"></a>

Les AMI qui utilisent la virtualisation paravirtuelle (PV) utilisent un système appelé *PV-GRUB*pendant le processus de démarrage. PV-GRUB est un bootloader paravirtuel qui exécute une version corrigée de GNU GRUB 0.97. Lorsque vous démarrez une instance, PV-GRUB le processus de démarrage démarre, puis charge en chaîne le noyau spécifié par le `menu.lst` fichier de votre image.

PV-GRUB comprend le standard `grub.conf` ou `menu.lst` les commandes, ce qui lui permet de fonctionner avec toutes les distributions Linux actuellement prises en charge. Les distributions plus anciennes comme Ubuntu 10.04 LTS, Oracle Enterprise Linux ou CentOS 5.x ont besoin d’un package noyau spécial « ec2 » ou « xen » alors les distributions les plus récentes comprennent les pilotes nécessaires dans le package noyau par défaut.

La plupart des AMI paravirtuelles modernes utilisent un PV-GRUB AKI par défaut (y compris toutes les AMI Linux paravirtuelles disponibles dans le menu de démarrage rapide d'Amazon EC2 Launch Wizard). Il n'y a donc aucune étape supplémentaire à suivre pour utiliser un noyau différent sur votre instance, à condition que le noyau que vous souhaitez utiliser soit compatible avec votre distribution. La meilleure façon d’exécuter un noyau personnalisé sur une instance est de commencer avec une AMI qui est proche de ce que vous voulez, puis de compiler le noyau personnalisé sur votre instance et de modifier le fichier `menu.lst` pour démarrer avec ce noyau.

Vous pouvez vérifier que l'image du noyau d'une AMI est une PV-GRUB AKI. Exécutez la commande [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) suivante (en indiquant votre ID d’image de noyau) et vérifiez que le champ `Name` commence par `pv-grub` :

```
aws ec2 describe-images --filters Name=image-id,Values={{aki-880531cd}}
```

**Topics**
+ [Limites de PV-GRUB](#pv-grub-limitations)
+ [Configuring GRUB](#configuringGRUB)
+ [Identifiants d'image Amazon PV-GRUB Kernel](#AmazonKernelImageIDs)
+ [Mettre à jour PV-GRUB](#UpdatingPV-GRUB)

### Limites de PV-GRUB
<a name="pv-grub-limitations"></a>

PV-GRUB présente les limites suivantes :
+ Vous ne pouvez pas utiliser la version 64 bits de PV-GRUB pour démarrer un noyau 32 bits ou vice versa.
+ Vous ne pouvez pas spécifier d'image Amazon Ramdisk (ARI) lorsque vous utilisez un PV-GRUB AKI.
+ AWS a testé et vérifié qu'il PV-GRUB fonctionne avec les formats de système de fichiers suivants : EXT2, EXT3, EXT4, JFS, XFS et ReiserFS. Il se peut que d’autres formats de système de fichiers ne fonctionnent pas.
+ PV-GRUB peut démarrer des noyaux compressés à l'aide des formats de compression gzip, bzip2, lzo et xz.
+ Les AMI de cluster ne sont pas compatibles ou n'en ont pas besoin PV-GRUB, car elles utilisent la virtualisation matérielle complète (HVM). Alors que les instances paravirtuelles sont utilisées PV-GRUB pour démarrer, les volumes d'instance HVM sont traités comme de véritables disques, et le processus de démarrage est similaire au processus de démarrage d'un système d'exploitation bare metal doté d'un disque partitionné et d'un chargeur de démarrage. 
+ PV-GRUB les versions 1.03 et antérieures ne prennent pas en charge le partitionnement GPT ; elles ne prennent en charge que le partitionnement MBR.
+ Si vous comptez utiliser un gestionnaire par volumes logiques (LVM) avec des volumes Amazon Elastic Block Store (Amazon EBS), vous avez besoin d’une partition de démarrage séparée externe au LVM. Puis, vous pouvez créer des volumes logiques avec le LVM.

### Configurer GRUB pour les AMIs paravirtuels
<a name="configuringGRUB"></a>

Pour démarrer PV-GRUB, un `menu.lst` fichier GRUB doit exister dans l'image ; l'emplacement le plus courant de ce fichier est`/boot/grub/menu.lst`.

Voici un exemple de fichier de `menu.lst` configuration pour démarrer une AMI avec un PV-GRUB AKI. Dans cet exemple, vous avez le choix entre deux entrées de noyau : Amazon Linux 2018.03 (le noyau d'origine de cette AMI) et Vanilla Linux 4.16.4 (une version plus récente du noyau Vanilla Linux de). [https://www.kernel.org/](https://www.kernel.org/) L’entrée Vanilla a été copiée de l’entrée originale pour cette AMI et les chemins `kernel` et `initrd` ont été mis à jour par rapport aux nouveaux emplacements. Le paramètre `default 0` pointe le programme d’amorçage vers la première entrée qu’il voit (dans ce cas, l’entrée Vanilla) et le paramètre `fallback 1` pointe le programme d’amorçage vers la prochaine entrée s’il existe un problème lors du démarrage du premier.

```
default 0
fallback 1
timeout 0
hiddenmenu

title Vanilla Linux 4.16.4
root (hd0)
kernel /boot/vmlinuz-4.16.4 root=LABEL=/ console=hvc0
initrd /boot/initrd.img-4.16.4

title Amazon Linux 2018.03 (4.14.26-46.32.amzn1.x86_64)
root (hd0)
kernel /boot/vmlinuz-4.14.26-46.32.amzn1.x86_64 root=LABEL=/ console=hvc0
initrd /boot/initramfs-4.14.26-46.32.amzn1.x86_64.img
```

Il n'est pas nécessaire de spécifier un noyau de secours dans votre `menu.lst` fichier, mais nous vous recommandons de disposer d'un noyau de secours lorsque vous testez un nouveau noyau. PV-GRUBpeut revenir à un autre noyau en cas de défaillance du nouveau noyau. Le fait d’avoir un noyau de rechange permet à l’instance de démarrer même si le nouveau noyau n’est pas trouvé. 

PV-GRUB vérifie les emplacements suivants`menu.lst`, en utilisant le premier qu'il trouve :
+  `(hd0)/boot/grub` 
+  `(hd0,0)/boot/grub` 
+  `(hd0,0)/grub` 
+  `(hd0,1)/boot/grub` 
+  `(hd0,1)/grub` 
+  `(hd0,2)/boot/grub` 
+  `(hd0,2)/grub` 
+  `(hd0,3)/boot/grub` 
+  `(hd0,3)/grub` 

Notez que les versions PV-GRUB 1.03 et antérieures ne vérifient que l'un des deux premiers emplacements de cette liste.

### Identifiants d'image Amazon PV-GRUB Kernel
<a name="AmazonKernelImageIDs"></a>

PV-GRUB Les AKI sont disponibles dans toutes les régions Amazon EC2, à l'exception de l'Asie-Pacifique (Osaka). Il existe des AKI pour les types d’architecture 32 bits et 64 bits. La plupart des AMI modernes utilisent un PV-GRUB AKI par défaut.

Nous vous recommandons de toujours utiliser la dernière version de l' PV-GRUB AKI, car toutes les versions de l' PV-GRUB AKI ne sont pas compatibles avec tous les types d'instances. Utilisez la commande [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) suivante pour obtenir la liste des PV-GRUB AKI pour la région actuelle :

```
aws ec2 describe-images --owners amazon --filters Name=name,Values=pv-grub-*.gz
```

PV-GRUB est le seul AKI disponible dans la `ap-southeast-2` Région. Vous devez vérifier que toute AMI que vous souhaitez copier dans cette région utilise une version de PV-GRUB celle-ci disponible dans cette région.

Ce qui suit correspond aux ID d’AKI actuels pour chaque région. Enregistrez les nouvelles AMI à l’aide d’une AKI hd0.

**Note**  
Nous continuons de fournir des AKI hd00 pour la rétrocompatibilité dans les régions où elles étaient précédemment disponibles.


**ap-northeast-1, Asia Pacific (Tokyo)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-f975a998  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-7077ab11  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**ap-southeast-1, Asia Pacific (Singapore) Region**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-17a40074  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-73a50110  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**ap-southeast-2, Asia Pacific (Sydney)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-ba5665d9  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-66506305  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**eu-central-1, Europe (Frankfurt)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-1419e57b  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-931fe3fc  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**eu-west-1, Europe (Ireland)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-1c9fd86f  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-dc9ed9af  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**sa-east-1, South America (São Paulo)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-7cd34110  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-912fbcfd  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**us-east-1, US East (N. Virginia)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-04206613  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-5c21674b  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**US-GOV-WEST-1, AWS GovCloud (US-West)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-5ee9573f  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-9ee55bff  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**us-west-1, US West (N. California)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-43cf8123  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-59cc8239  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**us-west-2, US West (Oregon)**  

| ID de l’image | Nom de l’image | 
| --- | --- | 
|  aki-7a69931a  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-70cb0e10  |  pv-grub-hd0\_1.05-x86\_64.gz  | 

### Mettre à jour PV-GRUB
<a name="UpdatingPV-GRUB"></a>

Nous vous recommandons de toujours utiliser la dernière version de l' PV-GRUB AKI, car toutes les versions de l' PV-GRUB AKI ne sont pas compatibles avec tous les types d'instances. De plus, les anciennes versions de ne PV-GRUB sont pas disponibles dans toutes les régions. Ainsi, si vous copiez une AMI qui utilise une ancienne version vers une région qui ne prend pas en charge cette version, vous ne pourrez pas démarrer les instances lancées depuis cette AMI tant que vous n'aurez pas mis à jour l'image du noyau. Utilisez les procédures suivantes pour vérifier la version de votre instance PV-GRUB et la mettre à jour si nécessaire.

**Pour vérifier votre PV-GRUB version**

1. Trouvez l’ID noyau pour votre instance.

   ```
   aws ec2 describe-instance-attribute --instance-id {{instance_id}} --attribute kernel --region {{region}}
   
   {
       "InstanceId": "{{instance_id}}", 
       "KernelId": "aki-70cb0e10"
   }
   ```

   L’ID noyau pour cette instance est `aki-70cb0e10`.

1. Consultez les informations sur la version de cet ID noyau.

   ```
   aws ec2 describe-images --image-ids {{aki-70cb0e10}} --region {{region}}
   
   {
       "Images": [
           {
               "VirtualizationType": "paravirtual", 
               "Name": "pv-grub-hd0_1.05-x86_64.gz", 
               ...
               "Description": "PV-GRUB release 1.05, 64-bit"
           }
       ]
   }
   ```

   Cette image du noyau est PV-GRUB 1.05. Si votre PV-GRUB version n'est pas la plus récente (comme indiqué dans[Identifiants d'image Amazon PV-GRUB Kernel](#AmazonKernelImageIDs)), vous devez la mettre à jour en suivant la procédure suivante.

**Pour mettre à jour votre PV-GRUB version**

Si votre instance utilise une ancienne version de PV-GRUB, vous devez la mettre à jour vers la dernière version.

1. Identifiez l' PV-GRUB AKI le plus récent pour votre région et l'architecture de votre processeur auprès de[Identifiants d'image Amazon PV-GRUB Kernel](#AmazonKernelImageIDs).

1. Arrêtez votre instance. Votre instance doit être arrêtée pour modifier l’image noyau utilisée.

   ```
   aws ec2 stop-instances --instance-ids {{instance_id}} --region {{region}}
   ```

1. Modifiez l’image noyau utilisée pour votre instance.

   ```
   aws ec2 modify-instance-attribute --instance-id {{instance_id}} --kernel {{kernel_id}} --region {{region}}
   ```

1. Redémarrez votre instance.

   ```
   aws ec2 start-instances --instance-ids {{instance_id}} --region {{region}} 
   ```