Instalación e Configuración dun Servidor PXE: Diferenzas entre revisións
| (Non se amosan 8 revisións do historial feitas polo mesmo usuario.) | |||
| Liña 28: | Liña 28: | ||
=Configuracións de Rede Iniciais=  | 
  =Configuracións de Rede Iniciais=  | 
||
*Empregaremos <b>Virtualbox</b> para simular ambos equipos.   | 
  *Empregaremos <b>Virtualbox</b> para simular ambos equipos.   | 
||
[[File:  | 
  [[File:redepxe.png|center|thumb|500px]]  | 
||
*O Servidor terá instalado un sistema <b>Debian Jessie</b> actualizado   | 
  *O Servidor terá instalado un sistema <b>Debian Jessie</b> actualizado   | 
||
| Liña 114: | Liña 114: | ||
<source lang='bash'>  | 
  <source lang='bash'>  | 
||
/etc/default/isc-dhcp-server  | 
  /etc/default/isc-dhcp-server  | 
||
INTERFACES=”eth1”  | 
  INTERFACES=”eth1”  | 
||
</source>  | 
|||
<source lang='bash'>  | 
|||
/etc/dhcp/dhcpd.conf  | 
  /etc/dhcp/dhcpd.conf  | 
||
###############################################################  | 
|||
#   | 
  # Comentamos as seguintes liñas para que non espere un timeout  | 
||
###############################################################  | 
|||
#option domain-name "example.org";   | 
  #option domain-name "example.org";   | 
||
#option domain-name-servers ns1.example.org, ns2.example.org;  | 
  #option domain-name-servers ns1.example.org, ns2.example.org;  | 
||
###############################################################  | 
|||
# Descomentamos a seguinte liña  | 
|||
###############################################################  | 
|||
# If this DHCP server is the official DHCP server for the local  | 
  # If this DHCP server is the official DHCP server for the local  | 
||
# network, the authoritative directive should be uncommented.  | 
  # network, the authoritative directive should be uncommented.  | 
||
| ⚫ | |||
###############################################################  | 
|||
| ⚫ | |||
# Definimos un rango de direccións a asignar entre 10 e 20.  | 
  # Definimos un rango de direccións a asignar entre 10 e 20.  | 
||
###############################################################  | 
|||
subnet 172.20.0.0 netmask 255.255.0.0 {  | 
  subnet 172.20.0.0 netmask 255.255.0.0 {  | 
||
        range 172.20.2.10 172.20.2.20;  | 
          range 172.20.2.10 172.20.2.20;  | 
||
         ############################################  | 
|||
	 # Necesario para configurar o Servidor PXE  | 
|||
         ############################################  | 
|||
	 # Servidor PXE  | 
  |||
	 next-server 172.20.4.100;  | 
  	 next-server 172.20.4.100;  | 
||
	 filename “pxelinux.0”;  | 
  	 filename “pxelinux.0”;  | 
||
| Liña 173: | Liña 180: | ||
tar xzf netboot.tar.gz   | 
  tar xzf netboot.tar.gz   | 
||
</source>  | 
  </source>  | 
||
<b>Nota:</b> Nestes momentos hai un bug no netboot da rama testing, así que teremos que descargar a versión stable.  | 
|||
<source lang='bash'>	  | 
|||
wget http://ftp.nl.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz  | 
|||
</source>  | 
|||
*Aparecen as seguines carpetas e arquivos  | 
  *Aparecen as seguines carpetas e arquivos  | 
||
<source lang='bash'>	  | 
  <source lang='bash'>	  | 
||
| Liña 469: | Liña 483: | ||
[[File:MultibootCores1.png|center|thumb|500px]]  | 
  [[File:MultibootCores1.png|center|thumb|500px]]  | 
||
===Personalizando o SRCD con scripts de arranque===  | 
|||
Isto pode ser moi importante xa que nos pode permitir definir os nosos propios scripts de clonación e restauración.  | 
|||
<source lang='bash'>  | 
|||
LABEL SystemRescueCDAuto  | 
|||
        MENU LABEL ^System Rescue Cd 64 Automatico  | 
|||
        KERNEL boot/srcd/rescue64 setkmap=es  | 
|||
        APPEND initrd=boot/srcd/initram.igz netboot=nfs://172.20.0.100:/srv/nfs/srcd  ar_source=nfs://172.20.0.100:/srv/nfs/srcd ar_nowait  | 
|||
</source>  | 
|||
*ar_source: Indica a ruta do arquivo autorun  | 
|||
*ar_nowait: Inidica  que non espere  | 
|||
Hai que poñer un arquivo autorun en /srv/nfs/srcd  | 
|||
Podemos definir alias en base a scripts que teñamos definidos no noso servidor  | 
|||
<source lang='bash'>  | 
|||
#!/bin/bash  | 
|||
dhclient eth0  | 
|||
mount -t nfs -o nolock gandalf:/NFS/images /mnt/backup  | 
|||
alias clonar=’/mnt/scripts/restaurarWindows.sh’  | 
|||
echo Funciona  | 
|||
exit 0  | 
|||
</source>  | 
|||
===Engadindo unha contrasinal a unha opción de arrque===  | 
|||
*Xeramos unha passwd encriptada con  | 
|||
<source lang='bash'>  | 
|||
# PASSWD Encriptada generada con  | 
|||
# openssl passwd -1 -salt sXiKzkus mypassword  | 
|||
</source>  | 
|||
*Engadimos a contrasinal o menú de arranque  | 
|||
<source lang='bash'>  | 
|||
LABEL SystemRescueCDAuto  | 
|||
        MENU LABEL ^System Rescue Cd 64 Automatico  | 
|||
        MENU PASSWD $1$sXiKzkus$XHG5rLQlceWdGB3gL0C8e.  | 
|||
        KERNEL boot/srcd/rescue64 setkmap=es  | 
|||
        APPEND initrd=boot/srcd/initram.igz netboot=nfs://172.20.0.100:/srv/nfs/srcd  ar_source=nfs://172.20.0.100:/srv/nfs/srcd ar_nowait  | 
|||
</source>  | 
|||
==Engadindo ISO's de utilidades==  | 
  ==Engadindo ISO's de utilidades==  | 
||
| Liña 510: | Liña 567: | ||
[[File:hdt.png|center|thumb|500px]]  | 
  [[File:hdt.png|center|thumb|500px]]  | 
||
===Engadindo un Antivirus (AVG)===  | 
  ===Engadindo un Antivirus (<b>AVG</b>)===  | 
||
Neste caso queremos arrancar unha iso dun antivirus que nos permita escanear o noso equipo. O antivirus escollido é AVG Rescue CD. Pode conectarse a Internet para actualizar a súa base de virus  | 
  Neste caso queremos arrancar unha iso dun antivirus que nos permita escanear o noso equipo. O antivirus escollido é AVG Rescue CD. Pode conectarse a Internet para actualizar a súa base de virus  | 
||
| Liña 538: | Liña 595: | ||
==Engadindo imaxes de disquetes==  | 
  ==Engadindo imaxes de disquetes==  | 
||
===Engadindo entrada para Freedos===  | 
  ===Engadindo entrada para <b>Freedos</b>===  | 
||
Freedos é un clónico libre de MS-DOS. Queremos ter a posibilidade de arracar Freedos remotamente, isto podería ser útil para actualizar a BIOS dun equipo vello que necesitase facelo a través dun disquete.  | 
  Freedos é un clónico libre de MS-DOS. Queremos ter a posibilidade de arracar Freedos remotamente, isto podería ser útil para actualizar a BIOS dun equipo vello que necesitase facelo a través dun disquete.  | 
||
Revisión actual feita o 12 de agosto de 2016 ás 20:27
Introducción
Un Servidor PXE (Preboot eXecution Environment), permite a un equipo cliente arrancar un SO a travé da rede. Isto pode ser útil nos seguintes casos:
- O equipo cliente non ten unidade de CD e queremos arrancar dende un CD-Live.
 - O equipo cliente non ten disco duro e queremos que colla o SO dende a rede
 - Ter diferentes utilidades, como memtest ou antivirus, preparadas para ser executadas sobre un equipo independentemente do que teña instalado.
 
Funcionamento
- No equipo cliente escollemos arrancar por PXE
 - O Cliente PXE busca un servidor DHCP na rede
 - Unha vez localizado, o servidor asignalle á máquina cliente unha IP, netmask, gw
 - Mediante o protocolo TFTP o servidor envía á máquina cliente o SO
 - O cliente co que lle manda o servidor é capaz de arrancar un minisistema na RAM.
 
Para instalar un Servidor PXE precisamos instalar:
- Servidor DHCP
 - Servidor TFTP
 
Nota: O servidor DHCP e o Servidor TFTP non teñen porque estar na mesma máquina
Proceso de arranque do Servidor PXE en Detalle
- O cliente envía por broadcast unha menaxe DHCPDISCOVER
 - O Servidor DHCP responde coa IP, next-server, filename
 - O Cliente solicita unha petición TFTP a next-server solicitando filename.
 - O Servidor TFTP responde e envía o filename o cliente.
 
Configuracións de Rede Iniciais
- Empregaremos Virtualbox para simular ambos equipos.
 
- O Servidor terá instalado un sistema Debian Jessie actualizado
 - O Servidor terá dúas tarxetas de rede, A configuración da rede do servidor será
 
| Conexión de Área Local 1 | Conexión de Área Local 2 | 
  | 
  
  | 
- A rede interna intnet, non proporciona DHCP.
 - Se arrancamos unha 2º MV conectada a intnet co SystemRescueCd e lle asignamos unha ip compatible
 
ifconfig enp0s3 172.20.4.1 netmask 255.255.0.0
- Veremos que ten rede co servidor
 
ping 172.20.4.100
Acceso dende o equipo real á Máquina Virtual con NAT
Empregamos VirtualBox para simular a nosa rede. A 1º tarxeta de rede do Servidor PXE está configurada por NAT, polo que non podemos comunicar o equipo real coa MV.
Para facelo podemos empregar redireccionamento de portos (port forwarding). Redireccionaremos o porto TCP/2222 da máquina real o porto TCP/22 (SSH) da máquina virtual.
| 
 Como deixamos host IP baleiro, calquera máquina que se conecte o porto 2222 da nosa máquina comunicarase coa MV  | 
Na máquina real comprobamos que temos o porto aberto
root@debianRojas:/home/rojas# netstat -nap | grep 2222 
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      9967/VirtualBox
Para que a configuración sexa efectiva é preciso apagar a máquina e o virtualbox. Logo reiniciamos a máquina.
Na nosa máquina temos que instalar un servidor ssh
apt-get install ssh
E permitir o acceso ssh do root
/etc/ssh/sshd_config 
PermitRootLogin yes
Conectámonos dende o equipo real
ssh -p 2222 root@127.0.0.1
Instalación do Servidor PXE
Instalamos un servidor dhcp
- Instalamos o paquete necesario
 
apt-get install isc-dhcp-server
- Modificamos os arquivos de configuración correspondentes
 
/etc/default/isc-dhcp-server
INTERFACES=”eth1”
/etc/dhcp/dhcpd.conf
###############################################################
# Comentamos as seguintes liñas para que non espere un timeout
###############################################################
#option domain-name "example.org"; 
#option domain-name-servers ns1.example.org, ns2.example.org;
###############################################################
# Descomentamos a seguinte liña
###############################################################
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;    
###############################################################
# Definimos un rango de direccións a asignar entre 10 e 20.
###############################################################
subnet 172.20.0.0 netmask 255.255.0.0 {
        range 172.20.2.10 172.20.2.20;
         
         ############################################
	 # Necesario para configurar o Servidor PXE
         ############################################
	 next-server 172.20.4.100;
	 filename “pxelinux.0”;
        }
- Iniciamos o Servicio DHCP
 
	
	/etc/init.d/isc-dhcp-server restart
- Arrancamos o cliente co SRCD e colle a IP 172.20.2.10
 
Instalando o servidor tftp
	
apt-get install tfptd-hpa
- O seu arquivo de configuración é
 
	
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
- Iniciamos o servidor
 
	
/etc/init.d/tftpd-hpa start
- Os directorio onde serviremos as imaxes de arranque é /srv/tfp
 - Descargamos a imaxe de instalación de Debian strecth 64 bits para arrancar pola rede
 
	
cd /srv/tftp
wget http://ftp.nl.debian.org/debian/dists/testing/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar xzf netboot.tar.gz
Nota: Nestes momentos hai un bug no netboot da rama testing, así que teremos que descargar a versión stable.
	
wget http://ftp.nl.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz
- Aparecen as seguines carpetas e arquivos
 
	
debian-installer  ldlinux.c32  pxelinux.0  pxelinux.cfg  version.info
- O seu significado é o seguinte:
- debian-installer: Contén o núcleo do sistema
 - pxelinux.0: É o cargador de arranque a través da rede, forma parte do proxecto syslinux
 - pxelinux.cfg/default: É o arquivo de configuración de pxelinux, onde lle indica que kernel arrancar. Posteriormente empregaremos este arquivo para crear menús.
 
 
Comprobamos
- Iniciamos a máquina cliente coa súa tarxeta configurada na rede interna e arrancamos
 
| 
 Como deixamos host IP baleiro, calquera máquina que se conecte o porto 2222 da nosa máquina comunicarase coa MV  | 
- Comeza o proceso de instalación de Debian correctamente
 - Problema: Non temos acceso a Internet.
 - Solución: Temos que facer que o servidor PXE enrute a eth1 a eth0 para que así a rede interna teña acceso a Internet.
 
Configurar Enrutamento no Servidor PXE
- En /etc/sysctl.conf descomentamos
 
net.ipv4.ip_forward=1
- Creamos un script coa nosa configuración personalizada
 
/etc/iptables-script.sh
#Configuración para enmascarar os paquetes recibidos da rede interna
iptables -t nat -A POSTROUTING -s 172.20.0.0/16 -o eth0 -j MASQUERADE
- Dámoslle permiso de execución
 
chmod +x /etc/iptables-script.sh
- Facemos que se execute o inicio
 
vi /etc/rc.local
#Cargamos a configuración de iptables
/etc/iptables-script.sh
- Modificamos a configuración do servidor DHCP
 
option domain-name-servers 8.8.8.8; # DNS
subnet 172.20.0.0 netmask 255.255.0.0 {
  range 172.20.2.10 172.20.2.20;
  option routers 172.20.4.100; #Porta de enlace (Ten que ser o servidor PXE)
 …..
}
Creando unha configuración Mulitidistro
Agora xa temos un servidor PXE funcional que nos permite arrancar por rede a instalación de Debian, pero queremos que nos apareza un menú que nos permitar arrancar a nosa máquina con varias imaxes a través da rede.
Reconfiguracion do instalador de Debian
Para elo imos a deixar o noso /srv/tftp como sigue:
- Creamos unha carpeta boot onde teremos unha carpeta por cada sistema arrancable.
 - Creamos dentro de boot a carpeta strecht64 (A nosa distribución debian). Movemos todo o contido da instalación de Debian a /srv/tftp/boot/stretch64.
 - Para poder arrancar pola rede, necesitamos algúns arquivos de inicio, que forman parte do paqute syslinux
- Poderíamos descargalos de aquí e descomprimir os que necesitásemos
 - En vez diso, imos a reempregar os que xa veñen coa instalación por rede do Debian que temos descargado.
 
 - Creamos unha carpeta para os arquivos necesarios para o arranque
 
mkdir /srv/tftp/libs
- Copiamos os seguintes arquivos
 
cp strecht64/debian-installer/amd64/pxelinux.0 /srv/tftp
cd strecht64/debian-installer/amd64/boot-screens/
cp libcom32.c32 /srv/tftp/libs
cp libutil.c32 /srv/tftp/libs
cp vesamenu.c32 /srv/tftp/libs
cp splash.png /srv/tftp/libs
cp ldlinux.c32 /srv/tftp
- Creamos un arquivo baleiro para o menú
 
touch pxelinux.cfg/default
- A estructura de arquivos quedaría como sigue
 
usuario@debian:/srv/tftp# tree 
.
├── boot
│   └── stretch64
│      └── debian-installer
│          └── amd64
│               │   ├── boot-screens
│               └── grub
├── libs
│   ├── libcom32.c32
│   ├── libutil.c32
│   ├── vesamenu.c32
│   └── splash.png
├── ldlinux.c32
├── pxelinux.0
└── pxelinux.cfg
    └── default
Editamos o arquivo pxelinux.cfg/default e creamos un menú para o noso debian
#Ruta onde se almacenan as librerias necesarias para o arranque
path ../libs
#Menu de arranque grafico
default libs/vesamenu.c32
prompt 0
timeout 300
#imaxe de fondo 640x480 pixels
MENU BACKGROUND libs/splash.png
MENU TITLE Benvido a PXE
LABEL Debian Stretch 64
    MENU LABEL Debian Stretch 64
      KERNEL boot/stretch64/debian-installer/amd64/linux
      APPEND initrd=boot/stretch64/debian-installer/amd64/initrd.gz
Pasándolle parámetros o instalador Debian
De este xeito xa non teremos que escoller o idioma de instalación
LABEL Debian Stretch 64
        MENU LABEL Debian Stretch 64
        KERNEL boot/stretch64/debian-installer/amd64/linux
        APPEND initrd=boot/stretch64/debian-installer/amd64/initrd.gz locale=gl_ES.UTF-8 keymap=es language=es country=ES supported-locales=es_ES.UTF-8
Engadindo o System Rescue CD
Queremos ter un menú multinivel coas seguintes opcións
- Instaladores
- Debian Stretch 64
 
 - Live-CD
- System Rescue CD
 
 
O SRCD non é tan sinxelo de configurar como a imaxe netboot de Debian. Nese caso, todo o que necesitaba para arrancar era o núcleo, pero o SRCD necesita durante o seu arranque acceder o arquivo sysrcd.dat. Por iso será necesario instalar un servidor NFS para compartilo na rede.
Instalación dun servidor NFS
- Instalamos o paquete necesario
 
apt-get install nfs-kernel-server
- No arquivo de configuración compartimos unha carpeta como só lectura
 
/etc/exports
/srv/nfs/srcd   172.20.0.0/255.255.0.0(ro,sync)
- Reiniciamos o servicio
 
/etc/init.d/ssh restart
Preparación dos arquivos do SRCD
- Primeiro creamos a carpeta onde se almacenará o arranque do SRCD.
 
mkdir /srv/tftp/boot/srcd
- Descargamos unha iso do SRCD e montámola na máquina virtual.
 
mount /dev/sr0 /media/cdrom
- Copiamos os arquivos necesarios para o arranque á carpeta /srv/tftp/boot/srcd
 
cp /media/cdrom/isolinux/initram.igz /srv/tftp/boot/srcd
cp /media/cdrom/isolinux/rescue* /srv/tftp/boot/srcd
- Copiamos o resto de arquivos necesarios a /srv/nfs/srcd
 
cp /media/cdrom/sysrcd.dat /srv/nfs/srcd
cp /media/cdrom/sysrcd.md5 /srv/nfs/srcd
Modificamos o arquivo de configuración
Modificamos o menú de arranque pxelinux.cfg/default
######################
# Opcións Xerais
######################
#Ruta onde se almacenan as librerias necesarias para o arranque
path ../libs
#Menu de arranque grafico
default libs/vesamenu.c32 
prompt 0
timeout 300
#imaxe de fondo 640x480 pixels
MENU BACKGROUND libs/splash.png.1
MENU COLOR HOTKEY      1;36;44    #fc0000 #00000000 
MENU TITLE Benvido a PXE
#####################
# Definición do menú
#####################
MENU BEGIN INSTALADORES
 MENU TITLE INSTALADORES
  LABEL Debian Stretch 64
 	MENU LABEL ^Debian Stretch 64
        KERNEL boot/stretch64/debian-installer/amd64/linux
	APPEND initrd=boot/stretch64/debian-installer/amd64/initrd.gz locale=gl_ES.UTF-8 keymap=es language=es country=ES supported-locales=es_ES.UTF-8
   	TEXT HELP
  		Instala Debian Stretch 64 bits.
   	ENDTEXT
   LABEL volver
 	MENU LABEL ^Volver
 	MENU EXIT
   
        TEXT HELP
  		Volta o menu principal.
   	ENDTEXT
MENU END
   
MENU BEGIN LIVE-CD
 MENU TITLE LIVE-CD
    LABEL SystemRescueCD
	 MENU LABEL ^System Rescue Cd 64
	 KERNEL boot/srcd/rescue64 setkmap=es
	 APPEND initrd=boot/srcd/initram.igz netboot=nfs://172.20.4.100:/srv/nfs/srcd
         TEXT HELP
		Inicia o System Rescue CD con idioma castelan.
         ENDTEXT
    LABEL volver
 	MENU LABEL ^Volver
 	MENU EXIT
        TEXT HELP
  		Volta o menu principal.
   	ENDTEXT
   MENU END
| 
 Menú Principal  | 
  
 Menú Live-CD  | 
Melloras visuais no arquivo de configuración
Introducimos as seguintes modificacións:
- Cambiamos a imaxe de fondo
 
MENU BACKGROUND libs/splash.png.1
Obtivémola de [aquí] , pero vale calquera imaxe 640x480
- Teclas aceleradoras:
 
 MENU COLOR HOTKEY      1;36;44    #fc0000 #00000000 
 MENU LABEL ^Debian Stretch 64
Definimos a cor vermella.O premer D xa se selecciona esta opción
- Mensaxe de axuda o seleccionar a opción
 
TEXT HELP
         Instala Debian Stretch 64 bits.
ENDTEXT
Personalizando o SRCD con scripts de arranque
Isto pode ser moi importante xa que nos pode permitir definir os nosos propios scripts de clonación e restauración.
LABEL SystemRescueCDAuto
        MENU LABEL ^System Rescue Cd 64 Automatico
        KERNEL boot/srcd/rescue64 setkmap=es
        APPEND initrd=boot/srcd/initram.igz netboot=nfs://172.20.0.100:/srv/nfs/srcd  ar_source=nfs://172.20.0.100:/srv/nfs/srcd ar_nowait
- ar_source: Indica a ruta do arquivo autorun
 - ar_nowait: Inidica que non espere
 
Hai que poñer un arquivo autorun en /srv/nfs/srcd Podemos definir alias en base a scripts que teñamos definidos no noso servidor
#!/bin/bash
dhclient eth0
mount -t nfs -o nolock gandalf:/NFS/images /mnt/backup
alias clonar=’/mnt/scripts/restaurarWindows.sh’
echo Funciona
exit 0
Engadindo unha contrasinal a unha opción de arrque
- Xeramos unha passwd encriptada con
 
# PASSWD Encriptada generada con
# openssl passwd -1 -salt sXiKzkus mypassword
- Engadimos a contrasinal o menú de arranque
 
LABEL SystemRescueCDAuto
        MENU LABEL ^System Rescue Cd 64 Automatico
        MENU PASSWD $1$sXiKzkus$XHG5rLQlceWdGB3gL0C8e.
        KERNEL boot/srcd/rescue64 setkmap=es
        APPEND initrd=boot/srcd/initram.igz netboot=nfs://172.20.0.100:/srv/nfs/srcd  ar_source=nfs://172.20.0.100:/srv/nfs/srcd ar_nowait
Engadindo ISO's de utilidades
Engadindo un identificador de Hardware (HDT Hardware Deteccion Tool)
- Imos a engadir unha categoría Utilidades o noso menú dende a que arrancaremos varias ferramentas en formato .iso.
 - HDT analiza o noso equipo e identifica o seu harware
 - Creamos a carpeta para almacenar a iso do HDT
 
mkdir -p /srv/tftp/iso/hdt
- Descargamos a iso
 
cd /srv/tftp/iso/hdt
wget http://hdt-project.org/raw-attachment/wiki/hdt-0.5.0/hdt-0.5.2.iso
- Engadimos as entradas correspondentes o noso menú
 
MENU BEGIN UTILIDADES
 MENU TITLE UTILIDADES
    LABEL Detector de Hardware
        MENU LABEL ^Detector de Hardware
        LINUX libs/memdisk
        INITRD iso/hdt/hdt-0.5.2.iso
        APPEND iso
        TEXT HELP
                Información sobre o hardware do Sistema.
        ENDTEXT
    LABEL volver
        MENU LABEL ^Volver
        MENU EXIT
        TEXT HELP
                Volta o menu principal.
        ENDTEXT
   MENU END
Engadindo un Antivirus (AVG)
Neste caso queremos arrancar unha iso dun antivirus que nos permita escanear o noso equipo. O antivirus escollido é AVG Rescue CD. Pode conectarse a Internet para actualizar a súa base de virus
- Creamos a carpeta para almacenar a iso do AVG
 
mkdir /srv/tftp/iso/avg
- Descargamos a iso
 
cd /srv/tftp/iso/avg
wget http://download.avg.com/filedir/inst/avg_arl_cdi_all_120_150814a10442.iso
- Renomeamos a avg.iso
 - Engadimos as entradas correspondentes o noso menú
 
 LABEL AVG
        MENU LABEL ^Antivirus AVG
        LINUX libs/memdisk
        INITRD boot/avg/avg.iso
        APPEND iso
        TEXT HELP
                Escanea o Sistema en procura de Virus.
        ENDTEXT
Nota: Para que a iso arranque, o equipo cliente necesita un mínimo de 1,5 GiB de RAM
Engadindo imaxes de disquetes
Engadindo entrada para Freedos
Freedos é un clónico libre de MS-DOS. Queremos ter a posibilidade de arracar Freedos remotamente, isto podería ser útil para actualizar a BIOS dun equipo vello que necesitase facelo a través dun disquete.
- Creamos a carpeta onde almacenaremos a imaxe
 
mkdir /srv/tftp/boot/freedos
- Descargamos a imaxe
 
cd /srv/tftp/boot/freedos
wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img
- Necesitamos un compoñente de syslinux chamado memdisk que permítenos crear discos na RAM. Así que descargamos o paquete syslinux, descomprimímolo e copiamos só o necesario.
 
cd /tmp
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip
unzip syslinux-6.03.zip 
cp bios/memdisk/memdisk /srv/tftp/libs
- Engadimos a opción para o arranque no menú na categoría LIVE-CD
 
vi /srv/tftp/pxelinux.cfg/default
		LABEL Freedos
		MENU LABEL ^Freedos
		KERNEL libs/memdisk
		APPEND initrd=boot/freedos/fdboot.img
	      TEXT HELP
 	  		Inicia o S.O. FreeDos
   	ENDTEXT
- Se quixésemos modificar a imaxe de Freedos para engadirlle os arquivos necesarios para flashear a bios:
 
Montamos a imaxe do disco
mount -o loop fdboot.IMG /mnt
- Copiamos na carpeta /mnt os arquivos necesarios
 - Desmontamos e listo
 




