Sim. Eu gerenciei muitos servidores PXE. Eu recomendo o NeoPXE. Há toneladas de documentação sobre isso e é muito poderoso. Você pode fazer coisas como criar um menu que carregue a cadeia para outros servidores PXE e instale os destinos.
Você também deve saber que um servidor PXE é simplesmente um servidor DHCP emparelhado com um servidor TFTP. Para fazer coisas mais avançadas, como o que explico abaixo, você estará configurando um servidor DHCP proxy.
Por exemplo, nós configuramos para que, quando você inicializar o PXE pela primeira vez, tenha uma lista de opções para acessar os servidores PXE de vários departamentos diferentes ou acessar o Linux, o Solaris ou o BSD. De lá, você pode ir para Stable / Devel e escolher sua arquitetura e versão. Finalmente, você teria a opção de fazer um kickstart / autoyast / jumpstart ou uma instalação assistida.
Os menus podem ser criados programaticamente e / ou manualmente. Você edita os arquivos de configuração e executa o make. Eu acho que isso responde 1, 2 e 4. Para o número 3, se eu entendi corretamente ... você não pode simplesmente servir um ISO para um cliente de um servidor PXE. Para distribuições Linux, geralmente, você terá que extrair o initrd e o vmlinuz e então tornar o resto dos pacotes acessíveis via NFS, FTP, HTTP ou SMB.
Acho que é exatamente isso que você está procurando.
http://download.oracle.com/docs/cd/E19273-01/835-0781/sfx46losig.gisnq.html
Deixe-me saber se você deseja instruções mais específicas para uma dada distro ou se precisa de ajuda para configurar o NeoPXE.