Debian 11 Bullseye
Sponsored Link

KVM : Create Virtual Machine
2021/08/27
 
Install GuestOS and Create a Virtual Machine.
This example shows to create VM with installing Debian 11.
[1] On this example, Download an ISO file of Debian 11 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's images are placed at [/var/lib/libvirt/images] by default as a Storage Pool, however this example shows to create and use a new Storage Pool. (OK to use any place you like)
# create a Storage Pool directory

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

root@dlp:~# virt-install \
--name debian11 \
--ram 4096 \
--disk path=/var/kvm/images/debian11.img,size=20 \
--vcpus 2 \
--os-variant debian10 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /home/debian-11.0.0-amd64-DVD-1.iso \
--extra-args 'console=ttyS0,115200n8 serial' 

# installation starts
Starting install...
Retrieving file vmlinuz...                                  | 6.5 MB  00:00
Retrieving file initrd.gz...                                |  17 MB  00:00
Allocating 'debian11.img'                                   |  20 GB  00:00
.....
.....

# after this, 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 spice, vnc, 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] For installing on text mode, it's the same with common installation procedure.
After finishing installation, restart computer and then login prompt is shown like follwos.
Debian GNU/Linux 11 debian ttyS0

debian login: root
Password:
Linux debian 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@debian:~#
[3] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command [virsh console (name of virtual machine)].
root@debian:~#     # Ctrl + ] key
root@dlp:~#        # Host's console

root@dlp:~# virsh console debian11    # switch to Guest's console
Connected to domain 'debian11'
Escape character is ^]     # Enter key

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

Allocating 'template.img'                                  |  20 GB  00:00:04

Clone 'template' created successfully.

# disk image

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

-rw------- 1 root root 4908449792 Aug 26 19:33 /var/kvm/images/template.img
# configuration file

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

-rw------- 1 root root 4924 Aug 26 19:33 /etc/libvirt/qemu/template.xml
Matched Content