Inicio > General > Arranque de Debian por red (Debian diskless)

Arranque de Debian por red (Debian diskless)

En esta entrada, voy a explicar como arrancar un equipo sin necesidad de tener instalado un sistema operativo.
Hace referencia a una entrada anterior, ya que utiliza PXE para poder arrancar el sistema por red.

DHCP
—————–

El primer paso, es la instalación de servidor DHCP igual que hicimos anteriormente para la instalación de Debian por PXE.

https://dtrinf.wordpress.com/2012/06/19/instalacion-de-un-servidor-pxe-en-debian-6/

TFTP Server
—————–

El siguiente paso, es hacer la instalación del servidor TFTP para servir el fichero de arranque del equipo

apt-get -y install syslinux tftpd-hpa

# Copy files for pxe boot
cp -r /usr/lib/syslinux/pxelinux.0 /srv/tftp
cp -r /usr/lib/syslinux/menu.c32 /srv/tftp
# create configuration folder
mkdir /srv/tftp/pxelinux.cfg

Instalación debian
———————–

Instalamos debootstrap, y hacemos la instalación del S.O. en local, para poder cargarla posteriormente por red.

aptitude install debootstrap

mkdir -p /exports/debian
debootstrap --arch i386 squeeze /exports/debian http://ftp.es.debian.org/debian/

Instalamos el kernel del sistema.

chroot /exports/debian
mount -t proc proc /proc
aptitude install linux-image-686 libc6-i686
exit

Editamos el fichero del menú de PXE para que arranque con el sistema que hemos creado, o del disco duro local en caso de tener un sistema operativo previo instalado.

vi /srv/tftp/pxelinux.cfg/default
DEFAULT menu.c32

PROMPT 0
TIMEOUT 50 
NOESCAPE 1
ALLOWOPTIONS 0

MENU TITLE PXE Network Boot Menu

LABEL Debian i386
    MENU LABEL Debian GNU/Linux, with Linux 2.6.32-5-i386
    KERNEL diskless/vmlinuz
    APPEND root=/dev/nfs quiet panic=0 initrd=diskless/initrd.img nfsroot=192.168.223.201:/exports/debian ip=dhcp rw

LABEL local
    MENU LABEL Boot Local Hard Drive
    LOCALBOOT 0

Creamos los ficheros de kernel para que el sistema pueda arrancar por red.

cd /srv/tftp
mkdir diskless
cd diskless
cp /exports/debian/boot/vmlinuz-* vmlinuz


chroot /exports/debian
vi /etc/initramfs-tools/initramfs.conf
BOOT=nfs
MODULES=netboot
mkinitramfs -o /root/initrd.img
exit

cp /exports/debian/root/initrd.img initrd.img

Instalamos el servicio NFS para exportar el sistema por red y que se pueda cargar en los clientes

aptitude install nfs-kernel-server nfs-client

vi /etc/exports

#------------
/exports/debian        *(rw,no_root_squash,no_subtree_check)
#------------


exportfs -a

showmount -e

Ponemos un password al usuario root

chroot /exports/debian
passwd root
exit

Crear ficheros de dispositivos

aptitude install makedev
cd /exports/debian/dev
MAKEDEV generic

Editamos el fichero de montaje de particiones

vi /exports/debian/etc/fstab

#--------------------
proc            /proc         proc    defaults 0 0
/dev/nfs        /             nfs     defaults 0 0
none            /tmp          tmpfs   defaults 0 0
#none            /var/run      tmpfs   defaults 0 0
#none            /var/lock     tmpfs   defaults 0 0
none            /var/tmp      tmpfs   defaults 0 0
none            /media        tmpfs   defaults 0 0
none            /var/log      tmpfs   defaults 0 0
192.168.223.201:/exports/debian         /prueba      nfs     rw,hard,intr,auto       0 0
#--------------------

Configuramos la tarjeta de red

vi /exports/debian/etc/network/interfaces

auto lo
iface lo inet loopback
iface eth0 inet dhcp

Configuramos apt con más repositorios

vi /exports/debian/etc/apt/sources.list

#--------------------
deb http://ftp.es.debian.org/debian/ squeeze main
deb-src http://ftp.es.debian.org/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ squeeze-updates main
deb-src http://ftp.es.debian.org/debian/ squeeze-updates main
#--------------------

Antes de hacer cualquier instalación o actualización, es recomendable montar el sistema de ficheros /proc

chroot /exports/debian
mount -t proc proc /proc

– Si ejecuta la orden ls /proc debería ver que el directorio no está vacío. Si esto falla, puede intentar montar “proc” fuera del entorno chroot:

mount -t proc proc /mnt/debinst/proc

– Ahora podemos hacer la actualización del sistema

aptitude update
exit

– Configurar la localización y el teclado

#Localización
chroot /exports/debian
aptitude install locales
dpkg-reconfigure locales
#Teclado
aptitude install console-data
dpkg-reconfigure console-data
exit

Configuramos la zona horaria del sistema

echo "Europe/Madrid" > /exports/debian/etc/timezone
cp /exports/debian/usr/share/zoneinfo/Europe/Madrid /exports/debian/etc/localtime
chroot /exports/debian
dpkg-reconfigure -u tzdata
exit

Hacemos un backup de la instalación

cp -rp /exports/debian /exports/debian.BKP_OK

Ahora instalamos los paquetes con prioridad estandar del sistema

chroot /exports/debian
tasksel install standard
exit

También podemos eliminar exim ya que no lo vamos a utilizar

Por último, limpiamos los paquetes descargados

aptitude clean

Actualizamos el sistema, e instalamos algunas dependencias

chroot /exports/debian
apt-get update
apt-get -y install ifupdown locales libui-dialog-perl \
    dialog isc-dhcp-client netbase net-tools iproute vim \
    apt-utils
exit

Configuramos la zona horaria del sistema

echo "Europe/Madrid" > /exports/debian/etc/timezone
cp /exports/debian/usr/share/zoneinfo/Europe/Madrid /exports/debian/etc/localtime

Configuramos el idioma

echo "es_ES.UTF-8" >> /exports/debian/etc/environment

Configuramos locale

chroot /exports/debian
echo "es_ES.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen es_ES.UTF-8
update-locale LANG=es_ES.UTF-8
dpkg-reconfigure -u tzdata
dpkg-reconfigure locales #escogemos "es_ES.UTF-8 UTF-8"
exit

Configuramos el teclado

chroot /exports/debian
aptitude install console-data
dpkg-reconfigure console-data
exit
Categorías:General Etiquetas: , , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: