Ubuntu 24.04
Sponsored Link

KVM : Create Virtual Machine2024/05/10


Install GuestOS and create Virtual Machine.
This example shows to install Ubuntu 24.04.

[1] On this example, Download an ISO file of Ubuntu 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.(use any place you like)
# create a storage pool

mkdir -p /var/kvm/images

root@dlp:~# virt-install \
--name ubuntu2404 \
--ram 4096 \
--disk path=/var/kvm/images/ubuntu2404.img,size=20 \
--vcpus 2 \
--os-variant ubuntu24.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /home/ubuntu-24.04-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd \
--extra-args 'console=ttyS0,115200n8' 

# installation starts
  Serial                                                              [ Help ]

  As the installer is running on a serial console, it has started in basic
  mode, using only the ASCII character set and black and white colours.

  If you are connecting from a terminal emulator such as gnome-terminal that
  supports unicode and rich colours you can switch to "rich mode" which uses
  unicode, colours and supports many languages.

  You can also connect to the installer over the network via SSH, which will
  allow use of rich mode.

                          [ Continue in rich mode  > ]
                          [ Continue in basic mode > ]
                          [ View SSH instructions    ]

# select [Continue in basic mode]
# after this, installation proceeds with the common procedure
The example of options above means like follows. There are many options for others, read [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] After finishing installation, restart computer and then login prompt is shown like follows.
That's OK if logined normally with a user you set during the installation.
Ubuntu 24.04 LTS ubuntu ttyS0

ubuntu login: ubuntu
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Thu May  9 08:16:12 UTC 2024

  System load:  0.69              Processes:               141
  Usage of /:   42.1% of 9.75GB   Users logged in:         0
  Memory usage: 5%                IPv4 address for enp1s0:
  Swap usage:   0%

Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status

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

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

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

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

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

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

Clone 'template' created successfully.

# disk image

ll /var/kvm/images/template.img

-rw------- 1 root root 3029729280 May 9 08:18 /var/kvm/images/template.img
# configuration file

ll /etc/libvirt/qemu/template.xml

-rw------- 1 root root 6732 May 9 08:18 /etc/libvirt/qemu/template.xml
Matched Content