Instalando o Freebsd via PXE

Publicado por Bruno Morato em 28/02/2019

[ Hits: 2.002 ]

Blog: https://animeplusubs.wordpress.com/

 


Instalando o Freebsd via PXE



Recentemente eu precisei instalar o FreeBSD via pxe e não encontrei nada completo ou explicativo a respeito do assunto.

NFS

Baixando o Freebsd:

# wget --no-check-certificate https://download.freebsd.org/ftp/releases/i386/i386/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-i386-disc1.iso

Estou usando a imagem completa ou invés da bootonly.ISO, pois a máquina não terá acesso a internet durante o processo.

Criando o diretório para instalação dos aquivos (mais tarde estaremos enviando eles via NFS):

# mkdir /usr/freebsd12

Monte a imagem .ISO que acabamos de baixar e copie os arquivos para este diretório:

# mdconfig -a -t vnode -f FreeBSD-12.0-RELEASE-i386-disc1.iso
# mount_cd9669 /dev/md0 /mnt
# cp -R /mnt/ /usr/freebsd12
# umount /mnt
# mdconfig -d -u 0


Comente a linha no /usr/freebsd12/etc/fstab:

#/dev/iso9660/12_0_RELEASE_I386_CD / cd9660 ro 0 0

Exporte o diretório de instalação do Freebsd em /etc/exports adicionando a seguinte linha:

/usr/freebsd12 -ro

Isso permite que qualquer pessoa possa se conectar com permissão só de leitura.

NFS está pronto!

# service nfsd onestart

O nfsd vai inciar o mountd e o rpcbind como dependências. Se você alterar o /etc/exports, precisa dar um "service mountd onerestart".

TFTP

A máquina na qual vamos instalar o FreeBSD vai usar o TFTP para pegar o pxeboot.

Crie o diretório onde vão ficar os arquivos do TFTP:

# mkdir /usr/tftp

Habilite o TFTP em /etc/inetd.conf:

tftp    dgram   udp     wait    root    /usr/libexec/tftpd      tftpd -l -s /usr/public/tftp

Essa linha já deve existir lá, basta descomentar e colocar o caminho no final "/usr/tftp".

Copie o pxeboot dos aquivos de instalação para o diretório do tftp:

# cp /usr/freebsd12/boot/pxeboot /usr/tftp

Inicie o inetd:

# service inetd onestart

Pronto! O TFTP está funcionando.

DHCPD

Instalando o isc-dhcp44-server:

# pkg install isc-dhcp44-server

Adicione a seguinte configuração dentro do /usr/local/etc/dhcpd.conf:

subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.2 10.0.0.3;
    option subnet-mask 255.255.255.0;
    option routers 10.0.0.1;
    option broadcast-address 10.0.0.255;
    option domain-name-servers 10.0.0.1;
    # Servidor TFTP
    next-server 10.0.0.1;
    # Arquivo PXE
    filename "pxeboot";
    # Pasta raiz
    option root-path "/usr/freebsd12";
} ## modificar a gosto ###

Dentro do /etc/rc.conf coloque o seguinte:

ifconfig_re0="inet 10.0.0.1 netmask 0xffffff00"
dhcpd_ifaces="re0"

Isso configura nossa placa, no caso a re0 com um IP estático e faz o dhcpd usar ela.

Iniciando o dhcpd:

# service isc-dhcpd onestart

Testando o TFTP para ter certeza que a máquina consegue baixar o pxeboot:

# tftp localhost
> get pxeboot
> quit

Teste para ver se você consegue montar a partição NFS:

# mount -t nfs 127.0.0.1:/usr/freebsd12 /mnt
# umount /mnt


Para listar sua pasta compartilhada:

# showmount -e localhost

Pronto, basta instalar o FreeBSD!

Outras dicas deste autor

Fazendo o Softplan Websginer funcionar no Firefox

Autologin na TTY1 e autostart X sem gerenciador de login - Void Linux

Instalação da placa Encore enlwi-g - Marvell Libertas 88W8335 IEEE no FreeBSD 11.2

Problema do eventfd: Too many open files - Steam/Wine games no Void Linux [Resolvido]

Instalando o Grapejuice no Void Linux para jogar Roblox

Leitura recomendada

FreeBSD - Executando aplicativos do Windows usando o PlayOnBSD

Instalação da placa Encore enlwi-g - Marvell Libertas 88W8335 IEEE no FreeBSD 11.2

Como Compilar Programas no FreeBSD via Ports

Problemas com Xorg UEFI (placa de vídeo) no FreeBSD

Instalando o Webmin no FreeBSD

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts