Cómo configurar discos de utilidad de arranque en red usando PXE
Te hemos mostrado cómo arrancar en red el Ubuntu LiveCD. En este artículo, le mostraremos cómo hacer que otras utilidades de red puedan iniciarse, lo que le dará el conocimiento para replicar el procedimiento para otras utilidades que pueda estar usando.
Nota: Este artículo no está pensado para principiantes, aunque puedes seguir leyendo.!
Imagen de Steve Jurvetson.
Visión general
Esta guía tiene como objetivo proporcionarle las herramientas con las que podrá convertir utilidades para que sean PXEable. Aunque, desafortunadamente, no será posible convertir ninguna herramienta bajo el sol, no seríamos geeks si al menos no lo intentáramos.
Como se mencionó en la guía "Cómo arrancar en red (PXE) El LiveCD de Ubuntu”, si aún no está utilizando Ubuntu como su número uno, diríjase a la herramienta de solución de problemas, diagnóstico y procedimientos de rescate, ¿qué está esperando??
Dicho esto, hay que reconocer que hay cosas que simplemente no se pueden hacer dentro del LiveCD de Ubuntu (como las actualizaciones de BIOS), o que ya está utilizando una herramienta diferente que le gusta y prefiere seguir usando por cualquier motivo..
Recomendaciones, suposiciones y requisitos previos
- Se supone que ya ha configurado el servidor FOG como se explica en nuestra guía “¿Qué es el arranque en red (PXE) y cómo puede usarlo?”.
- Verá el programa "VIM" utilizado como editor, esto se debe principalmente a que está ampliamente disponible en plataformas Linux. Puedes usar cualquier otro editor que quieras.
- El Ultimate Boot CD (UBCD) se usa como ejemplo, ya que, a diferencia de otras colecciones de utilidades, se puede descargar de forma gratuita y los programas que contiene son gratuitos..
¿Por qué no usar ISO sobre PXE??
Esta es a menudo la primera pregunta que se hace cuando se habla de PXEing. La respuesta corta es que si bien técnicamente es posible tomar una imagen ISO y enviarla por PXE a las máquinas cliente, casi siempre el contenido de dicha ISO, esperará tener la manifestación física de sí misma accesible en la unidad de CDROM física. Por lo tanto, cualquiera que sea el contenido de dicho ISO, intentará buscar los archivos "post-boot-sector" en la unidad de CDROM física de la máquina cliente, no los encontrará y fallar arrancar.
Las dos formas de superar este problema son:
- Grabe la ISO y colóquela en la unidad de CD-ROM de la máquina cliente - Aunque es simple, No Usando CDs, es exactamente lo que estamos tratando de evitar ...
- Abra el ISO y cambie la forma en que el programa funciona dentro de él, de modo que use un CDROM conductor que sabe cómo buscar el ISO en la RAM: bastante complejo y diferente para cada tipo de programa de arranque. ES DECIR. No es el mismo procedimiento para Linux, WinPE o UBCD, por mencionar algunos.
Dado que ambos de los anteriores derrotan el objetivo de "solo usar una ISO", es por esto que no recomendamos continuar con este esfuerzo..
El método Kernel
Aunque es muy raro, a veces el programa que está intentando arrancar puede que solo necesite un Kernel para funcionar. Un ejemplo típico de esto es "memtest86 +". Memtest viene con la mayoría de los CD de instalación de distribuciones de Linux y con FOG. Como Memtest solo necesita poder comunicarse con las capacidades más básicas del hardware probado, I.E. La memoria (RAM), y puede funcionar bien sin siquiera ser totalmente compatible con el hardware en el que se está ejecutando (es decir, probará la memoria, incluso si no sabe su tipo, velocidad, etc.) no tiene necesidad de nada. otra cosa y puede trabajar de forma completamente autónoma.
La entrada del menú PXE para memtest puede parecer tan simple como:
ETIQUETA Ejecutar Memtest86+
kernel fog / memtest / memtest
adjuntar -
En este ejemplo, el "LABEL Run Memtest86 +" establece el nombre de la entrada, el "kernel fog / memtest / memtest" le dice a PXElinux dónde debe llevar el kernel que se enviará al cliente y "append -" le dice a PXElinux que ignore opciones de arranque adicionales de * herencia.
* Nota: dependiendo de su configuración, esto puede no ser necesario y, de hecho, en FOG no se usa.
El método Kernel + Initrd
Este método es, con mucho, el más usado y ampliamente difundido por un par de razones:
- Muchas utilidades hoy en día provienen del mundo Linux.
- Debido a que Linux tiene un gran soporte de hardware y es de uso gratuito, cada vez más compañías se dan cuenta de que Linux es una base excelente para construir sus programas propietarios en.
Vamos a usar la utilidad CPUstress de UBCD como ejemplo.
En la estructura de archivos UBCD, esta utilidad se encuentra en el directorio "ubcd / boot / cpustress". Los archivos que estamos buscando, se llaman "bzImage", que es el "kernel", y "initrd.gz", que es el "disco ram inicial". Si está utilizando la configuración de FOG que creamos, le recomendamos que copie el directorio en "/ tftpboot / howtogeek / utils". Una vez hecho esto, edite el archivo "/tftpboot/howtogeek/menus/utils.cfg" y añada la entrada de inicio que se encuentra en las entradas de menú del UBCD. Esto se puede encontrar en "ubcd / menus / syslinux / cpu.cfg". Con los ajustes para la configuración de FOG, la entrada del menú debería verse como:
MENÚ ETIQUETA StressCPU V2.0 (requiere CPU con SSE)
AYUDA DE TEXTO
Haga una prueba de tortura de su CPU para asegurarse de que no tenga sobrecalentamiento
problemas. Requiere CPU x86 equipadas con SSE. Ejecuta una versión especial del
Bucles internos de Gromacs que mezclan SSE e instrucciones de ensamblaje normales para calentar
tu CPU tanto como sea posible.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
Dónde :
- MENU ETIQUETA - establece el nombre de la entrada
- AYUDA DE TEXTO: esta directiva opcional proporciona un texto de ayuda que se mostrará en el menú para proporcionar información sobre la entrada seleccionada.
- KERNEL - Especifica la ubicación del archivo "kernel" en el directorio TFTPD.
- INITRD: igual que el anterior solo para el archivo "initrd".
- APÉNDICE: especifica parámetros adicionales que deben pasarse al programa de arranque.
Un par de cosas a tener en cuenta son:
- Los frikis incondicionales notarán que reemplazamos la directiva original de "LINUX" con "KERNEL". Esto se debe a que: A. esto hace que el ejemplo sea más fácil de leer. B. En este ejemplo, realmente no importa.
Dicho esto, generalmente cuando se usa la directiva "LINUX", es mejor dejarlo así porque le dice a pxelinux / syslinux que no estamos usando solo un kernel, sino uno Linux.. - Hemos eliminado deliberadamente la directiva "silenciosa" de los parámetros adjuntos. Esto se debe a un cambio en la forma en que Syslinux maneja el parámetro "silencioso" en versiones recientes.
- Es posible cambiar el funcionamiento del programa "StressCPU", simplemente cambiando el parámetro adjunto "ubcdcmd". Entonces, para usar las otras funciones, solo se necesita copiar la entrada y reemplazar "stresscpu2" para ser: cpuinfo, cpuburn o mprime24.
Si bien este es un ejemplo muy simple, debería ser suficiente para que te muevas..
El método Kernel + Initrd + NFS
Este método es el que usamos en la guía “Cómo iniciar la red (PXE) El LiveCD de Ubuntu”. Este método se basa en el anterior y utiliza el hecho de que algunas distribuciones de Linux admiten tener su "sistema de archivos raíz" montado desde NFS. La guía de Ubuntu es un excelente ejemplo, pero tenga la seguridad de que ya tenemos otro planeado para el futuro cercano. "Mantén tus ojos abiertos para un hongo negro".
El método MEMDISK
MEMDISK es una utilidad que se distribuye con el paquete Syslinux. El propósito de esta utilidad es permitirle emular un "disco" (principalmente en relación con los disquetes) usando su imagen. La forma en que funciona esta utilidad, es conectarla a la ubicación en la RAM que especifica cómo comunicarse con la unidad de disquete (controlador de interrupción A.K.A.) y lo dirige a una nueva ubicación que maneja el programa MEMDISK. Con este método, el "kernel" es la utilidad MEMDISK y el "initrd" es el archivo de imagen de disquete (.img).
Lo que hay que tener en cuenta es que FOG viene con una versión "memdisk" que es compatible con la versión pxelinux.0 que utiliza. Por lo tanto, se recomienda no copiar el archivo "memdisk" que acompaña al archivo "img" de su fuente.
Como este método ya se utiliza ampliamente, incluso para las utilidades normales y los BootCD, la mayoría de las veces se trata de encontrar el archivo “IMG” en el BootCD, copiarlo al directorio TFTPD del servidor de PXE y copiar la entrada del menú ISOlinux en el menú de PXElinux.
Dicen que "hablar es barato", así que echemos un vistazo a cómo podemos adaptar una de las utilidades que utilizan el método MEMDISK de UBCD, para trabajar desde PXE..
La utilidad TestMemIV, se puede encontrar en la estructura de archivos UBCD en "ubcd / images / testmem4.img.gz". Como ya tenemos la utilidad de disco memdisk, solo se necesita copiar el archivo "img" en el directorio "howtogeek / utils /". Con los ajustes para la configuración de FOG, la entrada del menú debería verse como:
MENU LABEL TestMemIV
AYUDA DE TEXTO
Prueba la memoria del sistema y la memoria en tarjetas de video Nvidia..
ENDTEXT
Memdisk de LINUX
INITRD howtogeek / utils / testmem4.img.gz
Si bien este es un ejemplo de un archivo de imagen de disquete autónomo de UBCD, la mayoría de los otros programas de UBCD, usan la misma imagen base para comenzar a trabajar (fdubcd.img.gz) y usan el parámetro adjunto "ubcdcmd" para iniciar automáticamente un programa desde el CDROM después del arranque. Esto significa que no podrá convertir la mayoría de sus utilidades para que puedan iniciarse en la red sin una ingeniería inversa importante. Si bien tal ingeniería inversa es posible (como se puede ver aquí) y es un excelente ejercicio geek, está fuera del alcance de esta guía..
Con lo dicho anteriormente, ahora tiene las herramientas para realizar este procedimiento para esa utilidad de actualización de BIOS o diagnóstico esotérico de OEM.
Y así, bloqueado más allá de la Puerta de la Sangre y pasado el Salón de Fuego, Valor espera que el Héroe de la Luz despierte ...