Autor Tema: como arrancar isos EN REAL (sin emuladores) y sin grabarlas a CD gracias a grub2  (Leído 2053 veces)

0 Usuarios y 1 Visitante están viendo este tema.

alist3r

  • Visitante
Una de las grandes ventajas de Grub2 es el hecho de poder arrancar una ISO sin necesidad de grabarla a un CD/DVD, es decir utilizar un LiveCD sin usar un CD.

Para ello solo deberemos editar el archivo grub.cfg y agregar una nueva entrada al menu:
Citar
menuentry "Live" {
set root=(hd0,3)
loopback loop /ruta/hacia/la/iso/imagen.iso
linux (loop)/ruta-hacia-el-kenel-relativa-al-cd/vmlinuz.gz parametro1=valor1 parametro2=valor2 iso-scan/filename=/ruta-hacia-la-iso/imagen.iso --
initrd (loop)/ruta-hacia-el-initrd-relativa-al-cd/initrd.gz
}


donde:
1 * la linea "set root": nos indica en que partición esta el archivo ISO (OJO: hd0,3 hace referencia a la partición numero 3 del disco 1, osea /dev/sda3, y no a /dev/sda4 como pasaba en el viejo grub 1(donde se se contaba desde el 0)
2 * la linea "loopback": nos indica la ruta dentro de la particion donde esta el archivo ISO
3 * la linea "linux(loop)": nos indica que kernel usar (dentro de la estructura del CD) para arrancar y donde se encuentra. Es evidente que tenemos que conocer la estructura de dicho CD por dentro.
4 * el parámetro iso-scan/filename se le debe pasar al kernel junto a los otros parámetros del kernel que acostumbremos a pasarle 8parametro1=valor1 parametro2=valor2 bla bla blaaaa...) y debe incluir de nuevo la ruta de la particion donde esta el archivo iso (o sea que debe ser exactamente la misma ruta que la que pusimos en el punto 2)
5 * la linea "initrd(loop)": nos indica donde esta el initrd

ya que no hace falta grabar mas CDS para probar un LiveCD de Linux, y ademas carga muchisimo mas rapido y el uso del Live tambien mejora bastante debido a que no hay errores de lectura y todos los demas problemas que implica usar un lector de CD sobre un CD físico.

EJEMPLOS:
Para una slax o derivada:
Código: [Seleccionar]
menuentry 'Wifiway 2.0.3 final v2' --class gnu-linux --class gnu --class os {
insmod gzio
insmod ext2
set root='(hd0,3)'
loopback loop /usr/src/isos/wifiway-2.0.3-final.iso
linux (loop)/boot/vmlinuz iso-scan/filename=/usr/src/isos/wifiway-2.0.3-final.iso vga=791 max_loop=255 ramdisk_size=6666 root=/dev/ram0 rw
initrd (loop)/boot/initrd.gz
}

Para una live basada en debian live-build como firecat:
Código: [Seleccionar]
menuentry "FireCat 1.1.5" --class gnu-linux --class gnu --class os {
insmod gzio
insmod ext2
set root='(hd0,3)'
loopback loop /usr/src/isos/firecat-1.1.5.iso
linux (loop)/live/vmlinuz persistent iso-scan/filename=/usr/src/isos/firecat-1.1.5.iso
initrd (loop)/live/initrd.img
}

NOTA: observad atentamente la presencia o ausencia de espacios en ciertos parámetros. Si cometéis un solo error en un espacio, no va a funcionar.



« Última modificación: 29-09-2011, 17:47 (Jueves) por _alister_ »