Hell, I wrote my own PXE server (from scratch, starting with UDP primitives for DHCP and TFTP) that could PXE boot and track/log the status of several concurrently PXE booting servers in a rack. That sounds crazy, but its' surprisingly easy in Elixir. It was arguably easier (and more reproducible) to do this than to figure out how to configure, say, isc-dhcpd to give out specific ip addresses based on a mac-ip lookup table you put on s3, log the progress of each client, and then ninja out isc-dhcpcd to not exist anymore once you've provisioned the rack (and then figure out what to do if you had an error)... you can imagine the nightmarish statefulness problems with system config files all over the place.
> learn how to extract and create an initrd
that was the hard part. CentOS and Ubuntu (poorly documented) give you a specific bootstrapping pathway that would kick in the initial installer, and at the other end you would have the system as you wanted it. The PXE instructions for alpine drops you into a shell. I couldn't figure out how to create and launch a "script" that would kick off the software installation beyond the basics. Like I said, it's probably easy, just not my wheelhouse.