13 mayo, 2007

Xbox con ubuntu

Extraido de : http://www.ubuntu-es.org/node/1833

Presentacion
Hola a tod@s

Bueno, ante todo puntualizar el titulo de esta entrada de diario, ya que "obviamente" el cd de ubuntu no arranca en la xbox.

Despues de ese pequeño retoque, indicar que este tutorial es muy muy largo y se ha de tener paciencia para hacer todo lo que yo hice, pues sin ayuda tardé aproximadamente de unas 7 a 8 horas.

Lo que llevaremos a cabo es una instalacion de un linux previo, una variacion de debian que instala linux en la xbox con cuatro cosillas nada más y casi de prueba. Posteriormente instalaremos ubuntu encima de ese linux y lo haremos funcionar a la perfeccion. Configuraremos todo lo necesario para poder escribir a traves de un teclado virtual y navegar por internet a traves de la conexion a internet del PC al que conectamos la xbox.

Ventajas e inconvenientes de ubuntu en xbox

Ventajas

- Es linux
- Es ubuntu xD
- Si te apetece jugar a algo en 3d pues reinicia la consola y metes el disco xD
- Sirve como un buen servidor, solo ties que configurar apache o el servidor para X cosa y pasarle los archivos o configurarlo, jejeje.
- Tiene potente sistema de ventilacion con lo que estará "fria" (la consola en si, el aire lo echa por atras, ojo con la pared,que no este pegada).

Inconvenientes

- No tiene raton ni teclado(excepto el virtual)
- Quizas, que sea equivalente a un Pentium 733mhz(no creo que sea inconveniente pero weno, igual alguien si).

Posibles soluciones a inconvenientes

- Raton ni teclado: una la pongo yo, usando un acceso grafico remoto(al final del texto); existe otra opcion de comprar un adaptador USBXBOX, que existen y valen unos 15 euros, a gusto del consumidor.

Requisitos
PC(imprescindible) con Ubuntu instalado, ya que aunque se puede hacer todo esto con Window$ en el pc, me salio de ahi hacerlo todo con software libre.

Xbox con modchip(¿"pirateada"?).Esto es absolutamente necesario, no se puede hacer todo lo que yo estoy escribiendo aquí sin uno puesto.

DashBoard(software de menú) instalado en la xbox. (lo comento mas adelante)

Cable cruzado+Tarjeta de red(otra más) o en su defecto un hub ethernet rj45(yo solo se responder a dudas de cable cruzado que es lo que tengo yo xD).

Un poco de paciencia y mucho tiempo

Instalando el dashboard en la xbox
Para empezar, a partir de una xbox con modchip instalado(y que cargue el menú de microsoft, si ya tienes uno nuevo saltate este apartado) vamos a instalar un dashboard nuevecico.

El dashboard por excelencia en mi caso es el evolutionX o evox, el cual no es legalmente distribuible por internet, por lo que tendrás que encontrarlo por tus propios medios, no preguntes donde xD. Actualmente yo tengo el evox 3935, asi que por ahi ya pues buscar(para cuando termine de escribir esto seguro que ay alguna version mas nueva).

Mientras descarga(poco, son 2 o 3 mb), configura la ip de la tarjeta de red que vas a usar con el cable cruzado para conectar la xbox al pc y viceversa. A mi no me ha dado problemas el configurarla como 192.168.100.x (cualquier x entre 0 y 255).

Una vez tengas el rar/zip con el evox, descomprimelo en una carpeta y localiza el evox.ini

De ahí tenemos que modificar solo estas lineas(salvo que queramos configurar algo más):
-----------------------------------
MSDashBoard = "c:\msxboxdash.xbe"
SetupNetwork = Yes
StaticIP = Yes
Ip = 192.168.100.Y
Subnetmask = 255.255.255.0
Defaultgateway = 192.168.100.X

