Install on a VM

You can try Ubuntu Core without any specific hardware from within a virtual machine using Multipass on Windows, Mac and Linux. Multipass has integrated support for the latest Ubuntu Core images and can launch and run virtual machines from a single command.

For deployment in the field, you would normally build a custom Ubuntu Core image that includes your required snaps, configuration, permissions and update policy. Pre-built images are useful for exploration, but a product image should be described by your own model assertion and built for your target device.

If you need to test your own Ubuntu Core images, see Test Ubuntu Core with QEMU. QEMU, is more configurable than Multipass and can boot either a supported image or a custom image, with or without TPM emulation and full disk encryption.

Boot Ubuntu Core with Multipass

To access the latest Ubuntu Core images, install Multipass from its edge channel:

snap install multipass --edge

Important

For Core 26 support, Multipass must be installed from its edge channel.

List available images

To list which images Multipass currently has available, type multipass find.

The output will include Ubuntu Core images alongside standard Ubuntu images:

Image         Aliases             Version          Description
22.04         jammy               20260320         Ubuntu 22.04 LTS
24.04         noble               20260321         Ubuntu 24.04 LTS
25.10         questing            20260428         Ubuntu 25.10
26.04         resolute,lts,ubuntu 20260421         Ubuntu 26.04 LTS
core:core16                       current          Ubuntu Core 16
core:core18                       current          Ubuntu Core 18
core:core20                       current          Ubuntu Core 20
core:core22                       current          Ubuntu Core 22
core:core24                       current          Ubuntu Core 24
core:core26                       current          Ubuntu Core 26

Launch an image

To create a new instance and boot your choice of Ubuntu Core image, type:

multipass launch <image-name> -n <instance-name>

For example, the following command will launch and boot core26 with an instance name of mycore26:

multipass launch core:core26 -n mycore26

The image is downloaded and locally cached when it’s launched for the first time.

Access a running instance

You can connect to a running instance of Ubuntu Core by opening a shell environment on that running instance:

multipass shell mycore26

Create a local AI inference appliance

You can use Ubuntu Core to create a local AI inference appliance.

The following example installs the gemma4 inference snap and allows you to run inference directly on your Ubuntu Core VM.

Launch an image

Create a new instance of Ubuntu Core with enough resources to run the model, type:

multipass launch core:core26 -n aibox --cpus 4 --memory 10GB --disk 16GB 

To open a shell running within the new instance, type:

multipass shell aibox

The Ubuntu Core instance will initially update itself, and may restart automatically.

Note: Inference snaps use snap components for runtime and model weights. gemma4 requires snapd 2.68 or newer, which should be installed automatically when the instance updates.

Check your version with:

snap version

If needed, update snapd:

sudo snap refresh snapd

After refreshing snapd, stop and start the Ubuntu Core instance from your host machine:

multipass stop aibox
multipass start aibox
multipass shell aibox

From inside the Ubuntu Core instance, install the snaps:

sudo snap install gemma4

Check the Gemma4 endpoint:

gemma4 status

The output includes the active engine and endpoints. For example:

engine: cpu
services:
    server: active
    server-webui: active
endpoints:
    openai: http://localhost:8336/v1
    webui: http://localhost:8337/

The localhost address here is local to the Ubuntu Core instance.

Make WebUI available from the host

By default, WebUI may listen only on the Ubuntu Core instance’s local loopback address. To open it from a browser on your host machine, configure the WebUI to listen on the instance network interface:

sudo gemma4 set http.host=0.0.0.0 webui.http.host=0.0.0.0 --assume-yes

From a terminal on your host machine, outside Multipass, find the instance IP address:

multipass info aibox

The output includes an IPv4 address:

Name:           aibox
State:          Running
Snapshots:      0
IPv4:           10.100.120.150
Release:        Ubuntu Core 26

Now open the instance IPv4 address on port 8337 in a web browser on your host machine.

http://<instance-ip>:8337

You should see the WebUI interface.

What this demonstrates

This example turns a pre-built Ubuntu Core image into a network-accessible AI inference appliance:

  • Gemma4 runs as a managed snap service.

  • Open WebUI runs as a managed snap service.

  • The browser interface is accessed from the host machine.

  • The inference endpoint runs inside the Ubuntu Core instance.

  • The application snaps are separate from the Ubuntu Core base system.

Note: In a final product, snaps such as gemma4 would normally be included and configured in your custom Ubuntu Core image, rather than installed manually after first boot. With this approach, the device or VM starts directly into the experience you have configured. End users do not need to see these setup instructions, interact with the Ubuntu Core login message, or log in to the Core instance unless your product design requires it. You control the product experience you choose to deliver.

A custom Ubuntu Core image is described with a model assertion, which defines the snaps that make up the device image, including required or optional application snaps.

Alternatively, snaps can be installed, configured and managed later through a fleet management process. Landscape provides centralised administration for Ubuntu deployments, including IoT devices.

You are now operating within the Ubuntu Core environment. See First steps with Ubuntu Core for suggestions on what to try outside a VM.