

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kernel yang disediakan pengguna
<a name="UserProvidedKernels"></a>

Jika Anda memerlukan kernel kustom di instans Amazon EC2, Anda dapat memulai dengan AMI yang mirip dengan apa yang Anda inginkan, mengompilasi kernel khusus di instans Anda, dan memperbarui bootloader untuk menunjuk ke kernel baru. Proses ini bervariasi tergantung pada tipe virtualisasi yang digunakan AMI Anda. Untuk informasi selengkapnya, lihat [jenis virtualisasi AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) di Panduan *Pengguna Amazon EC2*.

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

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

Volume instans HVM diperlakukan layaknya disk fisik sebenarnya. Proses boot mirip dengan sistem operasi bare metal dengan disk terpartisi dan bootloader, yang memungkinkannya bekerja dengan semua distribusi Linux yang didukung saat ini. Bootloader yang paling umum adalah GRUB atau GRUB2.

Secara default, GRUB tidak mengirim output-nya ke konsol instans karena menyebabkan tambahan penundaan boot. Untuk informasi selengkapnya, lihat [Output konsol instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshoot-unreachable-instance.html#instance-console-console-output) di *Panduan Pengguna Amazon EC2*. Jika Anda menginstal kernel kustom, Anda harus mempertimbangkan untuk mengaktifkan output GRUB.

Anda tidak perlu menentukan pemunduran kernel, tetapi kami menyarankan Anda mengaktifkan pemunduran saat menguji kernel baru. GRUB dapat mundur kembali ke kernel lain jika kernel baru gagal. Pemunduran kernel memungkinkan instans dapat di-boot meski kernel baru tidak ditemukan.

GRUB warisan untuk Amazon Linux menggunakan `/boot/grub/menu.lst`. GRUB2 untuk penggunaan AL2. `/etc/default/grub` Untuk informasi lebih lanjut tentang memperbarui kernel default dalam bootloader, lihat dokumentasi untuk distribusi Linux Anda.

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

AMI yang menggunakan virtualisasi paravirtual (PV) menggunakan sistem yang disebut *PV-GRUB*selama proses boot. PV-GRUB adalah bootloader paravirtual yang menjalankan versi patch dari GNU GRUB 0.97. Ketika Anda memulai sebuah instance, PV-GRUB memulai proses boot dan kemudian rantai memuat kernel yang ditentukan oleh `menu.lst` file gambar Anda.

PV-GRUB memahami standar `grub.conf` atau `menu.lst` perintah, yang memungkinkannya bekerja dengan semua distribusi Linux yang saat ini didukung. Distribusi yang lebih lama, seperti Ubuntu 10.04 LTS, Oracle Enterprise Linux, atau CentOS 5.x memerlukan paket kernel khusus "ec2" atau "xen", sedangkan distribusi yang lebih baru telah memiliki driver yang diperlukan dalam paket kernel default.

Sebagian besar AMI paravirtual modern menggunakan PV-GRUB AKI secara default (termasuk semua AMI Linux paravirtual yang tersedia di menu Quick Start Wizard Peluncuran Amazon EC2), jadi tidak ada langkah tambahan yang perlu Anda ambil untuk menggunakan kernel yang berbeda pada instance Anda, asalkan kernel yang ingin Anda gunakan kompatibel dengan distribusi Anda. Cara terbaik untuk menjalankan kernel kustom pada instans Anda adalah memulai dengan AMI yang mirip dengan apa yang Anda inginkan, lalu mengompilasi kernel kustom pada instans Anda dan memodifikasi file `menu.lst` untuk melakukan boot dengan kernel tersebut.

Anda dapat memverifikasi bahwa image kernel untuk AMI adalah PV-GRUB AKI. Jalankan perintah [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) berikut (menggantikan ID gambar kernel Anda), dan periksa apakah bidang `Name` dimulai dengan `pv-grub`:

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

**Topics**
+ [Keterbatasan PV-GRUB](#pv-grub-limitations)
+ [Configuring GRUB](#configuringGRUB)
+ [ID Gambar PV-GRUB Kernel Amazon](#AmazonKernelImageIDs)
+ [Perbarui PV-GRUB](#UpdatingPV-GRUB)

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

PV-GRUB memiliki batasan sebagai berikut:
+ Anda tidak dapat menggunakan versi 64-bit PV-GRUB untuk memulai kernel 32-bit atau sebaliknya.
+ Anda tidak dapat menentukan image ramdisk Amazon (ARI) saat menggunakan PV-GRUB AKI.
+ AWS telah diuji dan diverifikasi yang PV-GRUB bekerja dengan format sistem file ini: EXT2, EXT3, EXT4, JFS, XFS, dan ReiserFS. Format sistem file lainnya mungkin tidak bekerja.
+ PV-GRUB dapat mem-boot kernel yang dikompresi menggunakan format kompresi gzip, bzip2, lzo, dan xz.
+ AMI cluster tidak mendukung atau membutuhkan PV-GRUB, karena mereka menggunakan virtualisasi perangkat keras penuh (HVM). Sementara instance paravirtual digunakan PV-GRUB untuk boot, volume instance HVM diperlakukan seperti disk aktual, dan proses boot mirip dengan proses boot sistem operasi bare metal dengan disk dan bootloader yang dipartisi. 
+ PV-GRUB versi 1.03 dan sebelumnya tidak mendukung partisi GPT; mereka hanya mendukung partisi MBR.
+ Jika Anda berencana menggunakan pengelola volume logis (LVM) dengan volume Amazon Elastic Block Store (Amazon EBS), Anda perlu partisi boot terpisah di luar LVM. Kemudian, Anda dapat membuat volume logis dengan LVM.

### Mengonfigurasi GRUB untuk AMI paravirtual
<a name="configuringGRUB"></a>

Untuk boot PV-GRUB, `menu.lst` file GRUB harus ada dalam gambar; lokasi paling umum untuk file ini adalah`/boot/grub/menu.lst`.

Berikut ini adalah contoh file `menu.lst` konfigurasi untuk mem-boot AMI dengan PV-GRUB AKI. Dalam contoh ini, ada dua entri kernel untuk dipilih: Amazon Linux 2018.03 (kernel asli untuk AMI ini), dan Vanilla Linux 4.16.4 (versi yang lebih baru dari kernel Vanilla Linux dari). [https://www.kernel.org/](https://www.kernel.org/) Entri Vanilla disalin dari entri asli untuk AMI ini, dan jalur `kernel` dan `initrd` diperbarui ke lokasi baru. Parameter `default 0` menunjuk bootloader ke entri pertama yang dilihatnya (dalam hal ini, entri Vanila), dan parameter `fallback 1` menunjukkan bootloader ke entri berikutnya jika ada masalah saat boot yang pertama.

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

Anda tidak perlu menentukan kernel fallback di `menu.lst` file Anda, tetapi kami menyarankan Anda memiliki fallback saat menguji kernel baru. PV-GRUBdapat kembali ke kernel lain jika kernel baru gagal. Memiliki pemunduran kernel memungkinkan instans dapat di-boot meski kernel baru tidak ditemukan. 

PV-GRUB memeriksa lokasi berikut untuk`menu.lst`, menggunakan yang pertama ditemukan:
+  `(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` 

Perhatikan bahwa PV-GRUB 1,03 dan sebelumnya hanya memeriksa salah satu dari dua lokasi pertama dalam daftar ini.

### ID Gambar PV-GRUB Kernel Amazon
<a name="AmazonKernelImageIDs"></a>

PV-GRUB AKI tersedia di semua wilayah Amazon EC2, tidak termasuk Asia Pasifik (Osaka). Ada AKI untuk tipe arsitektur 32-bit dan 64-bit. Sebagian besar AMI modern menggunakan PV-GRUB AKI secara default.

Kami menyarankan agar Anda selalu menggunakan PV-GRUB AKI versi terbaru, karena tidak semua versi PV-GRUB AKI kompatibel dengan semua jenis instans. Gunakan [perintah deskripsi-gambar](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) berikut untuk mendapatkan daftar PV-GRUB AKI untuk wilayah saat ini:

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

PV-GRUB adalah satu-satunya AKI yang tersedia di `ap-southeast-2` Wilayah ini. Anda harus memverifikasi bahwa AMI apa pun yang ingin Anda salin ke Wilayah ini menggunakan versi PV-GRUB yang tersedia di Wilayah ini.

Berikut ini adalah ID AKI saat ini untuk setiap Wilayah. Daftarkan AMI baru menggunakan AKI hd0.

**catatan**  
Kami terus menyediakan AKI hd00 untuk kompatibilitas mundur di Wilayah yang sebelumnya tersedia.


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

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-f975a998  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-7077ab11  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**ap-southeast-1, Wilayah Asia Pasifik (Singapura)**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-17a40074  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-73a50110  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


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

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-ba5665d9  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-66506305  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


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

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-1419e57b  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-931fe3fc  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**eu-west-1, Eropa (Irlandia)**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-1c9fd86f  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-dc9ed9af  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**sa-east-1, Amerika Selatan (Sao Paulo)**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-7cd34110  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-912fbcfd  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**AS Timur (Virginia Utara) us-east-1**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-04206613  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-5c21674b  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**kami-gov-barat-1, AWS GovCloud (US-West)**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-5ee9573f  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-9ee55bff  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**us-west-1, AS Barat (California Utara)**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-43cf8123  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-59cc8239  |  pv-grub-hd0\_1.05-x86\_64.gz  | 


**us-west-2, AS Barat (Oregon)**  

| ID gambar | Nama Gambar | 
| --- | --- | 
|  aki-7a69931a  |  pv-grub-hd0\_1.05-i386.gz  | 
|  aki-70cb0e10  |  pv-grub-hd0\_1.05-x86\_64.gz  | 

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

Kami menyarankan agar Anda selalu menggunakan PV-GRUB AKI versi terbaru, karena tidak semua versi PV-GRUB AKI kompatibel dengan semua jenis instans. Selain itu, versi lama tidak PV-GRUB tersedia di semua wilayah, jadi jika Anda menyalin AMI yang menggunakan versi lama ke Wilayah yang tidak mendukung versi itu, Anda tidak akan dapat mem-boot instance yang diluncurkan dari AMI tersebut hingga Anda memperbarui gambar kernel. Gunakan prosedur berikut untuk memeriksa versi instans Anda PV-GRUB dan memperbaruinya jika perlu.

**Untuk memeriksa PV-GRUB versi Anda**

1. Cari ID kernel untuk instans Anda.

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

   ID kernel untuk instans ini adalah `aki-70cb0e10`.

1. Tampilkan informasi versi ID kernel tersebut.

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

   Gambar kernel ini adalah PV-GRUB 1.05. Jika PV-GRUB versi Anda bukan versi terbaru (seperti yang ditunjukkan pada[ID Gambar PV-GRUB Kernel Amazon](#AmazonKernelImageIDs)), Anda harus memperbaruinya menggunakan prosedur berikut.

**Untuk memperbarui PV-GRUB versi Anda**

Jika instans Anda menggunakan versi yang lebih lama PV-GRUB, Anda harus memperbaruinya ke versi terbaru.

1. Identifikasi PV-GRUB AKI terbaru untuk Wilayah dan arsitektur prosesor Anda dari[ID Gambar PV-GRUB Kernel Amazon](#AmazonKernelImageIDs).

1. Hentikan instans Anda. Instans Anda harus dihentikan untuk mengubah gambar kernel yang digunakan.

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

1. Ubah gambar kernel yang digunakan untuk instans Anda.

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

1. Mulai ulang instans Anda.

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