Pendrive GNU/Linux (III). Multiboot

Llegamos a la tercera parte de este tutorial, y cada vez hacemos mayores locuras.

Lo que plantearemos hoy será la creación de un pendrive con varias distribuciones GNU/Linux. Este pendrive nos permitirá seleccionar, al inicio, cual de ellas queremos cargar.

De esta forma, las posibilidades serán ilimitadas: podremos crear un pendrive muy útil en nuestro trabajo diario, incluyendo soluciones de seguridad, antivirus, mantenimiento, distros de usuario estándar…

ouch!

Como aviso, tomároslo con calma, porque es algo bastante fácil… pero podemos llegar a complicarlo mucho. Yo he pasado horas con esto hasta que la Navaja de Ockham me ha dado la solución.

“La navaja de Ockham es un principio filosófico atribuido a Guillermo de Ockham (1280-1349), según el cual, cuando dos teorías en igualdad de condiciones tienen las mismas consecuencias, la teoría más simple tiene más probabilidades de ser correcta que la compleja.”


Ante esto, os aconsejo que sigais los tutoriales anteriores, para aseguraros de que el ordenador donde vayais a ejecutar el pendrive no de problemas con el arranque de estos.

Hay varias formas de crear este pendrive:mediante syslinux, programas, etc… yo me voy a basar en el script que usó jmanuelcool, con el que más he aprendido a jugar con los pendrives GNU/Linux.

El Script es este, yo voy a ir indicándoos los pasos para que entendais lo que hay dentro, y por si la ejecución del script os diera problemas, los arreglaremos en una próxima entrada sobre shell-scripting.

Para la creación de este pendrive usaremos GRUB2, ya que nos da la posibilidad de cargar imágenes de CD/DVD, simplificando el multiboot.Tendreis que tener este cargador instalado en vuestra distribución.

1. Formateamos el pendrive. Recordad que debe estar en FAT para dar los menores problemas con los equipos. Podeis hacerlo con gparted o lo que os apetezca.

# mkfs.vfat -n '/dev/sdb1'

2. Montamos el dispositivo: lo extraeis y lo volveis a conectar, lo montais mediante GUI o con mount (para montar con mount acordaros de tener una carpeta en /mnt donde cargarlo, si no la teneis la creais. P.ej: ‘#mkdir /mnt/multiboot’).

# mount /dev/sdb1 /mnt/multiboot

3. Instalamos GRUB2 en el pendrive:

$grub-install --no-floppy --root-directory=/mnt/multiboot /dev/sdb

4. Creamos el archivo de configuración de GRUB2 en /mnt/multiboot/boot/grub:

$gedit /mnt/multiboot/boot/grub/grub.cfg

y en él copiamos el grub del autor del script, por ejemplo, modificando luego lo que nos interese en función de nuestras isos.

menuentry "Ubuntu Live 9.10 32bit" {
 loopback loop /boot/iso/ubuntu-9.10-desktop-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-9.10-desktop-i386.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
 }
menuentry "Ubuntu Live 9.10 64bit" {
 loopback loop /boot/iso/ubuntu-9.10-desktop-amd64.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-9.10-desktop-amd64.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
 }
menuentry "debian-installer-amd64.iso" {
 loopback loop /boot/iso/debian-installer-amd64.iso
 linux (loop)/linux vga=normal --
 initrd (loop)/initrd.gz
 }
menuentry "BackTrack 4" {
 linux /boot/bt4/boot/vmlinuz BOOT=casper boot=casper nopersistent rw vga=0x317 --
 initrd /boot/bt4/boot/initrd.gz
 }
menuentry "Memory test (memtest86+)" {
 linux /boot/img/memtest86+.bin
 }

5. Por último, copiamos las isos que nos interesen a una carpeta que crearemos en /boot (o donde queramos. Porque asignaremos esa u otra dirección en la entrada loopback de grub.cfg.

Yo, para no complicarme, la he creado en /boot.

$mkdir /mnt/multiboot/boot/iso

6. Una vez elegidas nuestras isos y copiadas a esa carpeta, modificamos las entradas del ‘grub.cfg’ referentes a cada uno de los sistemas deseados. Por ejemplo, si he insertado ‘ubuntu.iso’ en la carpeta /boot/iso:

menuentry "Ubuntu" {
 loopback loop /boot/iso/ubuntu.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
 }

Atención a las líneas 3 y 4, porque se refieren a /casper, que es una argucia de ciertas distros para incluir la imagen del kernel. Aseguraos de que existen /casper/vmlinuz y /casper/initrd.lz (por ejemplo) dentro de la iso que elegisteis y cambiad la dirección en grub.cfg si es otra.

Fijaros que en el script varían estos puntos según la distro usada por esa entrada. Ahora, la tarea de personalizar este grub.cfg puede llegar a ser muy, muy laboriosa e iterativa en función de las distros seleccionadas. Si usais variaciones de Ubuntu no tendreis problemas para crear el multiboot siguiento el ejemplo de entrada en grub.cfg del párrafo anterior.

Para el próximo y último tutorial sobre pendrives, voy a intentar tener estas distribuciones en mi Kingston de 4GB

  • Knoppix 6.2 para el uso normal de cualquier equipo (knopix.iso). [isolinux.cfg]
  • Backtrack 4 RC2 para todo lo relacionado con la seguridad (bt4.iso). [menu.lst]
  • R4 Linux para pruebas de red en “modo vago” (r4.iso). Para hacerlo funcionar, he realizado algo similar a lo que tendríamos que hacer con Molinux.
  • Hiren’s Boot CD 12 para mantenimiento y recuperación de datos (hirens.iso).[ isolinux.cfg ]
  • Molinux Zero 1.0 para equipos de bajos recursos (molinux.iso). Lo descartamos para usar TinyLinux, que pesa 10 megas, ya que las variantes de Puppy Linux no se pueden usar desde iso. (Os dejo el enlace por si quereis saber como hacerlas funcionar).

Y listo! desconectad con seguridad y a jugar!

P.D: Una vez acabe la cuarta entrada del tutorial, lo colgaré en PDF para que podais almacenarlo. ¿o preferís un formato libre? x_D

Acerca de Gaius Baltar
Aficionado a la tecnología informática desde que un MSX pasó por casa y apasionado defensor del Software Libre como religión para unir a los pueblos. Es Gaius Baltar al fin y al cabo, y tiene derecho a equivocarse. Cuando se aburre, redacta y gestiona los contenidos en diversos blogs subculturales.

One Response to Pendrive GNU/Linux (III). Multiboot

  1. Pingback: Pendrive GNU/Linux (IV): Mi grub.cfg | El chalé de Gaius Baltar

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: