> For the complete documentation index, see [llms.txt](https://documentation.2pintsoftware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.2pintsoftware.com/deployr/reference/step-definitions/install-ubuntu-desktop-from-iso.md).

# Install Ubuntu Desktop from ISO

{% hint style="info" %}
This is only supported in DeployR Enterprise. Applies to: DeployR 1.1 and later.
{% endhint %}

The **Install Ubuntu Desktop from ISO** step performs an unattended installation of Ubuntu Desktop using an ISO file uploaded to DeployR as a content item. The flags on this content item must be marked to "Allow Anonymous Read" since this file is downloaded by the Linux kernel without authentication. Note that the entire ISO will be downloaded into a RAMdisk, so the memory available on the machine must be large enough; 12-16GB is recommended.

In addition to the ISO, create a second content item containing the `initrd` and `vmlinuz` files extracted from the ISO. These can be found in the "casper" subdirectory in the ISO.

This is supported for Ubuntu Desktop 23.04 and later releases.

### Options

| Option                          | Description                                                                                                                                 |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Ubuntu ISO (.iso)               | Single-file content item containing the Ubuntu Desktop ISO. It must allow anonymous read access.                                            |
| Ubuntu installation boot files  | Content item containing the `vmlinuz` and `initrd` files from the ISO's `casper` folder.                                                    |
| Storage layout                  | `lvm` (default), `direct`, or `zfs`. Use `lvm` if you want LUKS encryption.                                                                 |
| User account to create          | Local account to create, with sudo access. Default: `ubuntu`. The password comes from the `AdminPassword` secret or task sequence variable. |
| LUKS disk encryption passphrase | Optional. Encrypts the disk with LUKS; Ubuntu prompts for this passphrase at startup.                                                       |

<figure><img src="https://content.gitbook.com/content/8m0VARX9oyZ2zXWCdPgr/blobs/UyuHBR3UhAIn0OPhmiJW/image.png" alt=""><figcaption></figcaption></figure>

Specify the storage layout and the user account name to create. The password for that account can be stored as a secret named "AdminPassword". If the secret is not configured, the AdminPassword task sequence variable value will be used. Make sure one of them is set.

Choose a storage layout as well. If selecting lvm, LUKS encryption can also be enabled by specifying the LUKS passphrase that should be used to unlock the device; Linux will automatically prompt for this value during the boot process.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://documentation.2pintsoftware.com/deployr/reference/step-definitions/install-ubuntu-desktop-from-iso.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
