PDA

Ver la versión completa : S.O. desde cero para GP2X (estudio de viabilidad)



thanatos
29/01/2006, 00:23
Para mi proyecto de fin de carrera, se me ha planteado la posibilidad de desarrollar un mini S.O. para una plataforma no PC. Claramente, he pensado inmediatamente en la negrita.

La idea básica es seguir las directrices MINIX-POSIX para hacerlo lo más modular y funcional posible y, a partir de ahí, tal vez meterle unas X (más que nada para que se pudiera mostrar algo bonito a la hora de defender el proyecto) y, sobre todo, meterle alguna función de comunicación (aunque sea una muy cutre).

Sé que el foro está infestado de informáticos, telecos y frikis varios, así que os pido consejo y/o opinión. ¿Es viable? ¿Es fácil? ¿Qué necesitaría?

Todos los comentarios serán bien recibidos.

Gracias.

LukStarkiller
29/01/2006, 00:32
La idea no es mala, pero va a ser muy dificil mas que nada por la poca nformacion que suelta Digsys y GPH sobre su actual firm y como aprovecha el Hard, lo cua seria una gran ayuda, pero bueno supongo que por poder se podra hacer algo.

En cuanto a lo de posibilidades de comunicacion a que te refieres?, lo digo porque si es comunicar por el EXT, lo veo muy factible, pero es que aparte del ext hay poco mas donde sacar comunicacion, a nos er que te currases un driver para el USB o para una SDIO.

Bueno a ver si te apoya gente con ese nivel de estudios, que yo a SOs aun no llego

pakoito
29/01/2006, 00:42
Ideas Brainstorming:

1.- Contacta con GPH y pideles la info a cambio de poder usar tu SO completo instalado de serie en cada consola. Si te estiras un poco diles que si es lo suficientemennte bueno querras pasta.

2.- La idea de petiso: Poder conectar la consola al PC y mediante un programa poder jugar online con otra. Estilo de la NDS y PSP pero no wifi...o si :confused:

3.- Sistema completo de archivos desde la consola, lanzado directamente. Un x-windows o algo asi...

4.- Permisividad de uso de los 2 procesadores, la ram y demás a pleno rendimiento.

5.- Alguna libreria interna de renderizado, basada en tinyGL o algo asi...


Si se me ocurre alguna idea más te aviso...

thanatos
29/01/2006, 02:24
Ideas Brainstorming:

1.- Contacta con GPH y pideles la info a cambio de poder usar tu SO completo instalado de serie en cada consola. Si te estiras un poco diles que si es lo suficientemennte bueno querras pasta.

2.- La idea de petiso: Poder conectar la consola al PC y mediante un programa poder jugar online con otra. Estilo de la NDS y PSP pero no wifi...o si :confused:

3.- Sistema completo de archivos desde la consola, lanzado directamente. Un x-windows o algo asi...

4.- Permisividad de uso de los 2 procesadores, la ram y demás a pleno rendimiento.

5.- Alguna libreria interna de renderizado, basada en tinyGL o algo asi...


Si se me ocurre alguna idea más te aviso...

Ueeeeee despacio hombre, despacio XDD

1.- El proyecto sería oficialmente propiedad de la universidad, así que no podría hacer nada de eso que dices.
2.- Hasta donde pienso llegar, no creo que se pueda jugar online a nada. Lo de la comunicación es un requisito porque mi carrera el Teleco y hay que meter algo de eso. Se trata de hacer un S.O., con él la consola no tiene por qué servir para jugar (aunque no estaría mal).
3.- No se dónde relacionas X-Windows con sistema de archivos, pero sí, la idea es tener X y un sistema de archivos completo.
4.- En principio sí, pero para empezar cuanto menos use, más sencillo será todo.
5.- Halaaaa! Eso se queda tremendamente fuera de mis pretensiones (aunque molaría, jejeje).



La idea no es mala, pero va a ser muy dificil mas que nada por la poca nformacion que suelta Digsys y GPH sobre su actual firm y como aprovecha el Hard, lo cua seria una gran ayuda, pero bueno supongo que por poder se podra hacer algo.

En cuanto a lo de posibilidades de comunicacion a que te refieres?, lo digo porque si es comunicar por el EXT, lo veo muy factible, pero es que aparte del ext hay poco mas donde sacar comunicacion, a nos er que te currases un driver para el USB o para una SDIO.

Bueno a ver si te apoya gente con ese nivel de estudios, que yo a SOs aun no llego

