Skip to Content
DocumentationGetting startedInstall Companion OS from USB

Install Companion OS from a USB stick

Companion OS is the operating system of the Companion appliance. It comes with Docker, Ollama, and Companion Hub already set up. This page takes you from an image file to a machine that shows the Hub pairing screen: write the image to a USB stick, start the machine from the stick, and install.

Companion OS is in beta, and the installer erases the target disk. Get the image for your hardware from your Companion contact. We verified the steps below in virtual machines; physical USB sticks and physical PCs are still under evaluation.

What you need

An image filecompanion-os-<version>-amd64.iso for an x86-64 PC, or companion-os-<version>-arm64.iso for an arm64 PC or virtual machine.
A checksum fileSHA256SUMS, next to the image.
A USB stickLarger than the image. 16 GB or more is comfortable; 8 GB is the minimum for the amd64 image. Writing the image erases everything on the stick.
The target machineA UEFI machine with an internal disk of 25 GB or more. Allow 64 GB or more if it will also download AI models. It needs a network connection for the first start.

An Apple-silicon Mac cannot start from this stick. To try the arm64 image on a Mac, run it in a virtual machine.

Companion Capture, the screen-and-activity app, has no arm64 build yet, so the arm64 image does not include it.

1. Check the image file

Open a terminal in the folder that holds both files and compare the checksums.

sha256sum -c SHA256SUMS

The command prints OK next to the file name. If it prints anything else, download the file again.

2. Write the image to the stick

The image is a hybrid ISO. You write it to the stick byte for byte, and the stick starts a UEFI machine.

Name the stick, not another disk. dd writes to whatever device you give it and does not ask. Unplug the stick, list your disks, plug the stick in, and list them again. The new entry is the stick. Write to the whole device (/dev/sdX or /dev/diskN), never to a partition such as /dev/sdX1.

Find the stick. It has TRAN set to usb, RM set to 1, and the size you expect:

lsblk -o NAME,SIZE,MODEL,TRAN,RM,MOUNTPOINTS

Write the image. Replace /dev/sdX with the whole device of the stick:

ISO=companion-os-1.0-amd64.iso DEV=/dev/sdX sudo umount "$DEV"?* 2>/dev/null || true sudo dd if="$ISO" of="$DEV" bs=4M conv=fsync oflag=direct status=progress sync

The write takes a few minutes. The stick sets the speed.

3. Check the write

A stick that fails halfway can still look fine. Read back exactly as many bytes as the image has and compare the hashes. This is optional on Windows, where the tools above check the write themselves.

SZ=$(wc -c < "$ISO"); want=$(sha256sum "$ISO" | cut -c1-64) got=$(sudo dd if="$DEV" bs=1M count=$(( (SZ + 1048575) / 1048576 )) 2>/dev/null | head -c "$SZ" | sha256sum | cut -c1-64) [ "$want" = "$got" ] && echo "the stick matches the image" || echo "MISMATCH: write it again"

If it prints MISMATCH, write the image again, or try another stick or another USB port.

4. Start the machine from the stick

Open the boot menu

Plug the stick into the target machine and turn it on. Open the firmware boot menu right away (usually Esc, F2, F10, F12, or Del) and choose the stick’s UEFI entry. A “legacy” or “CSM” entry does not start the image.

If the machine refuses to start from the stick, turn Secure Boot off in the firmware settings and try again.

Choose an entry

The Companion OS boot menu has two entries. Try or Install Companion OS starts after 15 seconds. Install Companion OS (automatic) goes straight to the one-click installer.

The Companion OS boot menu on a dark teal background with the Companion mark. Four entries are listed and the first, Try or Install Companion OS, is highlighted.
The boot menu of the arm64 image, started from a virtual machine.

Wait for the desktop

The live desktop appears after a few minutes. Canonical’s installer window opens first and you can close it. The left dock starts with Install Companion OS (automatic). Five Companion shortcuts sit on the desktop: Support, Getting Started, Docs, Community, and App Store.

The Companion OS live desktop: the dock on the left with the installer, Companion Hub, Docs, Files, and Terminal, five Companion shortcuts and two Install Companion OS launchers on the right, on the teal Companion wallpaper.
The live desktop, about two minutes after power-on in a virtual machine.

