Custom image (iPXE)

Custom images allow you to use iPXE scripts to boot into your operating system of choice.

Using an iPXE script to deploy a custom image gives you more flexibility and control over deployments, as you can customize an operating system to your needs and requirements.

You must set a valid public URL where your iPXE script is stored. Your script should follow iPXE standards.

What is an iPXE script

The iPXE script contains a set of instructions that specify how the network boot process should be performed. This can include loading an operating system image from a remote server, setting up network configurations, and executing custom scripts or commands.

Learn more about iPXE

Variables

You can use these three variables when writing your script.

{{ PUBLIC_IP }}Public IP of the server that will be provisioned.
{{ PUBLIC_GW }}Public Gateway used to configure the network.
{{ INTERFACE_ID }}The public interface ID is used to configure the public interface of your server.
{{ NETMASK }}The Subnet Mask

If you need us to expose other variables, send us your feedback.

Examples

Several examples are provided in our public examples repository: https://github.com/latitudesh/examples

If you need an example that's not available, open an issue or contribute with a PR :star2:

How to deploy a custom image

  1. First, create an iPXE script that defines how your server should be deployed. This script will contain instructions for the server's network boot process, such as which operating system to install and where to find it. You can write this script yourself or use one from our examples repository as a starting point. If you simply want an operating system we don't offer, use https://raw.githubusercontent.com/latitudesh/examples/main/custom-image-netboot/boot.ipxe as the script URL and you will be able to deploy several operating systems using the netboot project.
  2. Host it somewhere that's publicly accessible via URL. One popular option is to use GitHub Gist. You can create a new Gist containing your script, and then use the "Raw" URL of the Gist file as the URL for your custom image.
  3. With your iPXE script hosted and accessible via URL, go to the server create page in your Latitude.sh account dashboard.
773

Custom image selection on the Latitude.sh dashboard

  1. Select "Custom image (iPXE)" as the operating system for your server.
  2. In the "Custom image script" input field, paste the URL for your iPXE script. This should be the raw URL pointing directly to the script file without additional HTML or other markup.
  3. Finish filling out the rest of the server create form as usual, including selecting the server type, location, and any other options you need.
  4. When you're ready, click the "Deploy" button at the bottom of the page. Latitude.sh will begin deploying your server using your iPXE script, and you should see status updates on the server's progress in your account dashboard.

📘

Note: When deploying with a custom image, the server will report as active and show the On status in the dashboard. That doesn't mean your image has finished installing. You will need to access the server console via Remote access to follow the installation process and make prompt selections.