Grub4Dos: buscando gente interesada

Para el que no conozca este gestor de arranque es practicamente Grub pero con muchas mas opciones metidas (tirando mas a Grub2), en un solo fichero, y pudiendo facilmente integrarse e instarse a pelo incluso con version .exe para arrancarlo desde cualquier Windows... (desde MS-DOS o gestores de arranque).

La cosa es que llevo desde hace mucho tiempo trabajando con el, perfeccionando todo lo que pillo y apañandolo en un pendrive para arrancar multitud de distros, S.O., y meter de todo ^^.

Pero ahora tengo un par de obstaculos, estoy con el tema de remapear unidades y arrancar desde DENTRO de una ISO y tal..., tambien estoy preparando DD para hacer backups y tal...
Y la verdad... es que me encanta que desde el pueda arrancar cualquier sistema (tengo mi menu que me busca el mismo cualquier cosa arrancable en cualquier lado XD) ya sea dentro del pendrive, en discos internos, disquettes, CD, extraibles, memorias... TODO.

Vamos que no utilizo Grub por un tiempo hasta que llegue Grub2 por lo menos XD (ni lilo... ni syslinux, ni nada, Grub4Dos me ha servido para todo XD).

Pues eso... que me enrollo, busco gente interesada para sacar el tema hacia delante y ayudarnos mutuamente ^^, que ya si consigo instalar y hacer backups de MBR y particiones especificas que yo quiera directamente con Grub4Dos ya sere feliz (asi me ahorro el tema de tener que arrancar distribuciones y demas cuando los datos a traspasar son pequeños).

El que quiera trastear sin miedo... qemu es tu aliado pues monta pendrive sin problemas y yo al menos me gusta arrancar desde ellos XD.
Pues la verdad, yo estoy muy interesado, echa un vistazo a esto http://board.ogame.com.es/thread.php?th ... user=67272 , es de mi propia cosecha.

Ademas de todo esto, aora mismo estoy intentando arrancar el live de ubuntu 9.04
te mando privado con mi msn
¿Qué opciones extra tiene? Yo estoy buscando algo así, pero que me permita bootear desde la unidad de CD, desde un dispositivo USB, las particiones del disco duro (obvio) y si pudiera bootear una ISO serí magnífico ;D
Cuando grub2dos arranca una imagen iso, ¿la mete toda en memoria como hace el memdisk de isolinux?
Puedes cargar una imagen en memoria mapeandola (sin cargar en memoria), mapeandola y cargandola completamente en RAM (opcional, pero recomendado para imagenes pequeñas), puedes tambien arrancar otros HDD, particiones, pendrives, lectores de discos y tarjetas, disqueteras,... cualquier extraible tambien ^^. Imagenes..., da igual si son ISOS, IMG o lo que sea.
Si algo es bootable, Grub4Dos lo bootea ^^, hasta para EXT4 tiene soporte sino me equivoco XD, por bootear puedes bootear desde Internet, RAM, red local, imagenes en otro PC/particion/disco duro/lugar del mundo XD. Tambien puedes bootear desde un servidor de imagenes aunque en la BIOS no lo busque por defecto ^^

Ademas, desde Grub4Dos a mi me da por invocar al resto de gestores de arranque si me hacen falta :P (para que bootear una unidad o particion si puedo llarmar directamente a su gestor si lo conoces? XD)

Por cierto Ghiki..., precisamente el tutorial que has seguido es el que hice hace meses cuando aun no tenia mucha idea de Grub4Dos, el que tengo ahora es demasiado complejo para ponerlo pero mucho mas eficaz (en ese tuto no lo doy todo hecho, solo ejemplos para que sepias como va ^^).

Estoy bajando Ubuntu 9.04 UNR para meter a mi pen y EEE, asi que ya dire entradas..., y si tengo tiempo y ayuda pondre mis cientos de entradas... aunque la mayoria solo le interesara a tecnicos y demas XD.
De todos modos aun no he sido capaz de montar ni mapear imagenes ISO
ghiki escribió:De todos modos aun no he sido capaz de montar ni mapear imagenes ISO


