Skip to main content
This guide shows you how to register a bare metal machine with Omni by PXE/iPXE booting.

Copy the required kernel parameters

Upon logging in you will be presented with the Omni dashboard. Click the “Copy Kernel Parameters” button on the right hand side, and save the value for later.

Download the PXE/iPXE assets

The following example assumes the use of Matchbox server. Download vmlinuz and initramfs.xz from the release of your choice (Talos Linux 1.4 or greater is required), and place them in /var/lib/matchbox/assets.

Create the profile

Place the following in /var/lib/matchbox/profiles/default.json:
{
  "id": "default",
  "name": "default",
  "boot": {
    "kernel": "/assets/vmlinuz",
    "initrd": ["/assets/initramfs.xz"],
    "args": [
      "initrd=initramfs.xz",
      "init_on_alloc=1",
      "slab_nomerge",
      "pti=on",
      "console=tty0",
      "console=ttyS0",
      "printk.devkmsg=on",
      "talos.platform=metal",
      "siderolink.api=<your siderolink.api value>",
      "talos.events.sink=<your talos.events.sink value>",
      "talos.logging.kernel=<your talos.logging.kernel value>"
    ]
  }
}
Update siderolink.api, talos.events.sink, and talos.logging.kernel with the kernel parameters copied from the dashboard. Place the following in /var/lib/matchbox/groups/default.json:

Create the group

{
  "id": "default",
  "name": "default",
  "profile": "default"
}
Once your machine is configured to PXE boot using your tool of choice, power the machine on. Navigate to the “Machines” menu in the sidebar of Omni. You should now see a machine listed. You now have a bare metal machine registered with Omni and ready to provision.

Alternative option: Use a hosting provider that supports iPXE with DHCP

Some bare metal hosting providers (for example, managed dedicated server providers) already provide DHCP and an iPXE boot environment. In these cases, you don’t need to run your own PXE stack (such as Matchbox or Booter). Instead, you can chainload Talos directly from the Talos Image Factory. Use the following minimal iPXE script:
#!ipxe
dhcp
chain --replace --autofree https://pxe.factory.talos.dev/pxe/<YOUR_SCHEMATIC_ID>/<TALOS_VERSION>/metal-amd64
Replace:
  • <YOUR_SCHEMATIC_ID> with the schematic ID generated in Image Factory
  • <TALOS_VERSION> with the Talos version you want to boot (for example, )
After the machine boots, it will register with Omni using the kernel parameters configured in Image Factory.