mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-04-28 11:43:56 +00:00
Create a new User VM OS guide with overview information about setting up User VMs. Link to separate standard and RTVM guide for details. Most of these separate guides need updating to reflect the new ACRN configurator and the development system/target system development model. Update titles of existing "using XXX as user vm" to be consistent. Begin update of ubuntu uservm doc for direction review. Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
159 lines
4.8 KiB
ReStructuredText
159 lines
4.8 KiB
ReStructuredText
.. _using_ubuntu_as_user_vm:
|
|
|
|
Run Ubuntu as the User VM OS
|
|
############################
|
|
|
|
Prerequisites
|
|
*************
|
|
|
|
.. _Ubuntu 20.04 desktop ISO:
|
|
http://releases.ubuntu.com/focal/ubuntu-20.04.4-desktop-amd64.iso
|
|
|
|
This tutorial assumes you have already set up the ACRN Service VM on your target
|
|
system following the instructions in the :ref:`gsg`.
|
|
|
|
Install these KVM tools on your development system:
|
|
|
|
.. code-block:: none
|
|
|
|
sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf
|
|
|
|
Validated Versions
|
|
==================
|
|
|
|
- **Ubuntu version:** 20.04
|
|
- **ACRN hypervisor tag:** v3.0
|
|
- **Service VM Kernel version:** release_3.0
|
|
|
|
.. _build-the-ubuntu-kvm-image:
|
|
|
|
Build the Ubuntu KVM Image
|
|
**************************
|
|
|
|
This tutorial uses the Ubuntu 20.04 desktop ISO as the base image.
|
|
|
|
#. Download the `Ubuntu 20.04 desktop ISO`_ on your development machine:
|
|
|
|
#. Install Ubuntu via the virt-manager tool:
|
|
|
|
.. code-block:: none
|
|
|
|
sudo virt-manager
|
|
|
|
#. Verify that you can see the main menu as shown in :numref:`vmmanager-ubun` below.
|
|
|
|
.. figure:: images/ubuntu_uservm_01.png
|
|
:align: center
|
|
:name: vmmanager-ubun
|
|
:class: drop-shadow
|
|
|
|
Virtual Machine Manager
|
|
|
|
#. Right-click **QEMU/KVM** and select **New**.
|
|
|
|
a. Choose **Local install media (ISO image or CD-ROM)** and then click
|
|
**Forward**.
|
|
|
|
.. figure:: images/ubuntu_uservm_02.png
|
|
:align: center
|
|
:name: vmmanager-local-install
|
|
:class: drop-shadow
|
|
|
|
Choosing Local install media
|
|
|
|
A **Create a new virtual machine** box displays. Click **Browse** and
|
|
select the Ubuntu ISO file that you downloaded earlier.
|
|
If not already auto selected, choose the **OS type:** Linux, **Version:**
|
|
Ubuntu 20.04 LTS and then click **Forward**.
|
|
|
|
.. figure:: images/ubuntu_uservm_03.png
|
|
:align: center
|
|
:name: newVM-ubun-image
|
|
:class: drop-shadow
|
|
|
|
Select Ubuntu ISO file previously downloaded
|
|
|
|
#. Choose **Enable storage** and **Create a disk image for the virtual machine**.
|
|
Set the storage to 20 GB or more if necessary and click **Forward**.
|
|
|
|
.. figure:: images/ubuntu_uservm_storage.png
|
|
:align: center
|
|
:name: newVM-ubun-storage
|
|
:class: drop-shadow
|
|
|
|
Select VM disk storage
|
|
|
|
#. Rename the image if you desire. Check the
|
|
**customize configuration before install** option before you finish all stages.
|
|
|
|
.. figure:: images/ubuntu_uservm_customize.png
|
|
:align: center
|
|
:name: newVM-ubun-customize
|
|
:class: drop-shadow
|
|
|
|
Ready to customize image
|
|
|
|
#. Verify the Firmware and Chipset settings are as shown in this Overview screen:
|
|
|
|
.. figure:: images/ubuntu_uservm_begin_install.png
|
|
:align: center
|
|
:name: ubun-begin-install
|
|
:class: drop-shadow
|
|
|
|
Ready to begin installation
|
|
|
|
#. Click **Apply** and **Begin Installation** (in the top left corner). Complete
|
|
the normal Ubuntu installation within the QEMU emulator. Verify that you have
|
|
set up the disk partition as follows:
|
|
|
|
- /dev/vda1: EFI System Partition
|
|
- /dev/vda2: File System Partition
|
|
|
|
#. Upon installation completion, click **Restart** Now to make sure the Ubuntu
|
|
OS boots successfully. Save the QEMU state and exit.
|
|
|
|
#. The KVM image is created in the ``/var/lib/libvirt/images`` folder.
|
|
Convert the ``qcow2`` format to ``img`` **as the root user**:
|
|
|
|
.. code-block:: none
|
|
|
|
cd ~ && mkdir ubuntu_images && cd ubuntu_images
|
|
sudo qemu-img convert -f qcow2 -O raw /var/lib/libvirt/images/ubuntu20.04.qcow2 ubuntu_uservm.img
|
|
|
|
|
|
Launch the Ubuntu Image as the User VM
|
|
**************************************
|
|
|
|
In the :ref:`gsg`, we used the ACRN configurator to create a scenario with a
|
|
Service VM and an Ubuntu **ISO** image for the post-launched User VM. We can use
|
|
that same scenario with a slight edit for the User VM image name by changing
|
|
the file name in the Virtio block device for the post-launched User VM.
|
|
|
|
1. Change the virtio block device to use the new Ubuntu image we created using
|
|
KVM above:
|
|
|
|
.. figure:: images/ubuntu_uservm_virtioblock.png
|
|
:align: center
|
|
:name: ubun-virtio-block
|
|
:class: drop-shadow
|
|
|
|
Update virtio block device with image location
|
|
|
|
Then save this new configuration and write out the updated launch script.
|
|
|
|
#. Copy the ``ubuntu_uservm.img`` and the updated launch script from the
|
|
development system to your target system. For example, if the development
|
|
and target systems are on the same network, you could use ``scp``:
|
|
|
|
.. code-block:: none
|
|
|
|
scp ~/ubuntu_images/ubuntu_uservm.img ~/acrn-work/MyConfiguration/launch_user_vm_id1.sh user_name@ip_address:~/acrn-work/
|
|
|
|
#. On the target system, launch the Ubuntu User VM after logging in to the Service VM:
|
|
|
|
.. code-block:: none
|
|
|
|
cd ~/acrn-work
|
|
sudo launch_user_vm_id1.sh
|
|
|