Benchmarked faster than DigitalOcean, Vultr & OVH. Your price never rises at renewal. See the numbers Benchmarked #1. No renewal hikes. See the numbers
Skip to content
Custom ISO VPS

Custom ISO VPS, bring your own Linux.

For any 64-bit Linux ISO upload the ISO in the panel as usual for install from virtual CD on our bare metal EPYC Genoa server with NVMe storage in RAID10 configuration.

This has been tested with: Arch, NixOS, Gentoo, Alpine, Void, Slackware and many other security-oriented Linux distributions that are KVM-compatible.

Why this distribution

Why custom ISO support exists.

The panel includes an image library for the most common distributions. For all the other distributions, custom ISO support exists for four reasons why teams use this functionality.

01

Full freedom

Any distribution not included in the panel of common distributions. You can deliver the install media, we'll take care of the hypervisor and the bare metal.

02

Reproducible by design

We support Reproducible installations by allowing you to upload your preseeded ISO, kickstart ISO, NixOS image or autoinstaller. This allows you to do identical installs every time.

03

Security and research distros

Authorised offensive security work, malware analysis labs, OS development.

04

Bring your own kernel

NixOS, Gentoo, Void, Alpine, Arch, OS's that allow the author to select the kernel (for example, compile from source himself) and which he can then run on KVM.

Bring your own image

Any 64-bit Linux that boots on KVM.

We do not maintain a list of pre-built example images on this page. Upload any 64-bit Linux ISO from the control panel and install it like you would on bare metal. Arch, NixOS, Alpine, Gentoo, Slackware, Void, or any other distribution that boots on KVM works the same way. The exact set of images shipped via the panel changes over time; the list of common pre-built images for Ubuntu, Debian, AlmaLinux, Rocky and CentOS Stream is on the Linux VPS page.

Production workloads

How the custom ISO flow works.

Five steps to install any 64-bit Linux on a BuyVPS instance via custom ISO.

Upload the ISO

  • Open the panel, choose Storage > ISOs
  • Click Upload and select your 64-bit ISO file
  • Up to 5 GB of ISOs per distribution; larger images can be netboot-installed.
  • Multiple ISOs can be kept in the library

Attach to a VPS

  • Pick the destination VPS in the panel
  • Attach the uploaded ISO as a virtual CD-ROM
  • Set boot order to CD-ROM first
  • The change applies on next reboot

Boot from CD-ROM

  • Reboot via the panel or API
  • Open the HTML5 console for the VPS
  • The installed ISO starts its own bootloader, usually isolinux, GRUB, or the NixOS installer.
  • No VNC client needed

Complete the installer

  • Run the installer like on bare metal
  • Partition the local NVMe disk
  • Set the root password and SSH access
  • Networking: static IPv4/IPv6 from the panel info screen

Detach and reboot

  • Reboot and detach the ISO from the panel
  • Set boot order back to disk
  • SSH in to the installed system
  • You manage the install going forward

Notes

  • As before, you get to work with the distro level. The team will deal with hypervisor, networking, panel, the install deploy, reboots to a rescue image
  • For custom installs the panel created snapshots which work also after the deploy.
  • For the distros that support it, we can also configure cloud-init to perform your install's initial configuration for it as well.
  • Your Static IP / DNS settings are visible in the panel under Network for the install you managed to set up for distro-level support.
Measured performance

NVMe RAID10 and EPYC, in numbers.

This is using the Dedicated CPU D-4 plan based out of Amsterdam, 2 vCPUs pinned to 2 cores on an EPYC Genoa processor. 4GB of DDR5 ECC memory, 60GB NVMe RAID10 storage.

122,959
4K random read IOPS. fio mixed 4K read/write at queue depth 32 on NVMe RAID10.
87,730
4K random write IOPS. Direct I/O (non-buffered) access pattern (similar to databases).
2,000 / 6,414
Geekbench 6 single / multi. The geekbench single core & multi core scores. There are 5 runs with the scores of the median value. Every Geekbench run has a public profile that can be accessed by clicking on the link.
9.40 Gbit
iperf3 send throughput. Amsterdam reference on the 100G fabric, ICMP latency 0.946 ms.
Read the full benchmark methodology and raw runs
Panel and API

