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.
gemma4requires snapd 2.68 or newer, which should be installed automatically when the instance updates.Check your version with:
snap versionIf needed, update snapd:
sudo snap refresh snapdAfter 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
gemma4would 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.