Fedora 40
Sponsored Link

KVM : Create Virtual Machines2024/05/09

Install GuestOS and Create a Virtual Machine. This example shows to create VM with installing Fedora 40.
[1] On this example, Download an ISO file of Fedora on a directory first and Install GuestOS from the ISO on the text mode.
It's OK on the console or remote connection via SSH and so on.
Furthermore, Virtual Machine images are placed at [/var/lib/libvirt/images] by default as a Storage Pool,
but this example shows to create and use a new Storage Pool.(use any place you like)
# create a Storage Pool directory

[root@dlp ~]#
mkdir -p /var/kvm/images

[root@dlp ~]# virt-install \
--name fedora40 \
--ram 4096 \
--disk path=/var/kvm/images/fedora40.img,size=20 \
--vcpus 2 \
--os-variant fedora39 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /home/Fedora-Server-dvd-x86_64-40-1.14.iso \
--extra-args 'console=ttyS0,115200n8' 

Starting install...   # installation starts

# after that, installation proceeds with the common procedure
The example of options above means like follows. There are many options for others, make sure with [man virt-install].
--name specify the name of Virtual Machine
--ram specify the amount of memory of Virtual Machine
--disk path=xxx,size=xxx [path=xxx] : specify the location of disks of Virtual Machine (default is [/var/lib/libvirt/images])
[size=xxx] : specify the amount of disk of Virtual Machine
--vcpus specify the virtual CPUs
--os-variant specify the kind of GuestOS
possible to show the list of available OS with the command below
[# osinfo-query os]
--network specify network type of Virtual Machine
--graphics specify the kind of graphics
possible to specify vnc, spice, none and so on
--console specify the console type
--location specify the location of installation source where from
--extra-args specify parameters that are set in Kernel

[2] After finishing installation, restart computer and then login prompt is shown like follows.
Fedora Linux 40 (Server Edition)
Kernel 6.8.5-301.fc40.x86_64 on an x86_64 (ttyS0)

Web console: https://localhost:9090/ or

localhost login:
[3] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command [virsh console (name of virtual machine)].
[root@localhost ~]#      # Ctrl + ] key
[root@dlp ~]#            # Host's console

[root@dlp ~]# virsh console fedora40    # switch to Guest's console
Connected to domain fedora40

Escape character is ^]  # Enter key

[root@localhost ~]#     # Guest's console
[4] It's easy to replicate a copy VM from current VM with a command below.
[root@dlp ~]#
virt-clone --original fedora40 --name template --file /var/kvm/images/template.img

Allocating 'template.img'                                   | 1.4 GB  00:00 ...

Clone 'template' created successfully.

# disk image

[root@dlp ~]#
ll /var/kvm/images/template.img

-rw-------. 1 root root 2140340224 May 9 13:51 /var/kvm/images/template.img
# configuration file

[root@dlp ~]#
ll /etc/libvirt/qemu/template.xml

-rw-------. 1 root root 6736 May 9 13:51 /etc/libvirt/qemu/template.xml
Matched Content