Building your own netboot (with custom drivers)

Hi there,

I believe that i have ran into an issue where i am unable to PXE boot our hardware on the 10G NICs.
I have added an extra 10G Intel X710 card to Dell R630. Also, no offical support for X710 (

If our issue is caused by the netboot image provided by MAAS not having drivers for our NICs, then I would need to build a custom netboot image.

Is there any guide out there or documentation on how to build my own netboot image?

Thanks :slight_smile:

MAAS doesn’t really support providing custom initrds. That said, however, if this is a card for which the driver is already in the Ubuntu kernel, we can make sure to include it in our images.

Can you please provide more information about this card? Are the drives in LInux? If so in which version?

Also, have you attempted to use a HWE kernel?


I will dig around and find the driver and card specifications. Also will try and figure out if there are drivers compatible with the Intel X710 in the kernel already.

I have tried HWE, but the nodes never goes past grub so im thinking there is something in regard to netboot. They take a while loading the netboot image and then just boots into grub. I am using MAAS 2.5.1 atm, someone mentioned that MAAS 2.4 might work better.

I will get back with driver and card specifics.

I wonder if the issue is this:


I talked to my network team, our switches for these nodes does not support DCB.
I however have noticed this only occurs when the PXE settings in BIOS is specified with tagged vlan and not untagged.

Immediate Update: After some more testing i have concluded that the issues comes from that i am using tagged vlan in the PXE BIOS settings. Apparently the netboot image is unable to communicate or recognize the interface when it is configured with tagged vlan.

It works perfectly with simpler config, who would know :slight_smile:


1 Like

Mind I ask why custom initramfs is not supported?
There was a way to upload custom image before maas 2.0, but now it’s hidden and undocumented, I tried many ways found on Internet but none of them got work on 2.5.1

Maybe I did it wrong, but customizing the image is a strong need and a must have feature for production.
I really hope this feature could be better, a few legit use cases are:

  • a customized squshfs on top of the origin one to minimize server provisioning time (like pre-installed packages)
  • a fixed image to build immutable infra (or at least to provide a way to disable daily build, imaging yesterday you install a server it’s 18.04.1 and one day later it become 18.04.2, with kernel upgrade and some behavior changes, this really put huge risk into production system)
  • update or patch the driver patch, we are facing a similar nic driver issue as well, a tricky bug live in intel i40e driver which exists in both 18.04-ga and 18.04-hwe, we will have to update the initramfs by ourself
  • customize kernel, we running some mptcp kernel which can only be compile from the source, it’s a hassle to replace the kernel after deploy

Right now, what am I doing is, replace the initramfs file directly with the patched version, I need do this every a few days, to prevent it being override by the new daily build.

I would really appreciate if there is a way to provide customized image easily


This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.