[FTP]
Enable = Yes
Password = xbox
------------------------------------------
donde 192.168.100.X es la IP que configuramos antes en la tarjeta del pc y 192.168.100.Y es la ip que le daremos a la consola(otra distinta, juas no te metas en royos, pon de X 1 y de Y 2; asi no te lias fijo, jeje). la X y la Y han de ser un numero. Por favor, en ningun lado se te ocurra dejar la X o la Y, o armaras el lio padre pa luego.

Bueno, descargamos un programa yamado "Qwix" de la pagina web oficial(te adoramos, google) y lo ejecutamos(ojo, en windows porque no hay version linuxera). Da un error de que no hay conexiones o algo similar pero no nos afecta, asi que acepta.

Seleccionamos la opcion "Local folder" y escoge la carpeta donde descomprimiste el evox, acepta y pulsa Create iso. Escoge donde guardarla y acepta.

Con un programa de grabacion de ISO's, como puede ser Alchohol 120%(windows, bajable en softonic) o K3b(Linux power!!!, en synaptic), quemamos la iso que acabamos de crear en un CD-RW(a no ser que te quieras arriesgar a joder un cd), con el tipo de grabacion DAO o Disc at once.

Mete el CD-RW en la xbox y reiniciala(apagala y vuelvela a encender) con él metido para que cargue. Si todo ha ido bien, cargará un menu similar al de Microsoft. Al no cambiar nada más en el evox.ini si tienes la misma version que yo(o posterior), tendras activado un servidor ftp.

Abre un gestor de ftp(el que te apetezca) y conecta con los siquientes datos:

Servidor/IP: 192.168.100.Y
Usuario: xbox
Password: xbox

donde la 192.168.100.Y es la misma IP que pusiste en el Evox.ini para la CONSOLA.

Si todo va bien, cargarán una serie de carpetas que curiosamente se parecen mucho a las unidades de un pc no? xD. copia las carpetas C y E a tu disco duro como copia de seguridad puesto que son la unica manera de recuperar una xbox "sana" si se produjera algun error grave.

Una vez hecho esto, entra en la carpeta "C" y cambia el nombre de xboxdash.xbe por msxboxdash.xbe.

Copia el contenido de la carpeta donde esta evox.ini a la carpeta "C" de la xbox(si si, en C directamente, que quede evox.ini y demás en C).

Ahora cambia el nombre de default.xbe por xboxdash.xbe. Con esto habrás copiado el dashboard al disco duro y cargará la proxima vez que arranques la xbox.

Saca el CD y reinicia la xbox, cruzando los dedos para que no falle nada. ¿A que no fayó?

Descargando Xebian

¿Que es xebian? pues es una distribucion de debian modificada para poder ser ejecutada en la xbox. si, ya se que debian no es ubuntu, buaaaah, espera joer, espera, jajaja.

Podria dar un link directo a la descarga de xebian pero esta en sourceforge y cambian cada X tiempo, así que lo mejor es que vayas a sourceforge.net y en busqueda pongas "xbox".

De entre todos los proyectos, debes escojer "Linux on the xbox" y cargar su web(clic en el nombre).
Este es el link a la hora de escribir este "Articulo":
Web

De los que aparecen abajo en una tabla, has de escoger "ED's Xebian", y acer clic en el enlace. De los archivos que salen para descargar, yo me baje "dist-1.1.1-xbox.tar.gz". Son 283mb asi que no instala mucho, solo lo basico.

Escoje un mirror de los que salen(sitio pa descargar) y bajatelo algooooo.

Descomprime el contenido en una carpeta y fijate en la iso que aparece "1.1.1-xbox.iso". Has de grabar esta iso con un programa de grabacion como el de antes (ahora NO necesitas usar el qwix para nada, solo es quemar la imagen).

Pon de modo de grabacion DAO / Disc at once como la vez anterior y quema la iso en un CD-RW(por si acaso). Mete el cd en la xbox y reinicia con él metido.

Espera a que cargue todo lo de linux y aparezca un escritorio xulo aunq reducido(de cosas). Piya un poco de practica en mover el "raton" (mando xD), aunque si jugaste a halo no tendras problemas, jejeje. Cuando estes listo, continúa:

Abre un terminal y el teclado virtual. ahora viene la parte emocionante, por fin lo mejor de linux en xbox xD. "Teclea":

su
el password es "xebian"

XBOXLinuxInstall

este comando es tal cual lo he escrito, como el teclao en pantalla/virtual es una coña, armate de paciencia.

A las preguntas que te hacen, debes responder la respuesta que viene por defecto, con lo que se creara una particion de 2GB en e:\ yamada "debian". Este proceso tarda un ratin y luego te haran unas cuantas preguntas.

IP (será la de la consola, el puñetero 192.168.100.Y algooooo)
NETMASK (255.255.255.0 ¿cual sino?)
GATEWAY (será 192.168.100.X, la de la tarjeta de red en el PC)
HOSTNAME (al gusto)
DOMAIN (al aliño)

cuando termine de copiarse y configurarse todo, y aparezca el shell esperando por tí, ya sabes, "reboot"

Vuelve a ejecutar la xbox para que salga el menú dashboard(y tengamos el servidor ftp de nuevo).¿hechas en falta que podamos cargar linux no?. vamos a volver a modificar el fichero "evox.ini" de nuestro PC.

Busca la linea:
Item "Launch DVD",ID_Launch_DVD
y añade debajo:
Item "Linux","e:\debian\default.xbe"

Guarda el archivo y envialo por ftp a la carpeta C de la xbox(como ya existe, sobreescribelo)

Reinicia la xbox y observa como tenemos linux en el menú. Cargalo y mira que belleza xD.

Si, ya tenemos linux, pero esto no es ubuntu(weno al final sera mas o menos, un xebian con ubuntu por encima pero nos aproximaremos mas a ubuntu).

Cambiando de xebian a ubuntu(casi xD)

Descargate el programa putty de www.putty.nl(o en synaptic, si es pa linux) .Inicia la xbox con xebian(si es que no lo has hecho aun) y putty en el pc.

En putty escribe la direccion "192.168.100.Y" (joer esto parece un flashback)y marca el puerto SSH (pondrá 22 en numero).Cuando conecte y salte un aviso, acepta(no recuerdo si es "Yes", u "Ok", abajo a la izquierda de todas maneras). Pon estos datos:

login:root
pass(espera, que no ta colgado, es que tarda :S): xebian

Bueno bueno, ya tamos conectaos, ahora mete en la xbox el cd de ubuntu install (mejor si lo tienes pedido, que a mi el oficial me funcionó, si faya el que tengas graba una copia en cdrw). y ale, a teclear EN PUTTY:

nano /etc/X11/XF86Config-4
Busca la seccion de Depth 24 y cambia "640x480" por "800x600"(quizas se vea pequeño pero es necesario para mas adelante). Pulsa Control X y pulsa enter para aceptar los cambios.

adduser XXXXXXX (lo que kieras tú)

apt-cdrom add (y espera)

nano /etc/apt/sources.list y comenta todas las lineas menos el cd de Ubuntu Warty con un # delante.
Luego añade los repositorios de esta propia web:

deb ftp://ftp.ubuntu-es.org/ubuntu hoary main restricted universe multiverse
deb ftp://ftp.ubuntu-es.org/ubuntu hoary-security main restricted
deb ftp://ftp.ubuntu-es.org/ubuntu hoary-updates main restricted universe multiverse