5. Install

You have two ways to install.

  • One-click installer. Choose Install Companion OS (automatic), either in the boot menu or in the dock. One dialog names the disk it will erase, with the model, the size, the device, and everything found on it. It also shows a one-time password for the user companion. The default button is Cancel.
  • Normal installer. Choose Use the normal installer in that dialog, or start from the first boot menu entry. This is Canonical’s installer, so its window keeps Ubuntu’s own text.

The one-click installer never offers the disk you started from, a removable disk, or a disk smaller than 25 GB.

The one-click installer dialog: it states that it will erase everything on a named disk, shows the user name companion and a hidden one-time password, and offers Cancel, Erase the disk and install, and Use the normal installer.
The one-click installer's confirmation dialog. The one-time password is hidden in this capture.

Choose the language, keyboard, and time zone (optional)

The dialog says which language, keyboard layout, and time zone it will install with. If you change nothing, that is English (United States), the US keyboard, and a time zone the installer detects from the network (UTC if the machine is offline). To change any of the three, choose Language, keyboard, time zone….

  1. A small window lists Language, Keyboard, and Time zone, each with its current value. Select a row and choose Change.
  2. A list opens. Type to search it (for example Germany, German, or Berlin), select an entry, and choose Choose. Back leaves the row as it was.
  3. Do the same for the other rows, then choose Done. The installer dialog comes back and names your choice. The one-time password is the same as before, and the default button is still Cancel.
A small window titled Language, keyboard and time zone. It lists Language: German (Germany), Keyboard: German, Time zone: Berlin, Germany, with Done and Change buttons.
The language window after choosing German (Germany). The arm64 image in a virtual machine.

Choosing a language also suggests a keyboard and, when the country has a single time zone, that time zone. German (Germany) suggests the German keyboard and Berlin. For a country with multiple time zones, the time zone stays on Detect automatically. A later language choice never overwrites a keyboard or time zone that you picked manually.

What the lists hold:

ListWhat it offers
LanguageOnly the languages whose packs are on the image: German, English, Spanish, French, Italian, Portuguese, Russian, and Chinese, each in its regional forms. The normal installer lists more and downloads their packs.
KeyboardKeyboard layouts only. There are no variants (dead keys, Dvorak, “intl”). Change a variant afterwards in Settings, Keyboard.
Time zoneDetect automatically first, then every zone by city and country, then UTC. Detection needs a network; choosing a zone here does not.

Verification notes. [V] On the arm64 image in a virtual machine (19 October 2026), we selected German (Germany), the German keyboard, and Berlin in this window. The installed system booted into a German sign-in screen with locale de_DE.UTF-8, keyboard layout de, and time zone Europe/Berlin. [I] The remaining languages and their keyboard and time zone suggestions are covered by unit tests.

Start the install

Write the one-time password down, then choose Erase the disk and install. A progress window follows the installer. When the installation finishes, the computer powers itself off (about 10 to 12 minutes in virtual machines).

Once the computer powers off, remove the USB stick and turn the machine back on.

6. First sign-in

Sign in with the one-time password

Select Companion and enter the one-time password. Companion OS asks you to choose your own password before it opens the desktop.

The sign-in screen asking for the current password, with the line Changing password for companion.
The first sign-in asks for a new password.

Read the welcome page

A Companion welcome page opens once in your browser. It is the Getting started section of these docs.

Firefox showing the Getting started page of the Companion docs, opened by Companion OS on the first sign-in.
The welcome page, opened once after the first sign-in.

The desktop has shortcuts to the docs, support, community, and the app store, and the dock holds Companion Hub, Docs, Files, and Terminal.

The installed Companion OS desktop: a dock with Companion Hub, Docs, Files, and Terminal, and the five Companion shortcuts.
The installed desktop.

Let the first-time setup finish

About three minutes after the machine starts, a background job waits for the machine to be quiet. It then downloads the two default AI models, about 1 GB in total, and starts Companion Hub. It runs at low priority so the desktop stays responsive. In virtual machines it finished in two to three minutes. A machine that is not supported for the larger default model skips that model.

