Arquivo

Textos com Etiquetas ‘PXE’

Boot via rede do Ubuntu

30, julho, 2009 5 comentários

Opa,

A dica de hoje é como adicionar o Ubuntu no seu servidor de boot (PXE) para iniciar via rede. Nesse post PXE Boot com dnsmasq você encontra como configurar o dnsmasq para isso, então vamos lá!

Primeiro teremos que copiar os arquivos necessários para o boot via rede do Ubuntu, monte as imagens do Ubuntu no seu servidor Web e copie os arquivos vmlinuz e initrd.gz para a pasta /var/tftpd/ubuntu/ do servidor TFTPD, conforme abaixo:

# mkdir /var/tftpd/ubuntu
# mkdir -p /var/www/html/ubuntu/9.04/i386/
# cd /var/tfptd/ubuntu/
# mount -o loop ubuntu-9.04-desktop-i386.iso /var/www/html/ubuntu/9.04/i386/
# cp /var/www/html/ubuntu/9.04/i386/casper/vmlinuz vmlinuz-9.04
# cp /var/www/html/ubuntu/9.04/i386/casper/initrd.gz initrd.gz-9.04

OBS.: Pode colocar o nome que desejar, eu optei pelo nome mais a versão.

Após copiar os arquivos necessários vamos criar a entrada no arquivo pxelinux.cfg/default referente ao boot do Ubuntu:

# vim /var/tftpd/pxelinux.cfg/default

label ubuntu-9.04
kernel ubuntu/linux-9.04
append boot=casper vga=normal initrd=ubuntu/initrd.gz-9.04 netboot=nfs nfsroot=192.168.100.81:/var/www/html/ubuntu/9.04/i386 quiet --

Lembre-se de mudar a entrada acima para adequar a sua situação!

Compartilhe a pasta onde está montado o iso do Ubuntu via NFS:

# vim /etc/exports

/var/www/html/ubuntu/9.04/i386 192.168.100.0/255.255.255.0(ro,root_squash,async)

Depois criamos uma entrada no arquivo message para “informar” sobre o novo sistema disponível:

# vim /var/tftpd/message

ubuntu-9.04 - Instalar Ubuntu 9.04 i386

Feito isso basta agora criar um repositório de instalação do Ubuntu em algum servidor Web disponível copiando os arquivos do CD ou montando a imagem conforme fiz acima, na minha situação eu utilizei a imagem:

# mount -o loop ubuntu-9.04-desktop-i386.iso /var/www/html/ubuntu/9.04/i386

Para adicionar isso no fstab e evitar ter que repetir o comando sempre que o servidor iniciar, faça:

# vim /etc/fstab

/pasta/onde/dos/isos/ubuntu-9.04-desktop-i386.iso /var/www/html/ubuntu/9.04/i386 auto loop 0 0

Agora é só testar e lembrar de apontar para o servidor Web utilizado durante a instalação!

Abraços!

Opa, já ia esquecendo de informar as fontes:

1 – https://help.ubuntu.com/community/PXEInstallMultiDistro
2 – http://tjworld.net/wiki/Linux/Ubuntu/NetbootPxeLiveCDMultipleReleases
3 – https://help.ubuntu.com/community/Installation/LocalNet

Categories: Linux Tags: , , ,

Parted Magic PXE boot

24, abril, 2009 4 comentários

Opa,

Postei ontem um artigo falando sobre o PXE boot com dnsmasq e hoje vou falar como adicionar uma opção para executar o Parted Magic via PXE. O Parted Magic é um OS que permite a execução de diversos aplicativos a partir de um LiveCD, ou no nosso caso, via PXE boot, dentre os aplicativos disponíveis temos: Partition Image, TestDisk, fdisk, sfdisk, dd, ddrescue, Firefox, Xchat, etc…

Antes de iniciar a instalação vamos lembrar de alguns detelhes, são eles:

Diretório raiz do TFTPD: /var/tftpd
Arquivo que contém as entradas disponíveis: /var/tftpd/pxelinux.cfg/default
Arquivo que exibe as entradas disponíveis: /var/tftpd/message

Agora que já temos essas informações vamos fazer o download do Parted Image, no site podemos encontrar os endereços e arquivos disponíveis, o que nos interessa é o arquivo pmagic-pxe-4.0.zip (versão disponível quando escrevi esse post):

# wget -c http://ufpr.dl.sourceforge.net/sourceforge/partedmagic/pmagic-pxe-4.0.zip

Após realizar o download vamos descompacta-lo e mover os arquivos necessários para o nosso diretório de trabalho:

# unzip pmagic-pxe-4.0.zip
# mv pmagic-pxe-4.0/pmagic /var/tftpd/

Agora vamos criar as entradas para podermos iniciá-lo via PXE boot:

# vim /var/tftpd/pxelinux.cfg/default

label pmagic-4
kernel pmagic/bzImage
append initrd=pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw sleep=10

label pmagic-4l
kernel pmagic/bzImage
append initrd=pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw sleep=10 livemedia