(ideal para esto es copiarlo del navegador web y pegarlo en putty con las teclasMayusculas e Insertar
Sal con control X. Pulsa enter para confirmar que quieres guardar los cambios

apt-get update
apt-get upgrade

apt-get install gdm
apt-get install synaptic

Ahora en la XBOX, abre un terminal y "escribe":

gdmsetup

configura en la ventana que sale el autologin para el usuario que creaste antes con "adduser" (esto es porke en gdm no podemos escribir con el mando de la xbox xD). Asegurate de poner que un usuario(puede ser el mismo de antes) entre automaticamente pasados unos segundos(por ejemplo 10, aunq por defecto vienen 30).

Cierra la ventana de gdmsetup y preparate psicologicamente para seguir atacando, jeje.

Ahora ejecuta synaptic en un terminal e instala:
-->"Metacity"
-->aunque antes recomendaba Gnome, he visto que XFCE va mejor, asi que simplemente hay que poner descargar xfce4
-->Nautilus (pa navegar que mola)
-->Xscreensaver

desinstala "Fluxbox".

Ya estamos casi apunto, en PUTTY, teclea(donde XXXXX es el usuario que creaste antes con adduser):

touch /home/XXXXXXX/.xsession
nano /home/XXXXXXX/.xsession

escribe dentro:

exec xfce4-session

y pulsa Control X. Acepta para guardar los cambios.

update-alternatives --config x-window-manager

y asegurate de que Metacity tiene un * al lado. Si no es asi, teclea el numero que corresponda y pulsa intro. Si tiene al lado el * pulsa intro sin mas.

Antes de reiniciar la consola.....un detaye. ¡¡¡Ta en ingles xD que es esto???!!!. En putty teclea:

dpkg-reconfigure locales y en las listas que te salen elige siempre es_ES-Euro@UTF8 (no me acuerdo del todo pero solo ay una igual o similar). Marcala con la barra espaciadora y pulsa enter. Luego te preguntara cual quieres que sea el idioma por defecto(elige esta de es-Es-Euro@UTF8) y acepta. ya tará en español algooooo

Reinicia la consola y ..... preparate para disfrutar de ubuntu en Xbox algooooo

Ahora en la XBOX (en tu "ubuntu") tenemos que buscar onde anda el teclao virtual no?
Esta en /usr/X11R6/bin y se llama xvkbd. Vamos a arreglar las cosas para que podamos tenerlo con 2 clics xD.

Ejecuta putty y pon(donde XXXXXXX es el usuario que creaste hace la tira xD):

cd /home/XXXXXXXXX
touch teclado
chmod +rwx teclado
nano teclado

dentro, escribe:
/usr/X11R6/bin/xvkbd

Pulsa Control y X para salir y acepta lo de guardar el archivo algooooo.

Ahora podras abrir el teclado haciendo clic en el icono de carpeta y luego en el archivo de nombre: teclado (solo 1 clic en cada xD)

Solo nos queda un pequeño detaye.... Con un cable cruzado no tenemos conexion a internet directamente! Ey pero yo quiero navegar en la xbox! Bueeeeeno, na de lagrimas, tambien se puede hacer.

Agregando conexion a internet y finalizando(por fin)

Esto se hace en el PC al que esta conectada la xbox(el "servidor".

En windows poned las propiedades de la conexion de area local que este conectada a internet y decirle que quereis compartir con la conexion de area local conectada a la XBOX. Ya ta, ya tiene internet la xbox.

En linux, es un poco mas complicado pero muy poco. Debes instalar el proxy squid con el paquete de Synaptic.

Una vez instalado, hay que editar el archivo /etc/squid/squid.conf y buscar las siguientes lineas(descomentandolas si lo están y si no existen crearlas):

http_port 3128
cache_mem 8

cache_dir ufs /var/spool/squid 100 16 256
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl mired src 192.168.100.0/255.255.255.0

Sobra decir que hecho esto guardes los cambios y reinicies el proxy squid con:

sudo /etc/init.d/squid restart

Abre firefox y edita las preferencias. Elige la configuracion del proxy y selecciona la opcion "configuracion manual del proxy" o "manual proxy configuration" (porke seguira en inglés?) y escribe en el primer cuadro de texto la direccion 192.168.100.X(la de la tarjeta de red del PC) y en la otra 3128. Acepta y haz clic en uno de los enlaces ya predefinidos para no perder mas tiempo con el teclao virtual. Si te carga... ya tá, un ubuntu en la tele y con interné. Si no, repasa lo que icimos de configurar squid y demás.

Ampliación: Acceder a las demás particiones de la xbox en Ubuntu
Ya, me lo temía. Ahora que tienes linux seguro que se te ha pasado por la cabeza: "Hey esto es un sistema operativo, tambien conocido como Sistema P2P" (jajajajajajaja). Bueno bueno, pues claro hombre, se puede, es un poco extraño pero pa eso tan los tutoriales, pa enseñar.

Bien, queremos acceder a las particiones de la XBOX para cualquier cosa, ya sea poner ahi juegos, ver peliculas de las otras particiones o quién sabe que. Como siempre, por pasos:

Fijate bien en esta tabla:

E = hda50 Datos
C = hda51 Archivos de sistema
X = hda52 Cache de juegos A
Y = hda53 Cache de juegos B
Z = hda54 Cache de juegos C
F = hda55 Particion adicional
G = hda56 Particion adicional

Bien, no todo el mundo tiene partición F o partición G, asi que averiguarlo ya es cosa tuya. Tampoco podrás acceder a ellas si no están formateadas claro. Para eso hay una opcion en los propios Dashboards, en concreto Unleash lo hace bien(supongo que mi antiguo dashboard, Evox, pues también). Fijate en el "hdaNUMERO" que eso es lo importante. Como en mi caso solo me interesan la partición C, E y F(no tengo G) pues me fijo en que son: hda50, hda51 y hda55.

Arranquemos pues putty y logueemonos como "root" (recuerda, el password es "xebian") para continuar haciendo:

cd /mnt
mkdir C && mkdir E && mkdir F
nano /etc/fstab

Esto sirve para crear los directorios /mnt/C, /mnt/E y /mnt/F para acceder a nuestras particiones como si de carpetas se tratase(Guuuuuuuau pero que sencillo quedará algooooo )
A continuacion, en el archivo que estamos editando(fstab) hay que añadir las siguientes lineas(DEBES dejar una linea en blanco al final del texto, asi que si dandole a la flecha del teclado para abajo no hay una, pues pon tu una linea en blanco):

a) Deseas que la partición se active automáticamente en cada inicio de tu "UbuntuXbox":

/dev/hda50 /mnt/E fatx umask=000,auto 0 0
/dev/hda51 /mnt/C fatx umask=000,auto 0 0
/dev/hda55 /mnt/F fatx umask=000,auto 0 0

b) Deseas que la partición NO se active automáticamente en cada inicio de tu "UbuntuXbox":