Hmm....
Te pongo alguna que tengo a mano ^^.
Esta rempapea ISO y arranca directamente su isolinux (si quieres arrancas el isolinux simplmente con chainloader +1 creo)
title OphCrack XP 2.1.0 remapeo (isolinux)
  map (hd0,0)/P/images/ophcrack-xp-livecd-2.1.0.iso (hd32)
  map --hook
  chainloader (hd32)/boot/isolinux/isolinux.bin


Y esta con remapero en memoria RAM ^^
title Super Grub Disk (disquete)
  map --mem (hd0,0)/P/images/super_grub_disk_castellano_floppy_0.9766.img (fd0)
  map --hook
  chainloader (fd0)+1
  rootnoverify (fd0)
  map --floppies=1


Esta lo tengo sin depurar mucho..., funciona y listo es de tiempos antiguos vamos XD. Pero como he dicho aqui estoy para compartir conocimiento y tal...
Importante, sino se mapea en RAM no puede haber fragmentacion en el archivo.

Y para Ubuntu 9.04 he utilizado:
title Ubuntu Netbook Remix
  kernel /casper/vmlinuz boot=casper quiet splash --
  initrd /casper/initrd.gz
  boot

Pero requiere la carpeta casper y la carpeta .disk ademas ^^, lo malo es que no se como hacer que ademas arranque en español sniff.
Hola compañeros, he empezado a hacer pruebas con el temita, pero hay una cosa que me resulta cuanto menos inquietante y no se si lo que me pasa es lo normal. Cuando me pongo a descomprimir alguna iso, para meter los archivos suelto en el USB, por ejemplo ubuntu o kubuntu, me tarda en descomprimir cerca de 9 HORAS!!!!!! es lo normal???.

Por cierto con esto que acabas de poner de mapear las isos no me haria falta descomprimir nada y funcionaria con meter el .iso en el usb???.

Un saludo y muchas gracias.
blackgem escribió:Y para Ubuntu 9.04 he utilizado:
title Ubuntu Netbook Remix
  kernel /casper/vmlinuz boot=casper quiet splash --
  initrd /casper/initrd.gz
  boot

Pero requiere la carpeta casper y la carpeta .disk ademas ^^, lo malo es que no se como hacer que ademas arranque en español sniff.


Yo he arrancado la guadalinex v5, que usa casper* porque se basa en ubuntu, metiéndola toda dentro de un directorio, pero hay que parchear el script de arranque, porque no está preparado para ello. Si te interesa cuelgo el parche y te digo cómo hacerlo.

*En versiones más modernas de casper no sé si habrán modificado el script.
A mi si me interesa bastante ese script compañero.

Ya he conseguido que me funcione, wifislax, Kubuntu, Hirens Boot.

Todos con los archivos descomprimidos en una carpeta. He probado con el ophcrack metiendo la imagen .iso en una carpeta, pero empieza a cargar bien y hay un momento que se pone a buscar la carpeta de datos del ophcrack y se corta el proceso de carga diciendo que no la encuentra.

El menu.lst para cargar la iso es el que ha puesto el compañero.

title OphCrack XP 2.1.0 remapeo (isolinux)
  map (hd0,0)/P/images/ophcrack.iso (hd32)
  map --hook
  chainloader (hd32)/boot/isolinux/isolinux.bin


Y tambien he probado con

title OphCrack XP 2.1.0 remapeo (isolinux)
  map (hd0,0)/P/images/ophcrack.iso(hd32)
  map --hook
  chainloader (hd32) +1


A ver si alguien me puede echar un cablecillo. Un saludo.
albjes escribió:A mi si me interesa bastante ese script compañero.

Todos con los archivos descomprimidos en una carpeta. He probado con el ophcrack metiendo la imagen .iso en una carpeta, pero empieza a cargar bien y hay un momento que se pone a buscar la carpeta de datos del ophcrack y se corta el proceso de carga diciendo que no la encuentra.



Advierto, antes de nada, que yo no he usado grub2dos. He usado isolinux y me las he ingeniado para poder meter el contenido de la iso de distribución en una carpeta diferente. Lo he dejado de modo que ubuntu (en realidad guadalinex, que es lo que he usado yo) no requiere ningún parámetro adicional; y ophcrack, por su parte, usa el parámetro de slax "from=".

