
Eu configurei um servidor pxe com tftp, ele funciona usando um instalador debian.
http://www.debian-administration.org/articles/478
Agora não quero um instalador mas sim um sistema, que já existe (em usb). Como posso inicializar essa imagem USB e especialmente criar o bootloader pxelinux.0 para ela? No Debian encontro apenas imagens do instalador.
Editar: OK, tenho um sistema instalado em USB e quero inicializá-lo pela rede usando PXE em vários clientes. Instalei um debian simples com servidor tftp e um ambiente pxe de acordo com o tutorial no link fornecido acima. Funciona para o instalador, mas tentei usar outro kernel, mas aparece arquivo não encontrado porque o arquivo pxelinux.0 aponta para o kernel do instalador da distribuição debian.
Responder1
Você precisa entender que nem todas as imagens Linux inicializáveis/instaláveis por USB funcionarão em um ambiente PXE.
Uma imagem não PXE geralmente inicializa e recupera os componentes necessários do dispositivo de inicialização (HDD, USB, etc.).
Uma imagem pronta para PXE inicializará inicialmente a partir da rede "e" o script de inicialização estará pronto para montar um sistema NFS, HTTP, SMB, etc., a fim de obter os componentes necessários de lá.
Imagens de instalação não pxe não apenas não possuem um script de inicialização pronto para recuperar componentes da rede, mas também muitas vezes usam compilações de kernels/busybox que nem sequer possuem suporte de rede ou não possuem módulos de kernel para alguns dos protocolos que fazem a vida mais fácil ao instalar PXE como HTTP ou SMB.
Lembre-se de que o TFTP é usado apenas em algumas transferências iniciais (pxelinux/vesamenu/kernel/initrd), a maior parte da instalação será transferida posteriormente por HTTP ou usando uma montagem de compartilhamento NFS ou SMB.
Então, se você deseja inicializar PXE uma imagem de instalação USB Linux, você deve analisar o initrd da distribuição e ver se o script de inicialização incluído suporta PXE, em seguida, você deve ver se o kernel/busybox inclui os componentes necessários para inicialização pela rede. Não é um trabalho trivial.
Se você deseja inicializar uma imagem que "não é uma instalação", mas é uma distribuição ao vivo, você deve adicionar ao script de inicialização o código para montagem em rede do arquivo squashfs.
Se você deseja inicializar uma imagem que não seja uma instalação nem uma distribuição ao vivo, as coisas são ainda mais complicadas.