Instalando o Freebsd via PXE

Publicado por Bruno Morato em 28/02/2019

[ Hits: 2.008 ]

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

Instalando o softplan-websigner no Void Linux para acesso ao ESAJ (Chromium)

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

Instalando o Grapejuice no Void Linux para jogar Roblox

Fazendo o Softplan Websginer funcionar no Firefox

Leitura recomendada

FreeBSD - Executando aplicativos do Windows usando o PlayOnBSD

FreeBSD: "chroot" num pool de armazenamento em ZFS

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

Como Compilar Programas no FreeBSD via Ports

Atualização crítica do OpenSSL 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