Everything you need to operate it.

The control panel and API for the life-cycle of the VPS, to operate it without needing support. All end-to-end, scriptable, and also supported by Terraform and Ansible.

Reboot, shutdown, force-reset
Reboot / shutdown / force-reset from the panel or the API (hard-reset when the VPS is unresponsive to normal shut-down, ACPI shutdown when it is OK).
Reinstall any supported OS
Clear existing VPS's disk and deploy from scratch any supported OS within 1 minute or less. Your SSH key(s) will automatically carry over to new deployed server(s) thanks to Cloud-Init.
Rescue mode
Boot into rescue mode (e.g. with a Recovery CD mounted on your disks) to repair a server, for example to fix a filesystem, to re-set the root password or to fix an unbootable initramfs.
Custom ISO upload
Upload an ISO and attach as a virtual CD-ROM, then install from the HTML5 console with any 64-bit Linux distribution.
HTML5 console
HTML5 console accessible via URL for the VPS when SSH is configured incorrectly (VNC connection can also be opened for such VPS separately).
Reverse DNS (PTR)
Set IPv4 and IPv6 PTR records from the control panel. Required for any server that sends e-mail outside of the network.
SSH key management
Existing ssh keys can be attached to newly created servers. The attached ssh keys are then automatically used to log into newly created servers after the first boot, via Cloud-Init.
REST API
Deploy, resize, power-cycle and snapshot servers through a full REST API that also covers volumes, backups, ISO uploads, firewall rules, SSH keys and recipes. Generate API credentials and drive everything from Terraform, Ansible or your own CI/CD pipeline.
Pricing

Same Linux, both regions.
Same price.

It costs the same for Linux in both regions.

Compare every plan
Standard $18.40/mo Shared 1:4 vCPU, S-4 to S-64
Dedicated CPU $29.60/mo Pinned 1:1 cores, D-4 to D-64
High Memory $199.20/mo 1:8 RAM ratio, H-64 to H-192

Deploy a Custom ISO VPS
in under a minute.

Using the same state of the art hardware, managed from the same award winning control panel, and backed by around the clock support from two data centers. Amsterdam and New York, you can create a Custom ISO VPS in under a minute. Cloud-Init automatically logs you in via SSH the first time the VPS is booted with the root password provided as the SSH key for the VPS.

Common questions

FAQ about running Custom ISO on BuyVPS.

Quick answers about plan choice, deployment, support and day-to-day operation of Custom ISO on KVM.

FAQ

Common questions

Which ISOs work on the custom ISO flow?
Any 64-bit Linux ISO that boots on KVM. We do not validate every distribution but KVM compatibility is the only hard requirement.
How large can my ISO be?
Up to 5 GB per ISO upload. Larger images can be netboot-installed via the rescue environment.
Does the panel handle UEFI ISOs?
Yes, both UEFI and BIOS boot modes are supported. You can toggle the firmware type per VPS in the panel.
Can I install Windows from a custom ISO?
This page is for Linux. Windows licensing and activation are out of scope. Reach out via the contact page if you have a specific Windows use case.
Are Arch, NixOS or Alpine considered production-supported?
We run the hardware; you run the distribution. Our support is hypervisor-level (deploy, reboot, rescue, network). Distro-level support is yours.
Can I keep the ISO mounted permanently?
No. Detach the ISO after install so the next reboot uses the installed disk. You can re-attach later for repairs.
Can I provision custom ISO installs via the API?
Yes. The REST API exposes ISO upload and attach actions, suitable for Terraform or Ansible.
What about offensive security and forensic distros?
Allowed for authorised offensive security work and lab use. Read the Acceptable Use Policy first to understand the scope.
Ready to deploy

Deploy your own ISO on a measured VPS

From $18.40/mo on a 2-year term, fixed for life. Paste this cloud-init to boot hardened in one step:

#cloud-config
package_update: true
packages: [ufw, fail2ban]
runcmd:
  - ufw allow OpenSSH
  - ufw --force enable
  - systemctl enable --now fail2ban