lunes, 6 de julio de 2009

PXE de imágenes de Windows usando Linux

PXE de imágenes de Windows usando Linux
(fuente)
Esta mini aplicación de Linux contiene herramientas como partimage, ntfsresize y fdisk y está basada en torno a la fantástica busybox.
Le permite bootear PXE en un PC dentro de un cliente Linux el cual puede crear una partición NTFS, grabar una imagen del disco de Windows desde la red, escribirlo a un disco local y luego readecuar el tamaño de las particiones. El código NTFS utilizado se considera experimental, por lo que no se dan garantías, pero nunca me ha fallado. Esto es lo que usted necesita para que funcione:
• Un servidor DHCP
• Un servidor TFTP con la imagen de arranque pxelinux
• Un servidor Partimaged (con una imagen de windows almacenada en él)
• Un PC con arranque PXE (PC's más modernos)

Primer paso es configurar el DHCP y servidor TFTP para lograr que el cliente de PXE trabaje. Siga las guías en http://syslinux.zytor.com/pxe.php.
Lo principal es tener una entrada en la configuración de dhcpd, con estas directrices:
next-server TFTP_SERVER_IP_ADDRESS
filename "/ pxelinux.0"
Ahora grabar los archivos: WIUL kernel, RAMdisk y boot.msg. Colocarlos en la raíz del servidor TFTP (/tftpboot).
Hay que editar los parámetros de booteo pasados al núcleo, tal como se define en el archivo 'default' situado en /tftpboot/pxelinux.cfg/default. Probar algo como esto:
default 1
prompt 1
timeout 600
display boot.msg
F1 boot.msg

label 1
kernel wiul-kernel-2.4.31
append initrd=wiul.img.gz rw root=/dev/ram ramdisk_size=65536 vga=1

En esta nueva versión de WIUL el cliente tftp tratar de obtener una imagen de la lista cuando esté booteando. El archivo que va a tratar de obtener es llamado: image.lst
Este debe estar localizado en la raíz del servidor tftp y actualizarse con la lista de imágenes que se dispone. Anotados de a uno por línea. Los comentarios son permitidos y deben comenzar con un #.
Así el servidor tftp debería tener una estructura como esta:
/tftpboot/boot.msg
/tftpboot/image.lst
/tftpboot/pxelinux.0
/tftpboot/wiul-kernel-2.4.31
/tftpboot/wiul.img.gz
/tftpboot/pxelinux.cfg/default

Ahora bien, si todas estas cosas se han configurado correctamente, debería ser capaz de bootear PXE en el cliente de Linux.
Cómo es la imagen de un cliente: hay algunos pasos que tenemos que hacer para tomar para la imagen del cliente.
Hay dos usuarios en WIUL: 1) cliente root y 2) wiul.
Si se registra utilizando:
username: wiul
password: wiul
Se le presentará el menú principal WIUL.
La contraseña de root está configurada para partimage y logeandose en el sistema como root lo llevará a una consola de comandos (shell prompt).


Bienvenido a WIUL

Si has configurado todo correctamente entonces tu cliente debería bootear PXE y presentarles un inicio de sesión. Hay dos usuarios del sistema: wiul y root. La contraseña de root está configurado para partimage y una vez que tú te logees se presentará un terminal de consola (BASH shell prompt). Hay dos ttys disponible
y al hacer click con las teclas CTRL + ALT + F1|F2 debería cambiar entre ellos.

Si se registra como wiul utilizando la contraseña wiul será llevado al menú principal que permite iniciar el proceso de imagen que hará lo siguiente:

1.) Para eliminar o restaurar el mbr ejecute lo siguiente:

/usr/local/sbin/delete_mbr
/usr/local/sbin/restore_mbr

-después, es buena idea re-iniciar el sistema en este punto. 

2.) Iniciar La imagen ejecutando lo siguiente después de haber recolectado las entradas de los usuarios:

/usr/local/sbin/wiul-custom/make_ntfs
/usr/local/sbin/wiul-custom/get_image
/usr/local/sbin/wiul-custom/remove_part
/usr/local/sbin/wiul-custom/create_part
/usr/local/sbin/wiul-custom/ntfs_resize
reboot

Scrpits /usr/local/sbin/delete_mbr and /usr/local/sbin/restore_mbr scrub el MBR del disco local y luego reemplacelo con un MBR guardado. Este MBR, tiene una pequeña partición NTFS (11GB) en el comienzo del disco. Esta debería ser espacio suficiente para poner nuestra imagen de Windows, si no necesitas modificar la ramdisk para incluir un MBR que se ajuste a sus necesidades.

Después de restaurar el MBR guardado, lo mejor es reiniciar la máquina y bootear de nuevo el cliente de PXE, esto parece acelerar la próxima etapa considerablemente.

Seleccionando la opción 'imagen de inicio' desde el menú principal siga una vez que haya enterado en todas las opciones:

/usr/local/sbin/wiul-custom/make_ntfs
-para formatear la partición con NTFS. Es posible que este paso pueda ser omitido.

Luego, utilizando el script /usr/local/sbin/wiul-custom/get_image
La imagen de Windows es recuperada, colocada dentro de la partición NTFS.

Cuando esto esté completo, necesitamos cambiar el tamaño de la partición a algo un poco más pequeño utilizando los scripts:
/usr/local/sbin/wiul-custom/remove_part /usr/local/sbin/wiul-custom/create_part y /usr/local/sbin/wiul-custom/ntfs_resize _resize
Lo cual ajustará la tabla de particiones y cambiará el tamaño del sistema de archivos.

Finalmente reiniciar

Usted debe poner una lista de imágenes en su servidor Partimaged en un archivo llamado image.lst en el root del servidor tftp y crear un DNS CNAME llamado pxeboot para apuntar al servidor tftp. La imagen con secuencia de comandos del menú usará esta lista para ayudar al usuario final a decidir qué imagen utilizará. Imágenes que en el archivo deben estar en líneas separadas. Los comentarios deben comenzar con un #

No hay comentarios:

Publicar un comentario