

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Kernel forniti dall'utente
<a name="UserProvidedKernels"></a>

Se ti occorre un kernel personalizzato per le istanze Amazon EC2, puoi iniziare con un'AMI vicina a quella che desideri, quindi puoi compilare il kernel personalizzato sull'istanza e aggiornare il bootloader per puntare al nuovo kernel. Questo processo varia a seconda del tipo di virtualizzazione utilizzato dall'AMI. Per ulteriori informazioni, consulta i [tipi di virtualizzazione delle AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) nella Guida per l'utente di *Amazon EC2*.

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

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

I volumi delle istanze HVM vengono trattati come dischi fisici reali. Il processo di avvio è simile a quello di un sistema operativo bare metal, con un disco partizionato e un bootloader che consente di lavorare con tutte le distribuzioni Linux attualmente supportate. Il bootloader più comune è GRUB o GRUB2.

Per impostazione predefinita, GRUB non invia il suo output alla console dell'istanza, perché questo comporta un ritardo aggiuntivo nell'avvio. Per ulteriori informazioni, consulta [Output della console delle istanze](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshoot-unreachable-instance.html#instance-console-console-output) nella *Guida per l’utente di Amazon EC2*. Se si sta installando un kernel personalizzato, si dovrebbe prendere in considerazione l'abilitazione dell'output di GRUB.

Non occorre specificare un kernel di fallback, ma suggeriamo di averne uno quando si prova un nuovo kernel. GRUB può ritornare su un altro kernel nel caso in cui quello nuovo non funzioni. Avere un kernel di fallback consente l'avvio dell'istanza anche se il nuovo kernel non viene trovato.

GRUB legacy per Amazon Linux usa `/boot/grub/menu.lst`. GRUB2 per usi AL2. `/etc/default/grub` Per ulteriori informazioni sull'aggiornamento del kernel predefinito nel bootloader, vedere la documentazione per la distribuzione Linux.

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

Le AMI che utilizzano la virtualizzazione paravirtuale (PV) utilizzano un sistema richiamato durante il processo di avvio. *PV-GRUB* PV-GRUB è un bootloader paravirtuale che esegue una versione con patch di GNU GRUB 0.97. Quando avvii un'istanza, PV-GRUB avvia il processo di avvio e poi carica a catena il kernel specificato dal file dell'immagine. `menu.lst`

PV-GRUB comprende gli standard `grub.conf` o `menu.lst` i comandi, il che le consente di funzionare con tutte le distribuzioni Linux attualmente supportate. Le distribuzioni precedenti, come Ubuntu 10.04 LTS, Oracle Enterprise Linux o CentOS 5.x, richiedono uno speciale pacchetto di kernel "ec2" o "xen", mentre le distribuzioni più recenti includono i driver necessari nel pacchetto di kernel predefinito.

La maggior parte delle AMI paravirtuali moderne utilizza un PV-GRUB AKI per impostazione predefinita (incluse tutte le AMI Linux paravirtuali disponibili nel menu Quick Start di Amazon EC2 Launch Wizard), quindi non è necessario eseguire passaggi aggiuntivi per utilizzare un kernel diverso sulla propria istanza, a condizione che il kernel che si desidera utilizzare sia compatibile con la distribuzione. Il modo migliore per eseguire un kernel personalizzato sulla tua istanza è iniziare da un'AMI vicina a quella desiderata, quindi compilare il kernel personalizzato sull'istanza e modificare il file `menu.lst` per eseguire l'avvio con quel kernel.

È possibile verificare che l'immagine del kernel per un'AMI sia un' PV-GRUB AKI. Eseguire il comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) (sostituendo l'ID immagine del kernel) e verificare se il campo `Name` inizia con `pv-grub`:

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

**Topics**
+ [Limitazioni di PV-GRUB](#pv-grub-limitations)
+ [Configuring GRUB](#configuringGRUB)
+ [ID delle immagini del PV-GRUB kernel di Amazon](#AmazonKernelImageIDs)
+ [Aggiornamento PV-GRUB](#UpdatingPV-GRUB)

### Limitazioni di PV-GRUB
<a name="pv-grub-limitations"></a>

PV-GRUB presenta le seguenti limitazioni:
+ Non è possibile utilizzare la versione a 64 bit di PV-GRUB per avviare un kernel a 32 bit o viceversa.
+ Non è possibile specificare un'immagine Amazon ramdisk (ARI) quando si utilizza un PV-GRUB AKI.
+ AWS ha testato e verificato che PV-GRUB funziona con questi formati di file system: EXT2, EXT3, EXT4, JFS, XFS e ReiserFS. Altri formati potrebbero non funzionare.
+ PV-GRUB può avviare kernel compressi utilizzando i formati di compressione gzip, bzip2, lzo e xz.
+ Le AMI cluster non supportano né sono necessarie PV-GRUB, in quanto utilizzano la virtualizzazione hardware completa (HVM). Sebbene le istanze paravirtuali vengano utilizzate PV-GRUB per l'avvio, i volumi delle istanze HVM vengono trattati come dischi reali e il processo di avvio è simile al processo di avvio di un sistema operativo bare metal con disco partizionato e bootloader. 
+ PV-GRUB le versioni 1.03 e precedenti non supportano il partizionamento GPT; supportano solo il partizionamento MBR.
+ Se hai in programma di utilizzare un gestore logico di volumi (LVM) con i volumi Amazon Elastic Block Store (Amazon EBS), ti servirà una partizione di avvio distinta al di fuori del LVM. Potrai così creare volumi logici con il LVM.

### Configurazione di GRUB per le AMIs paravirtuali
<a name="configuringGRUB"></a>

Per l'avvio PV-GRUB, è necessario che nell'immagine sia presente un `menu.lst` file GRUB; la posizione più comune per questo file è. `/boot/grub/menu.lst`

Di seguito è riportato un esempio di file di `menu.lst` configurazione per l'avvio di un'AMI con un PV-GRUB AKI. In questo esempio, ci sono due voci del kernel tra cui scegliere: Amazon Linux 2018.03 (il kernel originale per questa AMI) e Vanilla Linux 4.16.4 (una versione più recente del kernel Linux Vanilla di). [https://www.kernel.org/](https://www.kernel.org/) La voce Vanilla è stata copiata dalla voce originale di questa AMI e i percorsi `kernel` e `initrd` sono stati aggiornati sulle nuove posizioni. Il parametro `default 0` punta il bootloader sulla prima voce che visualizza (in questo caso, la voce Vanilla) e il parametro `fallback 1` punta il bootloader sulla voce successiva in caso di problemi nell'avvio della prima.

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

Non è necessario specificare un kernel di fallback nel `menu.lst` file, ma si consiglia di utilizzare un kernel di riserva quando si testa un nuovo kernel. PV-GRUBpuò ricorrere a un altro kernel nel caso in cui il nuovo kernel fallisca. Avere un kernel di fallback permette l'avvio dell'istanza anche se il nuovo kernel non viene trovato. 

PV-GRUB controlla le seguenti posizioni`menu.lst`, usando la prima che trova:
+  `(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` 

Nota che la versione PV-GRUB 1.03 e le versioni precedenti controllano solo una delle prime due posizioni in questo elenco.

### ID delle immagini del PV-GRUB kernel di Amazon
<a name="AmazonKernelImageIDs"></a>

PV-GRUB Gli AKI sono disponibili in tutte le regioni Amazon EC2, esclusa l'Asia Pacifico (Osaka). Esistono AKI per i tipi di architettura a 32 bit e a 64 bit. La maggior parte delle AMI moderne utilizza un PV-GRUB AKI per impostazione predefinita.

Ti consigliamo di utilizzare sempre la versione più recente dell' PV-GRUB AKI, poiché non tutte le versioni dell' PV-GRUB AKI sono compatibili con tutti i tipi di istanze. Usa il seguente comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) per ottenere un elenco degli PV-GRUB AKI per la regione corrente:

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

PV-GRUB è l'unica AKI disponibile nella regione. `ap-southeast-2` Dovresti verificare che qualsiasi AMI PV-GRUB che desideri copiare in questa regione utilizzi una versione disponibile in questa regione.

Di seguito sono elencati gli attuali ID AKI per ciascuna regione. Registra nuove AMI utilizzando un AKI hd0.

**Nota**  
Continuiamo a fornire AKI hd00 per compatibilità con le versioni precedenti nelle regioni in cui erano prima disponibili.


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

| ID immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  aki-7a69931a  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-70cb0e10  |  pv-grub-hd0\_1.05-x86\_64.gz  | 

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

Ti consigliamo di utilizzare sempre la versione più recente dell' PV-GRUB AKI, poiché non tutte le versioni dell' PV-GRUB AKI sono compatibili con tutti i tipi di istanze. Inoltre, le versioni precedenti di non PV-GRUB sono disponibili in tutte le regioni, quindi se copi un'AMI che utilizza una versione precedente in una regione che non supporta tale versione, non potrai avviare le istanze avviate da quell'AMI finché non aggiorni l'immagine del kernel. Utilizza le seguenti procedure per verificare la versione dell'istanza PV-GRUB e aggiornarla se necessario.

**Per verificare la tua PV-GRUB versione**

1. Trovare l'ID kernel per l'istanza.

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

   L'ID kernel per l'istanza è `aki-70cb0e10`.

1. Visualizzare le informazioni sulla versione dell'ID 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"
           }
       ]
   }
   ```

   Questa immagine del kernel è PV-GRUB 1.05. Se la PV-GRUB versione in uso non è la più recente (come mostrato in[ID delle immagini del PV-GRUB kernel di Amazon](#AmazonKernelImageIDs)), è necessario aggiornarla utilizzando la procedura seguente.

**Per aggiornare la tua PV-GRUB versione**

Se la tua istanza utilizza una versione precedente di PV-GRUB, devi aggiornarla alla versione più recente.

1. Identifica l' PV-GRUB AKI più recente per la tua regione e l'architettura del processore da[ID delle immagini del PV-GRUB kernel di Amazon](#AmazonKernelImageIDs).

1. Arrestare l'istanza. La tua istanza deve essere arrestata per modificare l'immagine del kernel utilizzata.

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

1. Modificare l'immagine del kernel utilizzata per l'istanza.

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

1. Riavviare l'istanza.

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