Skip to content

Commit 7a4d767

Browse files
authored
Create LIBVIRT_X86_64_AMAZON_LINUX_2023_CLOUD_IMAGE_MANUAL.md
1 parent 77647c3 commit 7a4d767

File tree

1 file changed

+125
-0
lines changed

1 file changed

+125
-0
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# QEMU Amazon Linux Images
2+
3+
https://docs.aws.amazon.com/linux/al2023/ug/kvm-supported-configurations.html
4+
5+
https://docs.aws.amazon.com/linux/al2023/ug/outside-ec2-download.html
6+
7+
https://cdn.amazonlinux.com/al2023/os-images/latest/
8+
9+
## Amazon Linux 2
10+
11+
Download the Amazon Linux 2 cloud image
12+
13+
```
14+
curl -LO https://cdn.amazonlinux.com/al2023/os-images/2023.7.20250331.0/kvm/SHA256SUMS
15+
curl -LO https://cdn.amazonlinux.com/al2023/os-images/2023.7.20250331.0/kvm/al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2
16+
17+
$ qemu-img info al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2
18+
19+
$ sudo qemu-img convert \
20+
-f qcow2 \
21+
-O qcow2 \
22+
al2023-kvm-2023.7.20250331.0-kernel-6.1-x86_64.xfs.gpt.qcow2 \
23+
/var/lib/libvirt/images/amazonlinux-2023.qcow2
24+
$ sudo qemu-img resize \
25+
-f qcow2 \
26+
/var/lib/libvirt/images/amazonlinux-2023.qcow2 \
27+
32G
28+
```
29+
30+
```
31+
touch network-config
32+
33+
cat >meta-data <<EOF
34+
instance-id: amazonlinux-2023
35+
local-hostname: amazonlinux-2023
36+
EOF
37+
38+
cat >user-data <<EOF
39+
#cloud-config
40+
password: superseekret
41+
chpasswd:
42+
expire: False
43+
ssh_pwauth: True
44+
EOF
45+
```
46+
47+
```
48+
sudo apt-get update
49+
sudo apt-get install genisoimage
50+
genisoimage \
51+
-input-charset utf-8 \
52+
-output amazonlinux-2023-cloud-init.img \
53+
-volid cidata -rational-rock -joliet \
54+
user-data meta-data network-config
55+
sudo cp amazonlinux-2023-cloud-init.img \
56+
/var/lib/libvirt/boot/amazonlinux-2023-cloud-init.iso
57+
```
58+
59+
```
60+
$ sudo apt-get install libosinfo-bin
61+
$ osinfo-query os
62+
```
63+
64+
```
65+
virt-install \
66+
--connect qemu:///system \
67+
--name amazonlinux-2023 \
68+
--boot loader=/usr/share/OVMF/OVMF_CODE_4M.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/OVMF/OVMF_VARS_4M.fd \
69+
--memory 4096 \
70+
--vcpus 2 \
71+
--os-variant rhel9-unknown \
72+
--disk /var/lib/libvirt/images/amazonlinux-2023.qcow2,bus=virtio \
73+
--disk /var/lib/libvirt/boot/amazonlinux-2023-cloud-init.iso,device=cdrom \
74+
--network network=default,model=virtio \
75+
--graphics spice \
76+
--noautoconsole \
77+
--console pty,target_type=serial \
78+
--import \
79+
--debug
80+
81+
virsh console amazonlinux-2023
82+
83+
# login with ec2-user
84+
85+
$ cloud-init status --wait
86+
status: done
87+
88+
# Verify networking is working
89+
$ ip -br a
90+
91+
# If networking isn't correct, regenerate only the network config
92+
$ sudo cloud-init clean --configs network
93+
$ sudo cloud-init init --local
94+
95+
# Disable cloud-init
96+
$ sudo touch /etc/cloud/cloud-init.disabled
97+
98+
$ cloud-init status
99+
status: disabled
100+
101+
$ sudo shutdown -h now
102+
103+
$ virsh domblklist amazonlinux-2023
104+
Target Source
105+
-----------------------------------------------------------------
106+
vda /var/lib/libvirt/images/amazonlinux-2023.qcow2
107+
sda /var/lib/libvirt/boot/amazonlinux-2023-cloud-init.iso
108+
109+
$ virsh change-media amazonlinux-2023 sda --eject
110+
Successfully ejected media.
111+
112+
$ sudo rm /var/lib/libvirt/boot/amazonlinux-2023-cloud-init.iso
113+
114+
# Verify image boots without cloud-init iso being mounted
115+
```
116+
117+
```
118+
$ virsh snapshot-create-as --domain amazonlinux-2023 --name clean --description "Initial install"
119+
$ virsh snapshot-list amazonlinux-2023
120+
$ virsh snapshot-revert amazonlinux-2023 clean
121+
$ virsh snapshot-delete amazonlinux-2023 clean
122+
123+
$ virsh shutdown amazonlinux-2023
124+
$ virsh undefine amazonlinux-2023 --nvram --remove-all-storage
125+
```

0 commit comments

Comments
 (0)