No me importan ni Digsys ni GPH, porque para hacerlo hay que pasar totalmente de lo que hay ahora, reflashear desde 0. Sí necesitaré un poco de doc del hardware, pero el aparato es bastante sencillote y si no lo consigo de ellos se puede tantear sobre el terreno.

La comunicación sería, si se puede, por USB, que es lo fácil. Si no, por donde sea.

Un saludo, sigo esperando... cualquier cosa que se os ocurra.

pakoito
29/01/2006, 02:28
3.- No se dónde relacionas X-Windows con sistema de archivos, pero sí, la idea es tener X y un sistema de archivos completo.

Toda la razon del mundo, si me oyera mi profesor de SSOO decir lo que he dicho me ponia un rosco tamaño plaza de toros xD

Me referia a un EXPLORADOR de archivos, no a un sistema...


2.- Hasta donde pienso llegar, no creo que se pueda jugar online a nada. Lo de la comunicación es un requisito porque mi carrera el Teleco y hay que meter algo de eso. Se trata de hacer un S.O., con él la consola no tiene por qué servir para jugar (aunque no estaría mal).

Lo que tendrias que hacer es comunicar las GPs una con otra, nada más. Luego ya que los juegos se las ingenien para emular un jugador en la otra maquina.

namikata
29/01/2006, 03:00
Lo que tendrias que hacer es comunicar las GPs una con otra, nada más. Luego ya que los juegos se las ingenien para emular un jugador en la otra maquina.

creo que se refiere a que al ser un so nuevo, para que los juegos funcionasen el el, tendria que por ejemplo, crear un compilador de c para su nuevo so, y portar las sdl

supongo que cuando dice hacer un so nuevo no quiere decir clonar linux :D asi que la consola solo haria lo que el so le permitiese

hectorblanco
29/01/2006, 03:21
Mi opinión es que te meterás en un berenjenal del que será dificil salir.
Un SO desde 0, aunque sea con bases conocidas como POSIX, no es nada fácil, sino que se lo digan a Linus, y eso que el lo creó sobre un 386 que era harto conocido ya.
Mi recomendación es que cojieras el SO libre publicado, aunque sea una versión vieja, y lo modificaras. Suele ser habitual hacer de proyecto la modificación de un kernel ya existente.

CHOPPER
29/01/2006, 03:42
Ya que se a creado este post, hay PDA´s que se les puede instalar el Linux y luego volver a poner el WM2003, que trae de serie,pregunto:

¿En la GP2X no se podria instalar el sistema WM2003?

Saludos. ;)

hectorblanco
29/01/2006, 04:54
Ya que se a creado este post, hay PDA´s que se les puede instalar el Linux y luego volver a poner el WM2003, que trae de serie,pregunto:

¿En la GP2X no se podria instalar el sistema WM2003?

Saludos. ;)

Dificilmente. Windows es código cerrado, y por lo tanto si no lo recompila todo microsoft para este sistema, no hay nada que hacer, además de que dudo que tuviera mucha utilidad hacerlo.

rvg
29/01/2006, 06:51
Recomendacción:

Si el SO està vasado en Linux siempre puedes currarte una comunicación externa mediante un adaptador USB o SD de WiFi.
El sistema de archivos es los mas basico a implementar des de mi punto de vista.

Malenko
29/01/2006, 06:59
1.- El proyecto sería oficialmente propiedad de la universidad, así que no podría hacer nada de eso que dices.

FALSO!!!!! El proyecto es propiedad intelectual tuya y de la universidad. No puede ser únicamente de la universidad porque el proyecto lo haces tu, aunque bajo la supervisión de un/a tutor/a.

Yo más que usar un S.O. desde 0 miraría de portar uno de código abierto a la GP2X. Podrías provar con Windows CE, cuyo código fuente esta (o estaba) disponible. De hecho, si no recuerdo mal, para la GP32 ya salío una mini-versión de Windows CE, aunque lentilla...

thanatos
29/01/2006, 07:23
FALSO!!!!! El proyecto es propiedad intelectual tuya y de la universidad. No puede ser únicamente de la universidad porque el proyecto lo haces tu, aunque bajo la supervisión de un/a tutor/a.

Yo más que usar un S.O. desde 0 miraría de portar uno de código abierto a la GP2X. Podrías provar con Windows CE, cuyo código fuente esta (o estaba) disponible. De hecho, si no recuerdo mal, para la GP32 ya salío una mini-versión de Windows CE, aunque lentilla...

Bueno, supongo que eso depende un poco de cada universidad. Esta es mi segunda carrera (primero hice Ingeniería Técnica Industrial - Electrónica Industrial) y en mi primer PFC al firmar la viabilidad en letra pequeña pero visible ponía eso de que cedo todos mis derechos sobre el trabajo a la Universidad.

En cuanto a modificar un kernel existente, el problema es que (según el profesor) sería muy fácil hacer un proyecto a base de Ctrl-C & Ctrl+V con poquillas modificaciones de las que no habría manera fiable de saber si son mías... vamos, que me ponen pegas con eso.

En cualquier caso parece unánime el comentario de que hacerlo desde 0 (desde 1 pensando en POSIX) es demasiado. Veré qué puedo conseguir. Gracias de todos modos.

Un saludo.

Uncanny
29/01/2006, 07:36
Yo más que usar un S.O. desde 0 miraría de portar uno de código abierto a la GP2X. Podrías provar con Windows CE, cuyo código fuente esta (o estaba) disponible. De hecho, si no recuerdo mal, para la GP32 ya salío una mini-versión de Windows CE, aunque lentilla...Yo también pienso lo mismo de que puede ser una buena opción basarse en otros S.O. existente y adaptarlo/mejorarlo para que funcionara en la GP2X. Lo de optar por Windows CE ya no me parece tan buena idea (al menos para un proyecto de fin de carrera), Windows CE a partir de la versión 5.0 está bajo la licencia Shared Source la cual (sin no estoy mal informado) te provee el código fuente de Windows CE, te permite modificarlo y sacar una nueva versión de Windows CE sin necesidad del permiso expreso de Micro$oft, pero a su vez no permite publicar el código fuente de este ni usar ninguna parte del código fuente original de Windows CE en otros proyectos (pues a efectos prácticos de la licencia Shared Source todo el código de WIndows CE es propiedad intelectual de MS) por lo que no es lo más aconsejable en un proyecto de este tipo.

Si quieres basarte en un S.O. libre, descartando al kernel Linux, puedes optar por NetBSD (http://www.netbsd.org/), con licencia BSD (software libre, pero una licencia permisiva, puedes modificar el código y hacer prácticamente lo que quieras con este, y tampoco se te obliga a liberar el código fuente, aunque puedes hacerlo si quieres), en concreto existe un port (http://www.netbsd.org/Ports/evbarm/) de NetBSD para placas de sistemas embebidos de arquitectura ARM, la placa MMSP2 (de la GP2X) no tiene aun soporte en este proyecto, así que si decidieras partir de NetBSD/evbarm podrías conseguir un sistema POSIX (http://www.netbsd.org/es/Goals/standards.html) completamente funcional en la GP2X.

Eso si, si quieres hacer un sistema operativo desde cero, pues adelante, después de todo es tu proyecto y tu tiempo :)

Malenko
29/01/2006, 08:04
En cuanto a modificar un kernel existente, el problema es que (según el profesor) sería muy fácil hacer un proyecto a base de Ctrl-C & Ctrl+V con poquillas modificaciones de las que no habría manera fiable de saber si son mías... vamos, que me ponen pegas con eso.


Ummm, tendrías implementada la parte a "alto nivel" del S.O. pero te faltaría programar el hardware en concreto de la GP2X, que digamos es la parte complicada del tema.

Jan_Europa
29/01/2006, 12:13
FALSO!!!!! El proyecto es propiedad intelectual tuya y de la universidad.

son las 6'15 de la mañana y estoy bastante tocado, pero....


esta frase no es EXACTA:

depende de las normas de CADA UNIVERDIDAD en concreto, conozco una que SE QUEDA con la propiedad intelectual de los proyectos, por NORMA

WinterN
29/01/2006, 18:54
Yo creo que como proyecto fin de carrera tiene demasiada envergadura, aún cogiendo uno ya existente y modificándolo. Yo creo que deberías coger un proyecto más sencillito y esto hacerlo en tu tiempo libre. Te aseguro que lo disfrutarás más y te quitarás dolores de cabeza.

Yo creo que un factor importante a la hora de plantearse un proyecto, es estar seguro antes de empezar de que vas a ser capaz de terminarlo.

Yo ahora mismo estoy en tu misma situación: buscando proyecto de fin de carrera. Tengo en vista 2 posibilidades y estoy estudiando la viabilidad de ellas:

- Desarrollo es una librería con Taglibs+Struts que me permíta generar gráficas SVG.
- Portar J2ME a la GP2X

El segundo lo pienso hacer aunque no sea como proyecto ;)

BuD
29/01/2006, 19:04
- Portar J2ME a la GP2X

El segundo lo pienso hacer aunque no sea como proyecto ;)Con que codigo? Hay alguna version libre de J2ME?

WinterN
29/01/2006, 19:08
Con que codigo? Hay alguna version libre de J2ME?

No hay una versión libre. Pero el código está disponible en la página de Sun para quien lo quiera portar a cualquier plataforma:

Descarga CLDC (http://www.sun.com/software/communitysource/j2me/cldc/download.xml)
Descarga MIDP (http://www.sun.com/software/communitysource/j2me/midp/download.xml)

Jan_Europa
29/01/2006, 21:55
Yo creo que un factor importante a la hora de plantearse un proyecto, es estar seguro antes de empezar de que vas a ser capaz de terminarlo.

este factor no es importante, sino que es el mas importante....

a no ser que definas muy bien el tema del proyecto con tu tutor y que quede
bien claro que puede ser que no se acabe (proyecto orientado a la investigación, etc)
te lo digo porque al principio las ideas son buenas, pero luego, cuando hay que
entregar el proyecto, los dias faltan y faltan y faltan

y como pasa en temas de proyectos de los que se dispone documentación a raudales
sobre el tema, y mira este que no disponemos de la documentación COMPLETA del HARDWARE, puesto que es un factor fundamental
a la hora de pensar en programar un sistema operativo (tendrás que implementar llamadas directas al hardware - al estilo de la minilib de ryleh - correctamente será de los problemas "menores" que te puedes encontrar y tendrás que saberte de memoria
las especificaciones del micro

javivito
30/01/2006, 01:31
No puedo recomendar nada al creador del post, lo siento, pero si a los que le responden. Por favor... usad un corrector ortográfico, haced de nuevo EGB o al menos aprender el uso de la B y la V. Que duele la vista ver algunas faltas de ortografía, por mucho licenciado o astronautas que digáis que sois.

Muchas gracias.

-fx-
30/01/2006, 03:43
es un cofigo hecho para cosas con pocos recursos, implementa POSIX, tienes acceso al codigo fuete y encima el tio escribe el codigo pensando en la legibilidad, ademas (y esto corregirme si meto la pata) creo que tiene algo de microkernels a partir de la ultima version (3.0)

vamos que lo tiene todo


nu se que decirte, es un a sugerencia na mas

thanatos
30/01/2006, 04:34
es un cofigo hecho para cosas con pocos recursos, implementa POSIX, tienes acceso al codigo fuete y encima el tio escribe el codigo pensando en la legibilidad, ademas (y esto corregirme si meto la pata) creo que tiene algo de microkernels a partir de la ultima version (3.0)

vamos que lo tiene todo


nu se que decirte, es un a sugerencia na mas

Sí, la cosa sería empezar por ahí, pero gran parte habría que descartarla, como la mayoría de E/S, la planificación de procesos... pero sí, por ahí van los tiros.

kanchi
30/01/2006, 05:06
Recomendación de un telecos: Haz un proyecto sencillito y acaba la carrera ya, a la mayoria de las empresas les va a dar igual el megaproyecto que hiciste. Lo que cuenta es la experiencia real. Se que es duro trabajar, pero algun dia hay que hacerlo y dejar de pasar horas en las salas de pc's de la uni :D

lemon
30/01/2006, 05:16
Un SO desde 0, aunque sea con bases conocidas como POSIX, no es nada fácil, sino que se lo digan a Linus

De este comentario deduzco que no has hablado nunca directamente con Linus, no?
Si el es capaz de hacer un nucleo de sistema operativo (pues Linux NO es un sistema operativo, solo és un nucleo que sin el proyecto GNU no seria nada, y Linus solo escribió parte de el), cualquiera lo es ;-)

pakoito
30/01/2006, 05:29
De este comentario deduzco que no has hablado nunca directamente con Linus, no?

Creo que ni el ni el 99% de los informaticos :rolleyes:

lemon
30/01/2006, 05:46
Creo que ni el ni el 99% de los informaticos :rolleyes:

Con "hablar directamente" no me referia a hablar con el en persona sino mas bien a traves del correo electrónico, y eso muchos informaticos (casi todos los que hayan hecho alguna aportacion al kernel linux por ejemplo, esos solos ya son millones) lo ha hecho ;-)

pakoito
30/01/2006, 05:48
Con "hablar directamente" no me referia a hablar con el en persona sino mas bien a traves del correo electrónico, y eso muchos informaticos (casi todos los que hayan hecho alguna aportacion al kernel linux por ejemplo, esos solos ya son millones) lo ha hecho ;-)

Aaaaaaahhhhhh vale, haberte explikado. Por cierto, en serio que te contesta???? Es bueno saberlo para cuando llegue al final de carrera ^^