Adjunto dos parches, uno para casper y otro para el script /root/launch.sh que lanza ophcrack en el arranque y es el que te da el error. Aplicarlo a launch.sh no tiene mucha ciencia: te vas a la carpeta ophcrack/rootcopy/root y verás que está el script que te digo. En ella aplicas el parche:

patch -p0 < path_al_parche/launch.sh.patch


Aplicar el otro requiere descomprimir la imagen initrd.gz que viene con la distribución y aplicarlo luego al fichero casper. Voy a suponer que sabes hacerlo, por si acaso puedo ahorrame las explicaciones.

En cualquier caso, con los dos parches te incluyo un documento html que había olvidado que había escrito en donde se indica cómo hacer todo esto.

parches.zip (6.69 KB)

Dos parches y un documentos html
Gracias compañero, ya tengo funcionando, wifislax, ophcrack, kubuntu (Archivos sueltos en raiz), Hirens´boot, y me falta por probar ubuntu ( en una carpeta propia) con tu parche metido. La cosa es que con el pc de sobremesa no puedo probarlos ya que no me funciona casi ninguna distribucion usb (En el portatil funcionan sin problemas), y ahora no lo tengo por aqui.

Un saludo.
albjes escribió:Gracias compañero, ya tengo funcionando, wifislax, ophcrack, kubuntu (Archivos sueltos en raiz), Hirens´boot, y me falta por probar ubuntu ( en una carpeta propia) con tu parche metido. La cosa es que con el pc de sobremesa no puedo probarlos ya que no me funciona casi ninguna distribucion usb (En el portatil funcionan sin problemas), y ahora no lo tengo por aqui.


Hombre, digo yo que si vale para ubuntu, valdrá para kubuntu: imagino que ambas usarán casper.

