domingo, 18 de mayo de 2008

I did it my way: Geexbox en el pendrive

Geexbox fue una de las primeras distros live que conocí, hace algunos años (creo que en el 2002), cuando The LiveCD List no tenía scroll vertical.
Basicamente, se trata de una distro que tiene como interfaz gráfica el menú de mplayer (no carga las x), y sirve para arrancar como media center. Más o menos como el quickplay de HP, pero en 9Mb. Aparte tiene soporte para la salida de TV de las placas de video, para sintonizadoras y controles remoto, y carga en memoria para dejarnos la unidad libre. En fin, una maravilla de diseño minimalista.



Hace un par de días me dispuse a ponerlo en mi pendrive, el mismo que tiene hirens, puppy, slax y nimblex. Pero una búsqueda de Geexbox usb sólo me dejó con lo que ya sabía: para ponerlo, había que grabar el cd, arrancar con F1 e instalarlo en el pendrive cómo en cualquier otro disco. Por supuesto, eso incluía formatear el pendrive.

Para acortar las cosas: yo hice todo eso en un segundo pendrive que tenía vacío. Pero para que ustedes no tengan que hacerlo, estudié ese pendrive para sacar esta pequeña guía:

Cómo poner geexbox en el pendrive desde windows:

  1. Bájese la imágen de geexbox desde el sitio oficial.
  2. Ábrala con Winrar, Winimage, MagicIso, CDmage o similar.
  3. Copie el directorio GEEXBOX a la raíz del pendrive.
  4. Bájese el boot universal para pendrive de acá e instale el boot como dice el post.
  5. Edite el archivo /boot/syslinux/syslinux.cfg agregando estas líneas:

  6. LABEL geexbox
    MENU LABEL Geexbox sda1
    KERNEL /geexbox/boot/vmlinuz
    APPEND initrd=/geexbox/boot/initrd.gz root=/dev/ram0 rw init=linuxrc boot=sda1 lang=es

    LABEL geexbox
    MENU LABEL Geexbox sdb1
    KERNEL /geexbox/boot/vmlinuz
    APPEND initrd=/geexbox/boot/initrd.gz root=/dev/ram0 rw init=linuxrc boot=sdb1 lang=es

    (no hay retorno de linea en APPEND)

  7. That´s it!


Nótese que agregamos dos entradas casi iguales: es porque si tenemos un disco SATA, éste normalmente va a ser sda1, y el pendrive sdb1. Si no, el pen se reconoce como sda1 directamente. En caso de que la unidad detectada sea otra, también se puede probar modificando a mano los parámetros de syslinux sobre la marcha (TAB mientras estamos en el menú).

Y para hacérsela de lujo (algunos entenderan la referencia), pueden también bajarse de acá el pack de codecs de mplayer (all o essential, elijan ustedes) , y poner el contenido en la carpeta /GEEXBOX/codecs, con lo que podremos reproducir casi todo lo que le tiremos encima.

Otra vez, enjoy!

24 comentarios:

Informito dijo...

Tengo armado mi "mediacenter" armado con el gexboox(una PII 450 con 256mb ram y una nvidia 64mb con tv out)y anda un lujo
solo me falta adaptarle el control remoto sacado de aca (lo estoy usando en winxp y funciona) http://www.fullcustom.es/mod2_resw.html
se puede, no me puse a hacerlo todavia

Anónimo dijo...

justo estaba queriendo armarme con mi vieja pc un media center! esto me viene barbaro! gracias

logsintheshell dijo...

Geekbox forever :D
En una tienda que trabaje lo usabamos para poner videos bajados de stage6 (cuando estaba online) en el escaparate.

Puedes usar un script de la web o directamente añadir los videos a la iso de geekbox y ya tienes una pelicula (o videos) autosuficientes :D.

Gran blog, pero publicais poco coño, quiero más :D.
saludos

[486] dijo...

logsintheshell: se hace lo que se puede, y lo que no se compra hecho...

Lo bueno del pendrive es que con uno medio grande el mediacenter ni siquiera necesita unidad de cd/dvd...

alpdo dijo...

tengo un problema con el geexbox, cuando lo esta cargando en un momento me dice que hay un "(" incorrecto o algo asi en F:\GEEXBOX\sbin\init...y me apaga la pc.....y otro con el hirens, me funcaba de 10 en el pen..instale el slax, puppy..pero no me anda cuando lo selecciono en el menu, queda el cursor tildado titilando arriba a la izquierda...
PD: el slax, mentest, puppy, andan una pinturita