OBS.: A opção acima em negrito (livemedia) é utilizada para permitir que o Parted Image execute em modo “Live”, utilizando somente 192MB de RAM. A versão padrão necessita de pelo menos 512MB de RAM para ser executada.

# vim /var/tftpd/message

pmagic-4    – Executar LiveCD Partition Magic 4 (512MB RAM)
pmagic-4l   – Executar LiveCD Partition Magic 4 (256MB RAM)

Parted Image 4 via PXE boot

Parted Image 4 via PXE boot

Feito isso basta testar o boot via PXE, se tudo ocorrer conforme o desejado você deverá ter uma imagem parecida com essa ao lado, abraço!

Fonte: Parted Magic Documentation

Categories: Linux Tags: ,

PXE Boot com dnsmasq

23, abril, 2009 3 comentários

Opa,

Hoje vou falar sobre como configurar o dnsmasq para utilizar o boot via PXE (Boot via rede). O dnsmasq é um software que disponibiliza um serviço de DHCP e DNS cache para a sua rede local de forma simples e fácil. Para instalá-lo no CentOS basta executar o comando abaixo:

# yum install dnsmasq

Após instalar, basta abrir o arquivo de configuração no seu editor preferido e alterar alguns paramêtros para se adequar as suas necessidades:

# vim /etc/dnsmasq.conf

domain-needed
bogus-priv
strict-order

# dominio local
local=/domlocal.net/

expand-hosts

# define dominio local para os clientes
domain=domlocal.net

# range DHCP
dhcp-range=192.168.100.50,192.168.100.199,12h

# caso necessário deixar um MAC com IP “fixo” (xx:xx:xx:xx:xx:xx = MAC)
dhcp-host=xx:xx:xx:xx:xx:xx,nome_servidor,192.168.100.1

# endereço do gateway
dhcp-option=3,192.168.100.1

# endereço do DNS
dhcp-option=6,192.168.100.2

# endereço do WINS
dhcp-option=44,192.168.100.2

# endereço e opções netbios
dhcp-option=45,192.168.100.2
dhcp-option=46,8
dhcp-option=47

# nome do arquivo para o BOOTP
dhcp-boot=pxelinux.0

# habilita o serviço de TFTP
enable-tftp

# diretório onde serão hospedados os arquivos necessários para o boot
tftp-root=/var/tftpd

Feito isso ative o serviço na inicialização do sistema e inicie o serviço:

# chkconfig dnsmasq on
# /etc/init.d/dnsmasq start

Agora precisamos copiar os arquivos necessários para iniciar o boot via PXE, caso o diretório informado no arquivo de configuração (/var/tftpd) não exista esse é o momento para criá-lo:

# mkdir /var/tftpd

Crie também o diretório pxelinux.cfg:

# mkdir /var/tftpd/pxelinux.cfg

Dentro desse diretório vamos criar nosso arquivo default que irá conter os serviços de boot via rede disponíveis:

# vim /var/tftpd/pxelinux.cfg/default

default boot_default

label centos32-5.2
kernel centos/vmlinuz32-5.2
append initrd=centos/initrd32-5.2.img

label centos64-5.2
kernel centos/vmlinuz64-5.2
append initrd=centos/initrd64-5.2.img

implicit         0
display         message
prompt          1
timeout         80

Crie o arquivo que irá exibir as opções disponíveis para o usuário:

# vim /var/tftpd/message

Opções disponiveis para o boot:

centos32-5.2   – Instalar CentOS 5.2 versão 32 bits
centos64-5.2   – Instalar CentOS 5.2 versão 64 bits

Digite a opção desejada e pressione <Enter>.

Copie o arquivo pxelinux.0 do pacote syslinux para o diretório do serviço TFTP:

# cp /usr/lib/syslinux/pxelinux.0 /var/tftpd/pxelinux.0

Agora precisamos criar o diretório centos e copiar os arquivos do CentOS necessários para a inicialização via PXE boot:

# mkdir /var/tftpd/centos
# wget http://centos.pop.com.br/5.2/os/i386/images/pxeboot/initrd.img
# wget http://centos.pop.com.br/5.2/os/i386/images/pxeboot/vmlinuz
# mv initrd.img /var/tftpd/centos/initrd32-5.2.img
# mv vmlinuz /var/tftpd/centos/vmlinuz32-5.2

# wget http://centos.pop.com.br/5.2/os/x86_64/images/pxeboot/initrd.img
# wget http://centos.pop.com.br/5.2/os/x86_64/images/pxeboot/vmlinuz
# mv initrd.img /var/tftpd/centos/initrd64-5.2.img
# mv vmlinuz /var/tftpd/centos/vmlinuz64-5.2

Pronto! Se tudo ocorrer conforme deveria seu PXE boot já deve estar funcionando! Agora basta iniciar o boot via rede em um computador qualquer e o menu criado (arquivo message) deverá ser exibido!

Abraço!

Categories: Linux Tags: , , ,