/dev/hda50 /mnt/E fatx umask=000 0 0
/dev/hda51 /mnt/C fatx umask=000 0 0
/dev/hda55 /mnt/F fatx umask=000 0 0

Pulsa las teclas Control y X para salir y acepta los cambios realizados.
Bien, ya tenemos listas y preparadas las particiones. Para comenzar a usarlas hay también 2 opciones:

a) Si escogiste que SI se activasen automáticamente: reinicia Linux, que es lo más practico algooooo.

b) Si escogiste que NO se activasen automáticamente: escribe en un terminal(vale putty):

mount /mnt/C && mount /mnt/E && mount /mnt/F

Con lo que se activarán y podrás acceder a los datos que contienen.
algooooo exitazo para linux, jajaja una XBOX que podría autobajarse los juegos a sí misma xD(bueno para eso necesitas un disco duro grande, jejeje ya que hay que descomprimirlos)

Ampliación: Control remoto en modo grafico de ubuntu
Bueno, esto es un añadido que pongo yo aunque no es necesario pero nos hace la vida mas cómoda.

Supongamos que tienes que administrar/instalar/ejecutar un programa de manera grafica(yo que se, synaptic, gdm-setup) y claro, si lo ejecutas en putty pues evidentemente te dara un fallo y te mandara a paseo y a veces en la xbox te cansa "teclear" o moverte con el mando. Si quieres que en tu pc salga una ventanita donde puedas controlar tu escritorio de la xbox, haz lo siguiente:

Instala en la xbox (a traves de synaptic en modo grafico, o con apt-get install a traves de PUTTY):

vino
vnc-common

Lanza una terminal en la XBOX y "escribe":
vino-preferences

