Custom iPXE

📘

In Development

Custom iPXE is currently in development and expected to be available mid 2022. The below examples are for demostration 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 provision. By providing a publically 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, because the server is sitting on the boot loader and it has no SSH access, you will need to connect to the IPMI Console 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?