Construir una Imagen ISO Boteable con Grub2dos

Hola amigos, aquí les dejo la explicación como dice el titulo: Construir una imagen iso boteable con grub2dos.

Esto en un principio lo use para construir liveCD's con diferentes distribuciones de Linux y a veces hasta le incluía algún que otro mini-windows. Con estos cd's personalizados salí de muchos apuros…

Bueno vamos a lo que nos interesa. Teniendo a mano un iso de cualquier bootHirens en sus versiones más modernas, buscamos dentro de el un fichero llamado grldr

Creamos un directorio llamado iso_root en nuestro perfil.

mkdir ~/iso_root

Copiamos grldr a dicho directorio.

cp grldr ~/iso_root

Creamos un fichero llamado menu.lst.

nano ~/iso_root/menu.lst

Dentro pegamos todo esto:

menu.lst
timeout 15
default /default
color green/black light-green/green
 
title Boot From Hard Drive (Windows Vista/7/2008 or Xp)\n
find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr || rootnoverify (hd0) && chainloader +1 && boot
map () (hd0) && map (hd0) () && map --rehook
find --set-root --devices=h /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /bootmgr || chainloader /ntldr
 
title PUPPY Linux v5.3.1 on HD0\n Iniciar SLACKO 5.3.1 desde USB
   root (hd0,0)
   kernel /SLACKO/vmlinuz root=/dev/rd/0 pmedia=cd
   initrd /SLACKO/initrd.gz
 
title Slitaz 4.0 - Core\n All rootfs (4, 3, 2 & 1) ---> 192M
   find --set-root /Slitaz/bzImage
   kernel /Slitaz/bzImage rw root=/dev/null lang=es kmap=us vga=normal autologin
   initrd /Slitaz/Slitaz-4.0-Core.gz
   boot
 
title Slitaz RazorQT
   find --set-root /RazorQT/bzImage
   kernel /RazorQT/bzImage rw root=/dev/null vga=791 autologin
   initrd /RazorQT/rootfs.gz
   boot
 
title Mini Windows Xp\nRun Antivirus and other windows programs
   find --set-root /HBCD/XP/XP.BIN
   chainloader /HBCD/XP/XP.BIN

El directorio iso_root contendrá el fichero menu.lst, las distribuciones de Linux y el mini-windows que serán los sistemas que cargara el cd una ves que se botee en la pc, por lo que copiamos el directorio HBCD, que corresponde al mini-windows a iso_root.

Las distros de Linux que tengo, en estos momentos son:

SLACKO: PUPPY Linux v5.3.1, SLITAZ-4.0: Como dice su nombre, conteniendo la versión 4.0, RazorQT Contenido de dicho iso, HBCD: Ojo no es Linux, sino mini-windows y aplicaciones para este.

Creamos dentro de iso_root las respectivas carpetas a cada distro, por ejemplo seria: SLACKO SLITAZ-4.0 RazorQT HBCD

El directorio SLACKO contendrá los ficheros del iso de Puppy: boot.cat help.msg isolinux.cfg README.HTM boot.msg initrd.gz logo.16 vmlinuz help2.msg isolinux.bin puppy_slacko_5.3.1.sfs

El directorio SLITAZ-4.0 contendrá los ficheros del iso 4.0 de esa distro: bzImage rootfs1.gz rootfs2.gz rootfs3.gz rootfs4.gz

En este directorio unimos los ficheros rootfs#.gz a un solo fichero llamado Slitaz-4.0-Core.gz y despues borramos los rootfs#.gz mediante el comando:

cat $(ls -r rootfs*.gz) > Slitaz-4.0-Core.gz ; rm rootfs4.gz rootfs3.gz rootfs2.gz rootfs1.gz

El directorio RazorQT contendrá los ficheros del iso 4.0 de esa distro: (Todos los ficheros contenidos en la carpeta boot del iso de RazorQT)…

Luego nos situamos en nuestro perfil y procedemos a crear el iso boteable mediante grub4dos con el siguiente comando:

cd ~ ; mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o multiDistros.iso iso_root

Esperamos a que esta operación termine y tendremos listo el cd que hemos construido..

Yasiel Ordoñez Abreu 2013/05/27 15:03