Custom iPXE

πŸ“˜

In Development

Custom iPXE is currently in development and expected to be available mid 2022. The examples below are for demonstration purposes only and will not work until this feature is officially available.

The Hivelocity Bare Metal Cloud supports custom iPXE scripts to install a custom operating system at time of provisioning. By providing a publicly accessible iPXE script when you provision a server, Hivelocity will load your custom iPXE build for that server.

Provisioning with Custom iPXE

You can provision any server with custom iPXE from the portal or store by selecting Custom iPXE as your operating system and entering the url of your public, http(s) accessible iPXE script.

If you are using the Hivelocity API to provision servers, you can use Custom iPXE by passing the URL in to the ipxe_script_url field in the body of your request to /bare-metal-devices.

curl -X POST \
-H "Content-Type: application/json" \
-H 'X-API-KEY: $API_KEY' \
    -d '{ \
        "productId": 576, \
        "locationName": "NYC1", \
        "osName": "CentOS 7.x", \
        "hostname": "your.hostname.com", \
        "period": "hourly" \
        "ipxe_script_url": "http://boot.yourcompany.com/ipxe-script"
    }' \
https://core.hivelocity.net/api/v2/bare-metal-devices

Initial Boot

On initial boot, the server is running the boot loader and has no SSH access. As a result, you will need to connect to the IPMI Console in order to access the server.

πŸ“˜

Boostrapping networking

Information on bootstrapping network configuration from iPXE boot will be added here when the feature is released.

If something is wrong and you are unable to access your server, you can reload your device and point it to your edited iPXE script.

Persisting PXE

By default, this PXE process only happens once on the first boot. To set your device to continuously boot to iPXE first, select the Persist iPXE toggle during your device's initial provision or reload.

When deploying via the API pass the follwoing value in the request body to the Deployment Endpoint: "persist_ipxe: true"


What’s Next
Did this page help you?