Te sale una ventana en la que pones que si deseas compartir tu escritorio y que lo manejen desde fuera y todo eso. Desmarca la opcion de "Pedir confirmacion" y marca la de la contraseña(si quieres que para conectar con la xbox en modo grafico te pida una).

Termina de configurar y cierra la ventana.

En el mismo terminal sin cerrarlo, "escribe" (ojo porque el terminal quedara ocupado, tenlo en cuenta):

vino-server

Observaras que en el terminal se ejecuta y ya está. Ahi se queda sin que parezca que halla pasado nada.

Ahora vamos al PC y nos aseguramos de tener instalado el programa xvncviewer(creo que viene de paquete con el ubuntu-desktop, pero por si acaso lo digo).

Lanzamos un terminal en nuestro PC (ubuntu xD, o en su defecto un linux, nada de Windows, a ver que va a ser esto xD) y ejecutamos:

vncviewer 192.168.100.Y:0

Donde el 192.168.0.Y es la famosa IP que configuramos para la consola, de la que empiezas a recordar y ver que aparece en toas las configuraciones xD. Recalcar que si lleva ":0" al final, nada de comerse ese ":0" ni es que lo ponga yo por gusto.

Si todo va bien te saldra la pantalla magica(si pide clave pues la que pusiste, tu sabrás). Bueno, hay que reconocer que tiene un poco de lag(retraso), pero ¡menos da una piedra !¿no?

Ampliacion: Reproductor multimedia en xbox~ubuntu

Si no lo has borrado, deberias haberte dado cuenta de que en el escritorio en el que cargamos por primera vez xebian, habia un icono que no es muy familiar "Freevo". Te preguntarás que es.

Pues se trata ni más ni menos de un reproductor de videos, musica e imagenes, que en mi opinion no llega a la calidad de otros reproductores en linux como xine pero puede ser una buena opcion para los usuarios de linux(parto del echo que no es solo para xebian)algooooo

NOTA: aunque no corresponde mucho aqui, siempre es posible encontrar mejores reproductores en exclusiva para xbox como XBMC(no es legalmente descargable) y que carguen directamente desde el dashboard(como xebian), pero nunca se sabe a quien le puede gustar cotillear reproductores algooooo

Fotos

Bueno, aqui esta una pequeña prueba visual de que estoy ejecutando ubuntu(o un clon mu similar) en mi tv, jajaja, donde se puede ver que la conexion de audio y video(los cables), son negros, osea de la xbox xD.

Pido perdon por la barra "negra" central pero eso es debido al refresco de la tele, que nadie se piense que se ve así xD, se ve chulo. También por la calidad de las fotos pero no fui capaz de coger nada mejor con la camara digital xD.

Foto 1(Ubuntu+firefox+teclado virtual minimizao)

Y otra en la que se ve claramente el escritorio de ubuntu junto con el teclado virtual famosillo, todo con el tema "human" por defecto algooooo

Foto 2(Ubuntu escritorio+teclado virtual)

Agradecimientos

A mi novia que seguro que me aguantará cuando le suelte el royo linuxero(por vez tropecientos) ahora con que lo hago en la tv y porque la quiero algooooo
A que llevas leyendo esto horas y horas con paciencia.
A ubuntu por ser ubuntu y haberme mandao los cd's gratis(5 que pedí).
A esta comunidad por dejarme postear estos textos enormes y utiles(espero) y por dejarme prestados los comandos para reconfigurar los "locales" algooooo
A XboxRebelion por el tutorial sobre como instalar xebian
A ElOtroLado por el tutorial de evox (aunq no contestasen a mis post sobre el tema)
A la comunidad linuxera por poner en google alguna solucion para este tutorial como lo de elegir Metacity como Windows manager
A ED por idear la manera de meter un linux que use DEB y por tanto Ubuntu.
A el tio que me puso el chip porque me puso uno "viejo", aunque funcional y gratis.

Si alguien espera que le de las gracias a mocosoft por lo de la xbox, que ni lo sueñe, mi xbox ya no pertenece a mocosoft, mi xbox... ¡es libre!

No hay comentarios.: