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!
Nenhum comentário foi encontrado.