Crear un CD-ROM arrancable de GRUB con floppies de herramientas | Algo de Linux

martes, 20 de diciembre de 2011

Crear un CD-ROM arrancable de GRUB con floppies de herramientas

A veces necesitamos un CD de arranque para reparar GRUB. Bien, pues esto es algo muy sencillo de hacer si tenemos instalado GRUB2 en nuestra máquina.

Para crear una iso de arranque en Debian Lenny, simplemente ejecutamos:

$ grub-mkrescue nombredearchivo.iso

Si en lugar de Lenny tenemos Squeeze:

$ grub-mkrescue -o nombredearchivo.iso

Y ya está. Con ésto crearemos una imagen iso que podemos quemar en un CD para rescatar grub en caso de fallo.

Para probar que funciona, podemos usar qemu:

$ qemu -cdrom nombredearchivo.iso

Ahora imaginemos que necesitamos actualizar la bios de un equipo antiguo, y que la única forma de actualización de la bios de este equipo es mediante disquete. Podemos crear una imagen del disquete de actualización de la bios en un archivo (por ejemplo: flashbiosnec.img) y añadirlo a la iso del CD-ROM que acabamos de crear.

Veamos cómo añadir imágenes de floppies a nuestra iso:

Primero.- Creamos un directorio de trabajo en nuestro home:

$ mkdir -p iso/boot/grub

Segundo.- Vamos a usar memdisk para cargar las imágenes de floppy. Por tanto, tendremos que copiar memdisk al directorio iso/ de nuestro home. Memdisk forma parte de syslinux, así que, si no tenemos instalado syslinux, primero lo instalamos:

$ apt-get install syslinux

Y luego copiamos memdisk al directorio iso/:

$ cp /usr/lib/syslinux/memdisk iso/

Tercero.- Copiamos nuestra imagen de floppy (flashbiosnec.img) al directorio iso/:

$ cp flashbiosnec.img iso/

Y creamos un fichero grub.cfg en iso/boot/grub/:

$ nano iso/boot/grub/grub.cfg

Con el siguiente contenido:

set menu_color_normal=green/black
set menu_color_highlight=red/white

menuentry "Actualizar BIOS NEC PowerMate VL4" {
linux /memdisk
initrd /flashbiosnec.img
}

  • La entrada set menu_color_normal=green/black define el color de texto y fondo de la entrada.
  • La entrada set menu_color_highlight=red/white define el color de texto y fondo cuando la entrada se encuentra seleccionadada.
La opción de menú que permite arrancar la imagen de floppy es:

menuentry "Actualizar BIOS NEC PowerMate VL4" {
  linux /memdisk
  initrd /flashbiosnec.img
}


donde:


menuentry "Actualizar BIOS NEC PowerMate VL4" {
}


Define la entrada con el texto que se va a mostrar en el menú.

Y las líneas:


linux /memdisk
initrd /flashbiosnec.img


Hacen que se cargue la imagen del floppy flashbiosnec.img mediante memdisk.

Una vez hecho ésto, añadimos todo lo que hay en iso/ a la imagen nombredearchivo.iso:

Si estamos usando Debian Lenny:

$ grub-mkrescue --overlay= iso/ nombredearchivo.iso

Y si estamos usando Squeeze:

$ grub-mkrescue -o nombredearchivo.iso iso/

Del mismo modo, podemos añadir más floppies.

1 comentario:

driven dijo...

Excelente entrada.
Muchas gracias.