Você pode ver um tutorial passo a passo aqui: link
Ou tente procurar "boot ISO via PXE", "boot do DOS via PXE", etc.
edição estendida
O seguinte é testado e funcionando.
Tudo o que você precisa é do Full FreeDOS ISO, um recente LiveCD do Linux, um Linux instalado e um Máquina Virtual .
Então é isso que eu fiz:
- Crie uma máquina virtual com um disco rígido de somente 20 MB, além de anexar o FreeDOS ISO completo como um CD-ROM.
- Inicialize a máquina virtual a partir do FreeDOS ISO e instale a versão mínima do FreeDOS no disco virtual.
- Certifique-se de particionar e formatar o disco rígido com as ferramentas FreeDOS fornecidas durante a instalação. O disco deve ser inicializável e formatado como FAT16.
- Ejete a imagem ISO e tente inicializar a partir do disco virtual. Repita as etapas até que ele seja inicializado com êxito no disco virtual. Para mim, só funciona com a terceira opção de boot do FreeDOS, mas você deve experimentar todas elas.
- Anexe o LiveCD do Linux à máquina virtual e inicialize o LiveCD. Em seguida, monte o disco virtual em algum lugar no sistema de arquivos.
- Transfira as ferramentas necessárias do DOS para o disco rígido montado. Seja via HTTP, SCP, FTP, SMB ou até mesmo através de um flash drive USB real. Não é necessário, mas recomenda-se criar um subpasta do disco virtual e colocar os arquivos nele. Você deve ter extraído os arquivos externamente ou dentro do sistema Linux LiveCD. Certifique-se de que você não sobrescrever quaisquer arquivos do FreeDOS no disco rígido.
- Desmonte o disco virtual.
- Crie uma imagem de disco do disco virtual com
dd if=/dev/sda of=/tmp/freedos.img
(substitua / dev / sda pelo nome correto do dispositivo do disco virtual) - Transfira a imagem
/tmp/freedos.img
para uma máquina real (SCP, SMB, FTP ou qualquer outra). - Desligue o sistema Linux LiveCD, ejete a imagem do LiveCD, reinicialize e tente inicializar novamente no disco rígido do FreeDOS (não na imagem).
Se funciona e você vê os programas copiados está tudo bem e você pode desligar o sistema novamente. Se não, repita a partir do passo 5). - Se você tiver um Linux instalado em algum lugar, tente instalar o pacote
syslinux
. Isso é mais fácil do que compilar seus próprios binários ou baixar imagens pré-compiladas de algum lugar.
Após a instalação, localize o bináriomemdisk
no sistema de arquivos. O meu era em/usr/lib/syslinux/memdisk
. - Transfira
memdisk
efreedos.img
para o servidor tftp do seu ambiente PXE e configure-o com a seguinte entrada de configuração.
.
label freedos
menu label FreeDOS flash environment
kernel memdisk
append initrd=freedos.img harddisk
Inicialize via PXE e aproveite o FreeDOS da rede.
Como um exercício para o leitor, você deve experimentar o iPXE que é um firmware PXE de código aberto. Com ele você pode pular toda a porcaria do tftp / PXE e em vez disso inicializar via HTTP! Nesse caso, você pode inicializar a partir do carregador de inicialização do iPXE e digitar os seguintes comandos:
dhcp
imgfetch http://192.168.1.1/freedos.img
chain http://192.168.1.1/memdisk harddisk
dhcp
lhe dá qualquer IP do seu servidor DHCP apenas para se comunicar com 192.168.1.1 ou qualquer que seja seu servidor web (interno). Você também pode definir um IP estático. Os outros comandos baixam e instalam o carregador de inicialização e a imagem de disco do HTTP e, em seguida, inicializam a imagem. Impressionante.