Streamlining the AoE boot process

A while back, I created a post on my successes with getting a workstation to boot off the network using an ATA over Ethernet (AoE) target as its root filesystem. My previous attempt required a good amount of manual intervention to get the initrd prepared. The boot process relied on gPXE to load the kernel and initrd from a TFTP server, which worked fine, but a downside of this approach is that I would need to make a new initrd and copy the new kernel over each time a new kernel package was released. With Fedora, the distro I’m using on my test machine, new kernels come out farily regularly.

While I was looking for some other piece of information, I stumbled across the means of telling gPXE how to boot directly from a AoE target without having to use TFTP to provide the kernel and initrd. This is desireable, since I wouldn’t need to do any manual intervention when new kernel updates are released. This also allows for one to install an operating system that normally isn’t network-boot-friendly, like Windows, on an AoE target. I’m not sure I would ever do that, but who knows. It might be fun.

The whole process was relatively straightforward, but I hit one major snag. The mkinitrd script that Red Hat provides doesn’t have support for AoE, so I had to write a patch to provide that support. Once that patch was in place, I was able to generate AoE-friendly initrds, and booting the OS over the network became much easier.

I documented my procedure in a wiki article so others can try it. Some of it was taken from memory, so it may not be 100% complete. My next experiment is to see if I can get Fedora to do a native install onto an AoE target.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>