

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Kernels proporcionados por el usuario
<a name="UserProvidedKernels"></a>

Si necesita un kernel personalizado para las instancias Amazon EC2, puede comenzar con una AMI que se aproxime a lo que desea, compilar el kernel personalizado en la instancia y actualizar el cargador de arranque para que se dirija hacia el nuevo kernel. Este proceso varía en función del tipo de virtualización que utiliza la AMI. Para obtener más información, consulte los [tipos de virtualización de las AMI de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) en la *Guía del usuario de Amazon EC2*.

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

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

Los volúmenes de instancias HVM se tratan como discos físicos. El proceso de arranque es similar al de un sistema operativo bare metal con un disco particionado y un cargador de arranque que le permite trabajar con todas las distribuciones Linux admitidas actualmente. El gestor de arranque más común es GRUB o. GRUB2

De forma predeterminada, GRUB no envía su resultado a la consola de la instancia porque esto provoca un retraso adicional durante el arranque. Para obtener más información, consulte [Salida de la consola de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshoot-unreachable-instance.html#instance-console-console-output) en la *Guía del usuario de Amazon EC2*. Si instala un kernel personalizado, debería considerar habilitar la salida de GRUB.

No es necesario especificar un kernel alternativo, pero le recomendamos que tenga una alternativa al probar un nuevo kernel. Así, en caso de que el nuevo kernel falle, GRUB puede recurrir a otro kernel. Disponer de un kernel alternativo permite que la instancia arranque incluso si no se encuentra el nuevo kernel.

El GRUB heredado que utiliza `/boot/grub/menu.lst` Amazon Linux. GRUB2 para AL2 usos`/etc/default/grub`. Para obtener más información sobre cómo actualizar el kernel predeterminado en el cargador de arranque, consulte la documentación de su distribución Linux.

## Paravirtual AMIs (PV-GRUB)
<a name="Paravirtual_instances"></a>

AMIs los que utilizan la virtualización paravirtual (PV) utilizan un sistema denominado *PV-GRUB* durante el proceso de arranque. PV-GRUB es un cargador de arranque paravirtual que ejecuta una versión parcheada de GNU GRUB 0.97. Al iniciar una instancia, PV-GRUB inicia el proceso de arranque y, a continuación, la cadena carga el kernel que especifica el archivo `menu.lst` de su imagen.

PV-GRUB comprende `grub.conf` estándar o comandos `menu.lst`, lo que le permite trabajar con todas las distribuciones Linux admitidas actualmente. Las distribuciones anteriores, como Ubuntu 10.04 LTS, Oracle Enterprise Linux o CentOS 5.x, requieren un paquete de kernel “ec2” o “xen” especial, mientras que las más recientes incluyen los controladores necesarios en el paquete del kernel predeterminado.

Las AMI paravirtuales más modernas utilizan una AKI PV-GRUB de forma predeterminada (incluidas todas las AMI paravirtuales de Linux disponibles en el menú Quick Start del Launch Wizard de Amazon EC2), por lo que no es necesario que realice ningún paso adicional para utilizar un kernel distinto en la instancia, siempre que el kernel que desea utilizar sea compatible con su distribución. La mejor manera de ejecutar un kernel personalizado en la instancia es comenzar con una AMI que se aproxime a lo que desea y, a continuación, compilar el kernel personalizado en la instancia y modificar el archivo `menu.lst` para que arranque con ese kernel.

Puede verificar que la imagen del kernel de una AMI es una AKI PV-GRUB. Ejecute el comando siguiente [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) (lo que sustituye el ID de imagen del kernel) y compruebe si el campo `Name` comienza con `pv-grub`:

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

**Topics**
+ [Restricciones de PV-GRUB](#pv-grub-limitations)
+ [Configuring GRUB](#configuringGRUB)
+ [Imagen del núcleo de Amazon PV-GRUB IDs](#AmazonKernelImageIDs)
+ [Actualizar PV-GRUB](#UpdatingPV-GRUB)

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

PV-GRUB tiene las siguientes restricciones:
+ No se puede utilizar la versión de PV-GRUB de 64 bits para iniciar un kernel de 32 bits o viceversa.
+ No se puede especificar una imagen de disco RAM de Amazon (ARI) al utilizar una AKI PV-GRUB.
+ AWS ha probado y comprobado que PV-GRUB funciona con los siguientes formatos de sistema de archivos: EXT2,,, JFS EXT3 EXT4, XFS y ReiserFS. Otros formatos de sistema de archivos podrían no ser compatibles.
+ PV-GRUB puede arrancar kernels comprimidos utilizando los formatos de compresión gzip, bzip2, lzo y xz.
+ Los clústeres AMIs no admiten ni necesitan PV-GRUB porque utilizan la virtualización completa de hardware (HVM). Si bien las instancias paravirtuales utilizan PV-GRUB para arrancar, los volúmenes de instancias HVM se tratan como discos físicos y el proceso de arranque es similar al de un sistema operativo bare metal con un disco particionado y un cargador de arranque. 
+ Las versiones 1.03 y anteriores de PV-GRUB no admiten partición GPT; solo admiten partición MBR.
+ Si tiene previsto utilizar un administrador de volúmenes lógicos (LVM) con volúmenes de Amazon Elastic Block Store (Amazon EBS), necesita una partición de arranque independiente fuera del LVM. Entonces podrá crear volúmenes lógicos con el LVM.

### Configure GRUB para paravirtual AMIs
<a name="configuringGRUB"></a>

Para arrancar PV-GRUB, la imagen deben contener un archivo GRUB `menu.lst`; la ubicación más habitual de este archivo es `/boot/grub/menu.lst`.

A continuación se muestra un ejemplo de un `menu.lst` archivo de configuración para arrancar una AMI con una AKI PV-GRUB. En este ejemplo, existen dos entradas de kernel para elegir: Amazon Linux 2018.03 (el kernel original para esta AMI) y Vanilla Linux 4.16.4 (una versión más reciente del kernel Vanilla de Linux de [https://www.kernel.org/](https://www.kernel.org/)). La entrada Vanilla se ha copiado de la entrada original para esta AMI y las rutas `kernel` e `initrd` se han actualizado con las nuevas ubicaciones. El parámetro `default 0` dirige el cargador de arranque hacia la primera entrada que ve (en este caso, la entrada Vanilla) y el parámetro `fallback 1` dirige el cargador de arranque hacia la siguiente entrada si hay un problema al arrancar la primera.

```
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
```

No es necesario especificar un kernel alternativo en el archivo `menu.lst` pero le recomendamos que tenga uno al probar un nuevo kernel. Así, en caso de que el nuevo kernel falle, PV-GRUB puede recurrir a otro kernel. Disponer de un kernel alternativo permite que la instancia arranque incluso si no se encuentra el nuevo kernel. 

PV-GRUB busca `menu.lst` en las siguientes ubicaciones, utilizando el primero que encuentra:
+  `(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` 

Tenga en cuenta que PV-GRUB 1.03 y anteriores solo comprueban una de las dos primeras ubicaciones de esta lista.

### Imagen del núcleo de Amazon PV-GRUB IDs
<a name="AmazonKernelImageIDs"></a>

Las AKI PV-GRUB están disponibles en todas las regiones de Amazon EC2, excepto en Asia-Pacífico (Osaka). Las hay AKIs para tipos de arquitectura de 32 y 64 bits. La mayoría de los modernos AMIs utilizan una AKI de PV-GRUB de forma predeterminada.

Le recomendamos que utilice siempre la versión más actual de la AKI PV-GRUB, ya que no todas las versiones son compatibles con todos los tipos de instancia. Utilice el siguiente comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) para obtener una lista del PV-GRUB de la región actual: AKIs 

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

PV-GRUB es la única AKI disponible en la región `ap-southeast-2`. Debe verificar que cualquier AMI que desee copiar en esta región utilice una versión de PV-GRUB que esté disponible en esta región.

Las siguientes son las AKI actuales de cada región. IDs Registre una nueva AMIs con una AKI hd0.

**nota**  
Seguimos proporcionando los hd00 AKIs para garantizar la compatibilidad con versiones anteriores en las regiones en las que estaban disponibles anteriormente.


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-f975a998  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-7077ab11  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-17a40074  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-73a50110  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-ba5665d9  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-66506305  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-1419e57b  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-931fe3fc  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-1c9fd86f  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-dc9ed9af  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-7cd34110  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-912fbcfd  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-04206613  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-5c21674b  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


**us-gov-west-1, AWS GovCloud (US-West)**  

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-5ee9573f  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-9ee55bff  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-43cf8123  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-59cc8239  |  pv-grub-hd0\$11.05-x86\$164.gz  | 


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

| ID de imagen | Nombre de la imagen | 
| --- | --- | 
|  aki-7a69931a  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-70cb0e10  |  pv-grub-hd0\$11.05-x86\$164.gz  | 

### Actualizar PV-GRUB
<a name="UpdatingPV-GRUB"></a>

Le recomendamos que utilice siempre la versión más actual de la AKI PV-GRUB, ya que no todas las versiones son compatibles con todos los tipos de instancia. Asimismo, las versiones anteriores de PV-GRUB no están disponibles en todas las regiones, por lo que si copia una AMI que utilice una versión anterior en una región que no admite dicha versión, no podrá arrancar instancias iniciadas desde dicha AMI hasta que actualice la imagen del kernel. Utilice los siguientes procedimientos para verificar la versión de PV-GRUB de la instancia y actualizarla si fuera necesario.

**Para verificar la versión de PV-GRUB**

1. Localice el ID del kernel de la instancia.

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

   El ID del kernel de esta instancia es `aki-70cb0e10`.

1. Revise la información de la versión de dicho ID del kernel.

   ```
   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"
           }
       ]
   }
   ```

   La imagen de este kernel es PV-GRUB 1.05. Si la versión de su PV-GRUB no es la más reciente (tal y como se muestra en [Imagen del núcleo de Amazon PV-GRUB IDs](#AmazonKernelImageIDs)), debe actualizarla utilizando el siguiente procedimiento.

**Para actualizar la versión de PV-GRUB**

Si la instancia utiliza una versión anterior de PV-GRUB, debe actualizarla a la versión más reciente.

1. Identifique la versión más reciente de la AKI PV-GRUB para su región y la arquitectura de su procesador en [Imagen del núcleo de Amazon PV-GRUB IDs](#AmazonKernelImageIDs).

1. Detenga la instancia. La instancia debe pararse para modificar la imagen del kernel utilizada.

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

1. Modifique la imagen del kernel utilizada en la instancia.

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

1. Reinicie la instancia.

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