[486] dijo...

Amigo al-p-do: el geexbox es algo temperamental, y bastante dependiente del hard. Ami por ejemplo dejo de funcarme cuando cambie mi geforce mx4000 por una radeon 9200. Yo probaría grabar el cd para ver si anda antes de echarle la culpa al pen.
Sobre lo del hirens: puede que tengas el mismo problema que Jesus, fijate los comentarios en este post. Te resumo: si el pen es de mas de 2 Gb, hay que usar fat32 o particionarlo. Si tenes una solucion mejor avisá.

alpdo dijo...

1º:El geexbox ya lo tenia en cd..lo grabe de nuevo por si las moscas...funca desde los cds
2º:El pen es de 8 en FAT32...me extraña que funcionaba el hiren´s antes...no se me ocurre nada...lo particionare en 2-6 a ver que onda...avisare mis resultados
3º: gracias por la rapida respuesta

ReiRok dijo...

Como consejo, proba antes que nada hacer la primera partición de como máximo 4GB y en fat32.
Trata de hacerlo con la utilidad de HP o el PEtoUSB, después si definí mas particiones con linux o desde donde quieras.

Yugo dijo...

Hola hola tanto tiempo!

Pues te cuento 486, hice todo tenia el slax_boot desde antes y de hecho aun en el pendrive y bueno copie geexbox al root, edite el syslinux agregandole las lineas y me da el siguiente error:

"List of all partitions:
No folesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)"

Y muere... no se que hacer ni que puede generar el problema =s

Yugo dijo...

Estaba probando con la version 1.2 beta, ahora vi los old releases y baje e instale el 1.1 al pendrive y me pasa lo que a Alpdo, esta cargando y me apaga el PC...

Mi problema es que el computador donde me interesa usarlo no tiene lector de CD... entonces ¿Que podria hacer para correrlo? Podria seguir intentando con el beta 1.2 pero ¿Como podria pasar ese problema del kernel panic?

486 dijo...

Yugo: creo que el geexbox necesita una particion FAT16 de menos de 2Gb. El error que te está dando parece ser el de "no se encuentran los archivos de geexbox". ¿probaste cambiar el disco por sdb1 o sdc1?
Avisá

Yugo dijo...

El pendrive es de 1gb con el que lo estoy probando, esta formateado en FAT16 e intente con sda, sdb y sdc y no hay caso.

Yugo dijo...

Saludos gente de Subdesarrollados, les cuento la historia de lo que he intentado estos dias... me rendi intentando hacer que el USB booteara directamente el Geexbox, tira errores o rebootea el computador por lo que luego de unas horas de craneo y googleo quedo descartado.

Queme el ISO en un CD, lo corri desde el computador de un amigo y no me dejo a instalarlo al pendrive diciendo algo asi de que los archivos de sistema estaban al final del espacio en vez del inicio, despues de intentar con grub y syslinux y sin poder particionar el pendrive (Kingston DataTraveler 1gb) con ningun programa ya sea de windows o linux, me rendi tambien.

Ahora va mi ultimo intento pero necesito algo de ayuda. Pensando en mi afan por probar estas cosas y live distros y demases para encontrar una que satisfaga mis necesidades, para mi suerte deje un espacio de 800mb sin particionar, en el cual descomprimi la ISO del geexbox y he aqui donde necesito de su ayuda.

1.- Como puedo instalar el Grub en el disco duro sin matar la particion de windows (Esto siempre lo he hecho automatizado con las distros de linux que he instalado asi que no se hacero manualmente)?

2.- Ademas de Grub, se puede tambien con Syslinux? Como?

3.- Que cosas deberian ser necesarias de configurar en el ISOLINUX.CFG de geexbox, estoy acostumbrado a trabajar con hdaX y no con SDA SDB SDC y etc.

A ver si podemos hacerlo funcionar!

486 dijo...