De lo que me acabo de dar cuenta ayer es de que no soy capaz de meter en directorio aparte el instalador de debian lenny; y como muchos script de arranque son en realidad archivos compilados no soy capaz de parchear. SI alguien tiene información...
^^, lo de parchear initrd lo conocia, pero como soy de los que meten y sacan 1000 cosas..., prefiero no parchear mucho XD (aune renombrando la parcheada podria guardar las 2 y hacer cosas raras... XD.

Para los que tengais problemas para probar los pendrives bootables. Utilizad Qemu Manager (asi con interfaz grafica) y colocais el pendrive como un HDD propio de la maquina virtual ^^.

Otro apunte, si teneis Linux... bootlace.com es la mar de apañado, ayer estuve peleandome con el y sus opciones y es la mar de versatil y multiplataforma ^^.

Otro apunte, Grub4Dos permite arrancar Ext4, perfecto para aquellos que se pasen a este sistema de ficheros ^^.
Para los que trasteen mucho recomiendo utilizar una particion en FAT para Grub4Dos y asi poder modificar lo que necesiteis desde cualquier S.O.
auxiliar escribió:Hombre, digo yo que si vale para ubuntu, valdrá para kubuntu: imagino que ambas usarán casper.

De lo que me acabo de dar cuenta ayer es de que no soy capaz de meter en directorio aparte el instalador de debian lenny; y como muchos script de arranque son en realidad archivos compilados no soy capaz de parchear. SI alguien tiene información...


Si claro, de todas formas como kubuntu me funcionaba con los archivos suelto pues me daba igual por eso que solo parcheara ubuntu para que no me pisara las carpetas igual nombradas en la raiz.
bueno, yo ahora mismo estoy intentando meter in instalador de windows al pen, para instalar desde el, ademas de tener dentro ubuntu(arranque syslinux) ophcrack, wifislax y hirens(grub), de momento tengo esto a ver si consigo arrancar ese ntldr y tira...por hacer experimentos...que no quede
Pero ese ubuntu que decis es un live y ya esta, o es persistente? (que puedes hacer cambios vamos xD)
Lo que yo he metido son distros live, es lo que necesito por si algún momento se peta algun equipo tener opcion a trastear en ellos. No tengo ni idea si se podran meter algunas o de alguna formas distros persistentes.
albjes escribió:Lo que yo he metido son distros live, es lo que necesito por si algún momento se peta algun equipo tener opcion a trastear en ellos. No tengo ni idea si se podran meter algunas o de alguna formas distros persistentes.


¿Ya lo has hecho? ¿Funciona el parcheo para la última ubuntu?
No compañero, aun no lo he probado. Cuando llegue a casa esta noche ya tendre el portatil, y lo probaré.

En cuanto haga algo te comento por aquí a ver si ha funcionado.

Sigo haciendo pruebas, lo probé y no me funcionaba, de todas formas me di cuenta que al volver a comprimir el initrd ya parcheado con los comandos que indicabas en el html luego al intentar abrir el archivo comprimido me decia que no era un archivo comprimido gzip, así que ese podia ser el fallo.

He conseguido descomprimir - parchear - volver a comprimir sin el fallo anteriormente mencionado con estos comandos

# cat initrd.gz | gzip -d | cpio -i
# find | cpio -H newc -o | gzip > "Directorio elegido para guardar el initrd.gz"
albjes escribió:Sigo haciendo pruebas, lo probé y no me funcionaba, de todas formas me di cuenta que al volver a comprimir el initrd ya parcheado con los comandos que indicabas en el html luego al intentar abrir el archivo comprimido me decia que no era un archivo comprimido gzip, así que ese podia ser el fallo.


Sí que es verdad, en las instrucciones olvidé recomprimir otra vez con gzip. En cualquier caso, Lo importante es que funcione el parche.
Pues he probado y no me funciona. La imagen la descomprimí con el ISOMASTER, voy a probar a descomprimirla a saco con el gestor de archivos aunque vuelva a tardar 8 horas!!!!!! a ver si es algo que se carga el ISOMASTER al extraer los archivos.
albjes escribió:Pues he probado y no me funciona. La imagen la descomprimí con el ISOMASTER, voy a probar a descomprimirla a saco con el gestor de archivos aunque vuelva a tardar 8 horas!!!!!! a ver si es algo que se carga el ISOMASTER al extraer los archivos.


¿8 horas? ¿No es mejor que hagas un mount en linux y santas pascuas? Luego copias los archivos y no pierdes más de cinco minutos.

Me extraña que no funcione el parche, aunque debería verlo en mi ordenador. Dime qué versión de ubuntu estás usando a ver si tengo tiempo y lo pruebo.
Ya he probado de nuevo con los archivos sueltos y nada, no carga. Sale la pantalla de carga se queda un buen rato con la barrita dando vueltas y al final pasa al prompt con initramfs.

Estoy utilizando Ubuntu 9.04 (Ya que me voy a poner a hacer pruebas habra que intentarlo con la ultima version no?)

Un saludo compañero si consigues algo o quieres que pruebe algo, por aquí estaré.
albjes escribió:Ya he probado de nuevo con los archivos sueltos y nada, no carga. Sale la pantalla de carga se queda un buen rato con la barrita dando vueltas y al final pasa al prompt con initramfs.

Estoy utilizando Ubuntu 9.04 (Ya que me voy a poner a hacer pruebas habra que intentarlo con la ultima version no?)


guadalinex se basa en la versión 8.04. Probaré ésta a ver si han cambiado algo de casper y qué se puede hacer. De todos modos, el cd de instalación y el live, ¿son el mismo? A ver si voy a estar bajando en balde la iso.

Por cierto, que ya logré apañar el instalador de debian. También me rula ya...
Si el cd de instalacion y el live son el mismo compañero.
Pues acabo de probar y a la primera: he aplicado el parche con éxito, aunque había un desplazamiento en las líneas (supongo que porque han hecho algún cambio en el código de casper) y voilà:

Imagen

como ves, ubuntu "cree" que el cdrom es la distribución de ubuntu, pero en realidad el dispositivo es el dvd con más cosillas y ubuntu está dentro de la carpeta UBUNTU. En eso precisamente consiste el parche.
Pues no se entonces que le puede pasar al mio. Necesariamente la carpeta donde deben de estar metidos los archivos se tiene que llamar "UBUNTU"???. Porque es lo único por lo que podria fallarme.

El tema del desplazamiento de lineas ese que comentas no tendra nada que ver no?.
albjes escribió:Pues no se entonces que le puede pasar al mio. Necesariamente la carpeta donde deben de estar metidos los archivos se tiene que llamar "UBUNTU"???. Porque es lo único por lo que podria fallarme.


No, hombre, no soy tan chapucero; se puede llamar como quieras: el casper parcheado comprueba cuál es el valor del parámetro "initrd" que se le pasa al kernel y en función de ese valor adivina en qué directorio metiste ubuntu. Por ejemplo, si metiste ubuntu en la carpetas "AQUI" entonces en el arranque se le pasó al núcleo el parámetro initrd=/AQUI/casper/initrd.gz, así que el script sabe que ubuntu está dentro de "AQUI".

albjes escribió:El tema del desplazamiento de lineas ese que comentas no tendra nada que ver no?.


No, no tiene nada que ver. Eso de que las líneas estén desplazadas es sencillo de entender. Los parches básicamente son ficheros que dicen: desde la línea X hasta la línea Y, ponía esto y ahora tiene que poner esto otro. Y así tantas veces como cambios haya. Sin embargo, supón que se saca una nueva versión del fichero original que consiste simplemente en que se ha añadido una línera de comentario al principio del código. Entonces el parcheo no es entre X e Y sino entre X+1 e Y+1. patch es una herramienta muy lista y a pesar de que las líneas "se hayan desplazado", las encuentra y aplica el parche. Por supuesto, puede ocurrir que los cambios hayan sido tan profundos que el parche ya no sirva, y esa era mi preocupación, pero no parece ser el caso.

Lo único que se me ocurre es que te diga por encima lo que he hecho paso a paso. Mira a ver qué es lo que no haces, porque funcionar, funciona:

1) Monto la imagen iso:
$ /sbin/losetup /dev/loop0 /donde/esta/ubuntu-no-sé.qué.iso
$ mount /mnt/loop


