> ## Documentation Index
> Fetch the complete documentation index at: https://docs.advinservers.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Boot Images

> How to upload a Linux kernel and initramfs, or a Unified Kernel Image, for measured direct boot on your virtual server.

## Overview

The "Boot Images" page is a library of Linux boot files you can reuse across servers. A boot image is either a **Unified Kernel Image (UKI)** or a **Linux kernel with its initramfs** and a kernel command line. A server set to measured direct boot starts straight from these files instead of the bootloader on its disk, with SEV-SNP launch measurement.

This is an advanced, experimental feature for people building confidential computing setups. If you just want to install an operating system from your own installer, use a custom ISO instead. See [ISO Mounting](/guides/iso-mounting).

Open the Ascienth console at [https://console.advinservers.com](https://console.advinservers.com) and click "Boot Images" under "Setup" in the left sidebar.

<Note>
  Measured boot is not offered everywhere yet. If the page shows `Uploads unavailable`, you can still see your library, but you cannot upload or delete images until it is available.
</Note>

## Limits

| Item | Limit |
| - | - |
| UKI file | 200 MiB |
| Linux kernel | 64 MiB |
| Initramfs | 128 MiB |
| Kernel command line | 1 to 4096 printable ASCII characters, with no single quotes or backslashes |
| Images per team | One per server in the team, plus five more |

A UKI must be an x86-64 image with one kernel, one initramfs and one command line built in. Multi-profile images, separate microcode, device trees and firmware sections are not supported.

<Warning>
  Only upload public boot code. Never put passwords, keys or other secrets in the files or the command line.
</Warning>

## Uploading a Boot Image

<Steps>
  <Step title="Open the upload form">
    On the "Boot Images" page, click `Upload Image`.
  </Step>

  <Step title="Name it and choose the source">
    Enter a `Name` of up to 80 characters. Then choose a `Source`: `Unified Kernel Image (UKI)` or `Kernel + initramfs`.
  </Step>

  <Step title="Add the files and their checksums">
    For a UKI, choose the `UKI file` and enter its `UKI SHA-256`. The kernel, initramfs and command line are read from inside the UKI.

    For a kernel and initramfs, choose the `Linux kernel` and `Initramfs` files, enter the `Kernel SHA-256` and `Initramfs SHA-256`, and enter the `Exact kernel command line`.

    You can get a checksum with `sha256sum <file>` on Linux. If a checksum does not match the file you uploaded, the upload is refused with `The SHA-256 checksum does not match the uploaded file.`
  </Step>

  <Step title="Upload">
    Click `Upload Image`. The form shows the upload progress. When it finishes, the image appears in the list.
  </Step>
</Steps>

To see an image's checksums and command line later, click the menu at the end of its row and choose `View Boot Inputs`. These checksums identify the boot files. They are not an SNP launch measurement.

## Using an Image on a Server

<Steps>
  <Step title="Prepare the server">
    Open the server, click its "Settings" tab, and open "Measured Boot". Turn on SEV-SNP there, and set UEFI firmware in the "Hardware" section.
  </Step>

  <Step title="Choose the image">
    Turn on `Enable measured direct boot`, then pick your image under `Boot image`. You can also upload a kernel and initramfs for just this server instead.
  </Step>

  <Step title="Save and restart fully">
    Click `Save Boot Configuration`. The new boot files take effect after a full shutdown and start of the server, not a reboot from inside the operating system.
  </Step>
</Steps>

To go back to booting from the disk, turn off `Enable measured direct boot` and save. Make sure your disk still has a working bootloader first.

<Warning>
  A saved boot configuration is not proof that the server is running a verified operating system.
</Warning>

## Deleting a Boot Image

Click the menu at the end of the image's row and choose `Delete`. To confirm, type the image's name and click `Delete`.

Servers already set to boot from the image keep their own copy and are not changed. To use the image on another server later, you need to upload it again.

## Team Permissions

Boot images belong to the team you are working in. The team owner can always manage them. Members need these permissions in their role:

| Permission | Allows |
| - | - |
| `View measured boot images` | See the boot images saved in the team. |
| `Upload measured boot images` | Upload new boot images. |
| `Delete measured boot images` | Delete a boot image. |

Choosing an image for a server also needs the `Change server settings` permission. See [Team Members and Roles](/guides/team-members).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.