

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**
+ [HVM ( AMIs GRUB)](#HVM_instances)
+ [Paravirtual AMIs (PV-GRUB)](#Paravirtual_instances)

## HVM ( AMIs 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.

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

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

AMIs *che utilizzano la virtualizzazione paravirtual (PV) utilizzano un sistema chiamato PV-GRUB durante il processo di avvio.* PV-GRUB è un bootloader paravirtuale che esegue patch della versione GNU GRUB 0.97. Quando avvii un'istanza, PV-GRUB inizia il processo di avvio e carica in sequenza il kernel specificato dal file dell'immagine `menu.lst`.

PV-GRUB comprende i comandi standard `grub.conf` o `menu.lst`, che gli consentono di lavorare 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 moderne AMI paravirtuali utilizza un AKI PV-GRUB per impostazione predefinita (comprese tutte le AMI Linux paravirtuali disponibili nel menu Amazon EC2 Launch Wizard Quick Start), perciò non occorre eseguire altri passaggi per utilizzare un kernel diverso sull'istanza, sempre che il kernel che vuoi utilizzare sia compatibile con la tua 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 AKI PV-GRUB. 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**
+ [Limiti di PV-GRUB](#pv-grub-limitations)
+ [Configuring GRUB](#configuringGRUB)
+ [Immagine del kernel Amazon PV-GRUB IDs](#AmazonKernelImageIDs)
+ [Aggiornamento di PV-GRUB](#UpdatingPV-GRUB)

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

PV-GRUB presenta i seguenti limiti:
+ Non è possibile utilizzare la versione a 64 bit di PV-GRUB per avviare un kernel da 32 bit o viceversa.
+ Non è possibile specificare una Amazon ramdisk image (ARI) quando si utilizza un AKI PV-GRUB.
+ AWS ha testato e verificato che PV-GRUB funzioni con questi formati di file system: EXT2,,, JFS EXT3 EXT4, XFS e ReiserFS. Altri formati potrebbero non funzionare.
+ PV-GRUB può avviare kernel compressi tramite i formati di compressione gzip, bzip2, lzo e xz.
+ I cluster AMIs non supportano o non necessitano di PV-GRUB, poiché utilizzano la virtualizzazione hardware completa (HVM). Mentre le istanze paravirtuali utilizzano PV-GRUB per l'avvio, i volumi delle istanze HVM sono trattati come dischi reali e il processo di avvio è simile a quello di un sistema operativo bare metal con disco partizionato e bootloader. 
+ Le versioni 1.03 e precedenti di PV-GRUB non supportano il partizionamento GPT, ma 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.

### Configura GRUB per paravirtual AMIs
<a name="configuringGRUB"></a>

Per avviare PV-GRUB, nell'immagine deve essere presente un file `menu.lst` GRUB; la posizione più comune di questo file è `/boot/grub/menu.lst`.

Di seguito è riportato un esempio di un file di configurazione `menu.lst` per l'avvio di un'AMI con un AKI PV-GRUB. In questo esempio è possibile scegliere tra due voci di kernel: Amazon Linux 2018.03 (il kernel originale dell'AMI) e Vanilla Linux 4.16.4 (una versione più recente del kernel Vanilla Linux da [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 occorre specificare un kernel di fallback nel file `menu.lst`, ma ti suggeriamo di averne uno quando testi un nuovo kernel. PV-GRUB può ritornare su un altro kernel nel caso in cui quello nuovo non funzioni. Avere un kernel di fallback permette l'avvio dell'istanza anche se il nuovo kernel non viene trovato. 

PV-GRUB controlla le seguenti posizioni di `menu.lst` utilizzando 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` 

Le versioni di PV-GRUB fino alla 1.03 controllano solo una delle prime due posizioni nell'elenco.

### Immagine del kernel Amazon PV-GRUB IDs
<a name="AmazonKernelImageIDs"></a>

Gli AKI PV-GRUB sono disponibili in tutte le Regioni di Amazon EC2, esclusa la Regione Asia Pacifico (Osaka). Esistono tipi di architettura sia AKIs a 32 bit che a 64 bit. La maggior parte delle versioni moderne AMIs utilizza un PV-GRUB AKI di default.

Ti suggeriamo di utilizzare sempre la versione più recente dell'AKI PV-GRUB, perché non tutte le versioni sono compatibili con ogni tipo di istanza. Utilizzate il seguente comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) per ottenere un elenco di PV-GRUB per la regione corrente: AKIs 

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

PV-GRUB è l'unico AKI disponibile nella regione `ap-southeast-2`. Devi verificare che le AMI che vuoi copiare su questa regione utilizzino una versione di PV-GRUB disponibile nella regione.

Le seguenti sono le AKI correnti per ogni regione. IDs Registra un nuovo AMIs file usando un AKI hd0.

**Nota**  
Continuiamo a fornire hd00 AKIs per la retrocompatibilità nelle regioni in cui erano precedentemente disponibili.


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

| ID immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 (Stati Uniti occidentali)**  

| ID immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  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 immagine | Nome immagine | 
| --- | --- | 
|  aki-7a69931a  |  pv-grub-hd0\$11.05-i386.gz  | 
|  aki-70cb0e10  |  pv-grub-hd0\$11.05-x86\$164.gz  | 

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

Ti suggeriamo di utilizzare sempre la versione più recente dell'AKI PV-GRUB, perché non tutte le versioni sono compatibili con ogni tipo di istanza. Inoltre, le versioni precedenti di PV-GRUB non sono disponibili in tutte le regioni, quindi se copi un'AMI che utilizza una versione precedente su una regione che non la supporta, non potrai avviare istanze da quell'AMI fino a quando non aggiorni l'immagine del kernel. Utilizza le seguenti procedure per verificare la versione di PV-GRUB dell'istanza e aggiornarla se necessario.

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

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

   L'immagine del kernel è PV-GRUB 1.05. Se la versione di PV-GRUB non è la più recente (come indicato in [Immagine del kernel Amazon PV-GRUB IDs](#AmazonKernelImageIDs)), devi aggiornarla utilizzando la seguente procedura.

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

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

1. Identificare l'AKI PV-GRUB più recente per la regione e l'architettura del processore da [Immagine del kernel Amazon PV-GRUB IDs](#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 
   ```