2) Creo los directorio necesarios y copio el contenido del cedé:
$ mkdir -p multidvd/UBUNTU
$ (cd /mnt/loop ; tar cf - .) | ( cd multidvd/UBUNTU ; tar xvf -)
$ chmod u+w -R multidvd/UBUNTU
$ umount /mnt/loop
$ /sbin/losetup -d /dev/loop0


3) Parcheo casper:
$ cd /tmp
$ mkdir ff
$ cd ff
$ gunzip < /path/multidvd/UBUNTU/casper/initrd.gz | cpio -i
$ patch -p0 < /donde/este/el/parche/casper.patch
*** Aquí tienen que aparecer algunos warning de que las líneas no se corresponden con las que pone el parche, pero no importa ***
$ find | cpio -o -H newc | gzip -9 > /path/multidvd/UBUNTU/casper/initrd.gz


4) Alteras los .cfg que vienen en el arranque con isolinux de ubuntu (esto supongo que sabes hacerlo)

5) Te haces tu arranque del dvd con lo que estés usando grub2dos, isolinux o lo que sea para que arranque el isolinux de ubuntu.

Y listo, haces el cedé y ya está. Creo que no me he dejado nada.
Estoy probando a poner una mandriva "persistente" en un pen, haciendo la instalacion en una particion ext3 normal y corriente. Resulta que funcionaba en todos los pc excepto el que tenia que funcionar xD, que no sabia porque, se saltaba el grub y tiraba a vista... ya sin saber que hacer, le hago una fat para probar este grub.
Se lo puse y vale, el grub lo cargaba, el problema viene al arrancar la particion ext3, que no hay manera... directamente parece ser que no la encuentra T__T

hago find y na, y como posibles discos solo salen el duro, un tal "rd" que no se que es xD y el fd0 que es la particion fat del pen, de la ext3 ni humo...
Alguna idea?
Nada que no lo consigo, no se que estare haciendo mal, lo unico que tenga que modificar algun cfg mas que se me escapa. Te dejo el cfg que he modificado a ver si le ves algo mal, o si tengo que modificar alguno mas.

text.cfg

default live
label live
  menu label ^Try Ubuntu without any change to your computer
  kernel /casper/vmlinuz
  append  file=/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz
  append  file=/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