You do not have to watch it. A notification at the top of the screen shows where it is, and it updates in place:

The notification saysWhat is going on
Companion OS is getting readyThe setup has not started yet. It starts about three minutes after the machine does.
Setting up Companion OS: step 3 of 7The setup is running. The text under the title names the step, such as installing developer tools.
Companion OS is waiting for the internetThe network is not up yet. It can show for a moment at the start while the machine connects. If you are offline, connect with the menu at the top right. The setup carries on by itself.
Companion OS setup needs attentionA step stopped. The setup tries again by itself. To try now, run sudo ci-os-setup. ci-os-info shows the step.
Companion OS is ready”Everything is installed. Open Companion Hub, the first icon in the dock, to pair this computer with your account.” Step 7 below shows Hub.

The notification has no button: open Companion Hub from the dock. Steps that finish quickly do not show a banner, so the step numbers can skip. The ready message appears once, in English regardless of the language you chose during installation. The live USB session does not show setup notifications. If you turn on Do Not Disturb, the banners stay hidden and the notifications wait in the list at the top of the screen.

If the screen goes dark. After five minutes without a click or a key, the screen blanks and the session locks. That is Ubuntu’s default. The setup takes about two minutes and keeps running, so a machine you leave to finish by itself may be locked when you come back. Unlock it with your password. The messages wait in the list at the top of the screen (select the clock), and the ready message is there.

A desktop notification from Companion OS titled Companion OS is waiting for the internet, with the text Connect to the internet (menu at the top right). Setup carries on by itself.
The first banner of a first start, while the network was not up yet. The arm64 image in a virtual machine. Gerade eben (just now) is the German time stamp of the desktop.
A desktop notification from Companion OS titled Setting up Companion OS: step 3 of 7, with the text Installing developer tools. You can keep using the computer.
Step 3 of 7 during a first start, on the arm64 image in a virtual machine.
The notification list of the desktop with one message from Companion OS: Companion OS is ready. Everything is installed. Open Companion Hub, the first icon in the dock, to pair this computer with your account.
The ready message with its final wording, in the notification list that opens when you select the clock. The arm64 image in a virtual machine.

Verification notes. [V] We tested two fresh installs of the arm64 image in a virtual machine with a German desktop (19 October 2026) on a fast network. The first start of the first install showed “getting ready” and steps 3, 5, and 7 of 7, finishing in 2 minutes 28 seconds. The first start of the second install showed “waiting for the internet”, “getting ready”, steps 1, 5, and 7 of 7, and “ready” with the wording in the table, finishing in 2 minutes 11 seconds. A second run of the script did not repeat the ready message. [I] We verified the “needs attention” banner in a targeted test.

7. Pair the Hub

Open Companion Hub from the dock. Hub starts on a pairing screen. Select Sign in to CI Account to get a pairing code, then enter it and select Register. Pairing is a step you take yourself, because it ties this device to your CI Account. The Core Server quick start and Device pairing cover the rest.

Companion Hub on its first screen: Step 1, get your pairing code, with Sign in to CI Account and Create account buttons. Step 2, connect this device, with the current device ID and a field for the pairing code.
Companion Hub on the arm64 image, before pairing.

Troubleshooting

SymptomWhat to do
The firmware does not list the stick.Check the checksum (step 3) and write the image again. Try another USB port. Make sure the machine starts in UEFI mode, not legacy or CSM.
The machine refuses to start from the stick.Turn Secure Boot off in the firmware settings and try again.
The screen shows text while the live system starts.Wait. On arm64 the boot messages stay on screen until the desktop appears.
The one-click dialog says no disk qualifies.The machine has no internal disk of 25 GB or more besides the stick. Use a larger disk, or the normal installer.
The system reports one failed service, pd-mapper, on an arm64 machine.This is a known cosmetic issue on machines that are not Snapdragon. It does not affect Hub.
Hub does not open.Wait five minutes after the first start, then open http://localhost:5002 in a browser.

More rows, including the setup log and network problems, are in Troubleshooting Companion OS.

Next

Last updated on