> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.ibee.co.in/docs/tools/isos/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ibee.co.in/_mcp/server. # ISOs > Add custom ISO images to your IBEE Solutions organization from a remote URL, attach them to VMs, and choose them when deploying. ISOs let you bring operating system installers and other boot images that aren't in the [OS template catalog](/docs/infrastructure/cloud-vms/os-images). Add an ISO once from a remote URL, then choose it under **Operating System → ISOs** when [creating a VM](/docs/infrastructure/cloud-vms/create-a-vm), or attach it to an existing VM from the ISOs page. > **Warning** > > **Interactive installs need a console, which isn't available in the portal yet.** A VM booted from an installer ISO waits for you to step through the installer, and browser console access is still **Coming soon**. You can add, attach, and detach ISOs today, but plan on a [template](/docs/infrastructure/cloud-vms/os-images) or a [snapshot](/docs/tools/snapshots) for VMs you need to reach now. ## Open the ISOs page 1. In the IBEE Solutions portal, expand **Tools** in the left nav. 2. Click **ISOs**. The page lists every ISO in the current organization, with a **Search ISOs…** box (matches the ISO name) and a **Refresh** button. The empty state shows **No ISOs Found** with an **Add ISO** call-to-action. The list has these columns: | Column | What it shows | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | **ISO** | The name you gave the ISO. | | **Status** | **Pending** while IBEE downloads and validates the image, **Complete** when it's ready to use, or **Error** if the download or validation failed. | | **Size** | The image size once downloaded. | | **MD5** | The image checksum, so you can compare it with the publisher's value. | | **Attached To** | The VM the ISO is attached to, or **Not attached**. | | **Added** | When the ISO was added. | ## Add an ISO ### 1. Click Add ISO Click **Add ISO** (top-right or the empty-state button). The **Add ISO** dialog opens with the subtitle **Upload from a remote URL (up to 10 GB)**. ### 2. Enter a name In **ISO Name**, give the image a clear, human-readable label. Example: `Ubuntu 24.04 LTS` This is the name you'll see in the ISOs list and in the VM deployer's **ISOs** tab. ### 3. Paste a remote URL In **Remote URL**, paste the public URL where the ISO can be downloaded. Example: `https://releases.ubuntu.com/24.04/ubuntu-24.04.iso` ### 4. Confirm the constraints The dialog reminds you of the upload requirements: | Constraint | Value | | ------------------------------------------- | ----------------------------------------------- | | ISO must be publicly accessible via the URL | Yes — IBEE pulls from the URL you provide | | Supported formats | `.iso` images only | | Maximum size | **10 GB** | | URL scheme | Must begin with **`http://`** or **`https://`** | If your image lives behind authentication, host it on a public bucket (such as [Object Storage](/docs/infrastructure/object-storage)) or generate a signed URL that doesn't require headers. ### 5. Click Add ISO Click **Add ISO** in the bottom-right of the dialog. A confirmation reads **ISO added — validating URL in background…**, and the new entry appears with status **Pending**. It changes to **Complete** once IBEE has downloaded and validated the image. Click **Refresh** to update the list. ## Attach an ISO to a VM You can attach a **Complete** ISO that isn't attached anywhere to an existing VM: 1. On the ISO's row, open the actions menu and click **Attach**. 2. In the **Attach ISO** dialog, enter the **VM ID**. **VM Name** is optional and is used as a label. 3. Click **Attach**. The **Attached To** column then shows the VM. Each ISO can be attached to one VM at a time. ## Detach an ISO 1. On the attached ISO's row, open the actions menu and click **Detach**. 2. The **Detach ISO** dialog shows which VM it's **Currently attached to**. Confirm with **Detach**. ## Boot a new VM from your ISO 1. Open **Infrastructure → Cloud VMs** and click **Deploy VM**. 2. Pick the **Location** and **Plan** as usual. 3. Under **Operating System**, switch to the **ISOs** tab. 4. Pick your ISO from the list. 5. Continue with **SSH Keys**, **Network Configuration**, **Billing**, and **VM Details**, then click **Deploy**. The VM boots from the ISO. Completing an interactive installer requires console access, which isn't available in the portal yet — see the note at the top of this page. ## Manage ISOs From the ISOs list: * Use the **search box** to filter by name. * Use **Refresh** to re-poll the list after a recent upload. * Use the per-row actions menu to **Attach**, **Detach**, or **Delete** an ISO. **Delete** is disabled while the ISO is attached — the dialog shows **Detach from VM first before deleting.** Deleting an ISO removes it from organization storage. VMs already installed from the ISO are unaffected — the install lives on the VM's own root disk. ## Bring-your-own-image checklist For a custom Linux ISO to boot cleanly under KVM, verify before uploading: * **virtio drivers** for disk and network are present (Linux kernels include them by default). * **DHCP client** is enabled on the primary NIC. * The ISO has a working **bootloader** that targets `/dev/vda`. * (Optional) Install **cloud-init** during the install for SSH key injection on next boot. For Windows ISOs, plan to install virtio drivers from the [Windows guest tools ISO](https://github.com/virtio-win/kvm-guest-drivers-windows) during setup. ## Troubleshooting **Add ISO button is disabled** Both **ISO Name** and **Remote URL** are required. If the URL doesn't start with `http://` or `https://`, the dialog shows an error when you click **Add ISO**. **Status stays Pending or changes to Error** The URL must be publicly reachable from IBEE infrastructure. Check the URL in a browser; if it requires authentication, redirects to a login page, or rate-limits unauthenticated downloads, host the ISO somewhere that doesn't. Then delete the failed entry and add the ISO again. **Image rejected as "unsupported format"** Only `.iso` files are accepted. Cloud images in `.qcow2`, `.img`, or `.vmdk` are not — for those, see [Custom images](/docs/infrastructure/cloud-vms/custom-images) (snapshot/backup paths instead). **Attach is missing from the row menu** **Attach** appears only for ISOs with status **Complete** that aren't already attached. Detach the ISO from its current VM first. **Can't delete an ISO** Detach it from its VM first. ## Related pages * [OS images](/docs/infrastructure/cloud-vms/os-images) * [Custom images](/docs/infrastructure/cloud-vms/custom-images) * [Create a VM](/docs/infrastructure/cloud-vms/create-a-vm) > Add custom ISO images to your IBEE Solutions organization from a remote URL, attach them to VMs, and choose them when deploying.