label check
  menu label ^Check disc for defects
  kernel /casper/vmlinuz
  append  boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
label memtest
  menu label Test ^memory
  kernel /install/mt86plus
label hd
  menu label ^Boot from first hard disk
  localboot 0x80


Estos dos tambien los he probado así que es donde tengo metida la distro

default live
label live
  menu label ^Try Ubuntu without any change to your computer
  kernel /casper/vmlinuz
  append  file=/BUNTU/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz
  append  file=/BUNTU//preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
label check


En el menu.lst del grub4dos cargo la distro de esta manera.

title Ubuntu

kernel /BUNTU/casper/vmlinuz boot=casper quiet splash --

initrd /BUNTU/casper/initrd.gz

boot


Me estoy volviendo loco, perdona si digo alguna idiotez pero es la primera vez que me pongo a intentar cosas de estas.
albjes escribió:Nada que no lo consigo,


Vale. Ya sé qué es lo que falla. Mi parche presupone que has metido TODA la distribución dentro de una carpeta (en tu caso BUNTU). En cambio, según he podido adivinar por tu text.cfg, tú la carpeta casper la tienes fuera de BUNTU:

label live
  menu label ^Try Ubuntu without any change to your computer
  kernel /casper/vmlinuz
  append  file=/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --þ


Por ejemplo en esta entrada (como en el resto): el kernel lo buscas en /casper/ y, sobre todo, el initrd, también lo buscas en /casper/. Ya expliqué en el otro post que el parche averigua cuál es el directorio inspeccionando el valor del parámetro "initrd". Y en tu caso, como esa carpeta la tienes fuera, cree que la distribución está en "/".

En definitiva, que la carpeta casper debe estar dentro de BUNTU y esas entradas, obviamente, las debes cambiar para que lean de /BUNTU/casper. Lo cual es lógico porque la gracia del parcheo está en que puedas meter toda las distribución dentro de un directorio.

Haz eso y me apuesto a que todo va bien.

Por cierto, que si puedes en caliente cambiar la entrada y quitar lo de "quiet" y lo de "splash" en el fichero de grub2dos, no estaría mal, para que vieses cuál es el error, en vez de quedarte como un tonto mirando la barrita de arranque. De todos modos, el error es claro y si cambias lo que te he dicho, debería funcionarte.

¡Ah! El parámetro file, déjalo sin BUNTU, se usa después de que el parche haga el apaño de hacer creer que ubuntu está sola y en el directorio raiz. Sin embargo, en la iso que yo me he bajado el valor es file=/cdrom/preseed/ubuntu.seed, con /cdrom, no sin él, como lo tienes tú.
Hola compañero ya he probado lo que me dijiste pero ahora se me queda colgado en el arranque cuando intenta hacer esto (al rato se para y se va al initramfs).

SD 2:0:0:0 Attached SCSI GENERIC SG2 TYPE 0
q
albjes escribió:Hola compañero ya he probado lo que me dijiste pero ahora se me queda colgado en el arranque cuando intenta hacer esto (al rato se para y se va al initramfs).

SD 2:0:0:0 Attached SCSI GENERIC SG2 TYPE 0


Eso supongo que será el montaje de un disco duro sata o algo por el estilo. No veo qué tenga que ver con el parche.

a) ¿Has comprobado que la iso original te funciona sin problemas?
b) En ese mini-sistema en que te quedas, ¿está montado el cederróm en /cdrom? ¿Qué contiene? ¿Existe el directorio /dvd? ¿Qué contiene?
El cd del live normal si me funciona, vamos con el unetbooting me cree el usb live y me instale el sistema desde donde ahora estoy escribiendo.

en el minisistema que se queda el /cd si existe. Si hago un dmesg da un fallo continuo de que no se puede montar el sg ese donde se queda y la ultima linea pone que no encuentra una distribucion live para cargar.

He probado con la distro kubuntu 9.04 que tenia , parcheando tambien con tu parche y se me queda en el mismo sitio, cuando antes tenia los archivos y carpetas sueltos en la raiz me funcionaba sin problemas.

No se de que puede ser pero me estoy volciendo loco.
34 respuestas