Yugo: el instalador de geexbox te pide una particion primaria de mas de 16 Mb. No se si se podrá arrancar desde una unidad lógica, pero para que pruebes te dejo unos datos:
1) Podés usar wingrub (busca en el blog, lo use en algun lado y hay un mini howto) o supergrubdisk (SGD. Tambien podes buscar acá). Te recomiendo poner sgd en el pendrive (con memdisk) antes de hacer cualquiera de las dos cosas, asi te queda a mano la herramienta arregla-desastres.
2) hasta donde se, podés instalar syslinux en el rigido con el mismo bootinst del boot universal (el de slax).
3) el syslinux.cfg debería ser el que tenes aca en el post. Y si te bajaste el wingrub podes fijarte ahi cual es la particion (sda5 es (hd0,4) o algo así)

Yugo dijo...

Baje y estoy probando utilizar el wingrub para darle booteo al pendrive y de ahi salir al geexbox que seria el hda(0,4)... estoy un poco perdido porque estoy haciendo las cosas como si fuera syslinux.

¿Como quedarian las opciones de booteo?

title Geexbox on (hd0,4)
kernel (hd0,4)/geexbox/boot/vmlinuz root=/dev/ram0 rw init=linuxrc boot=sda4 lang=en keymap=qwerty splash=0 vga=789 video=vesafb:ywrap,mtrr
initrd (hd0,4)/geexbox/boot/initrd.img

¿Estaria bien asi? ¿Falta algo o algo esta mal puesto?

[486] dijo...

Yugo: creo que si el disco es el 0,4 el boot debería ser el sda5. Lo demás me parece bien. Si lo conseguis avisá

Yugo dijo...

No hubo caso por mas que intente, el grub me decia que no podia montar la particion o bien que no existia, intentando cambiar los numeros varias veces...

Alguien que tenga esto funcionando por ahi en el pendrive y suba la imagen del pendrive se agradeceria un monton, de ahi me preocupo del MBR con el grub =)

ReiRok dijo...

Hola gente.
Yugo, proba así.
No se si tenes Grub o Grub4dos.
No importa, en el menu.lst.

title GeeXboX
root (hd0,4)
kernel /GEEXBOX/boot/vmlinuz root=/dev/ram0 rw rdinit=linuxrc boot=sda4 lang=en keymap=qwerty splash=0

initrd /GEEXBOX/boot/initrd.gz

quiet o boot -> según sea Grub o Grub4dos.

ReiRok dijo...

Ahora que leo bien todo, no me queda claro si estas probando en el HD de la pc o en el PenDrive.
Si es en el HD, fijate que si es IDE, va HDAX
Y si es USB o SATA va SDAX.
Suerte.

Yugo dijo...

Hola y gracias por las respuestas. Te resumo lo que estoy haciendo o intentando hacer.

El geexbox esta en una particion logica del DD (hd0,4), y el grub lo puse en un pendrive para no meterle mano al MBR del DD hasta que este funcionando y no tenga que hacer cosas para arreglar luego el MBR.

Yugo dijo...

No he tenido mucha suerte, si bien pasa del menu inicial y comienza a cargar el linux al par de lineas se queda pegado con Grub.

Voy a probar con syslinux y les cuento como me fue.

ReiRok dijo...

Porque no probas instalarlo al pen desde el cd ?
Si no tenes CD, bootea desde Qemu con la ISO, y pone al pen como disco fisico y ahi instalas en el Pen.
En el blog esta como poner al pen para poder verlo desde qemu.

Seguro no te termina de cargar porque necesitas lo demas archivos de la carga del Grub como el Stage15 etc.

Saludos.

Yugo dijo...

Ya lo habia intentado Rei y lo puse en un post mas arriba te lo pongo aqui:

Queme el ISO en un CD, lo corri desde el computador de un amigo y no me dejo a instalarlo al pendrive diciendo algo asi de que los archivos de sistema estaban al final del espacio en vez del inicio, despues de intentar con grub y syslinux y sin poder particionar el pendrive (Kingston DataTraveler 1gb) con ningun programa ya sea de windows o linux, me rendi tambien.

Leo Coka dijo...

Retomando el problema original de Yugo, una posible solución es utilizar el instalador de geexbox ( que, creo, al momento del mensaje no estaba ).
Otra posible solución es editar el syslinux.cfg ( Obviamente, luego de hacer todo lo que 486 manda en el post), en APPEND, la opción boot, cambiarla por boot=UUID="Nº de serie de la unidad", que se puede obtener con un dir x: (/p para que no se piante), desde la línea de comandos, siendo x la unidad del pen.
Saludos.