Hola a todos!


Este es mi primer post en T! asi que vengo con algo bastante interesante, por que lo que nadie se esperaba es que un telefono asi, que no tiene aspecto de muchas capacidades pudiera cargar Android OS.

Esta vez el desarrollador ''cabecilla'' del grupo es Simo2553 que ya ha portado Android a nuestro Samsung aunque aun le falta el BootLoader (Esto es lo que va a hacer que cargue Android) pero aclara que esta casi listo, de hecho, hoy 10/05/2011 lo intento subir pero se confundio y subio uno diferente.

¿Que podemos hacer con MonteDroid?

- Navegar por la interfaz de Android

- Cargar algunas Apps y Juegos que sean soportados.

- Navegar por Android Market

- Ejecutar algunos emuladores

¿Que NO podemos hacer todavia?

- Hacer llamadas

- Utilizar el WiFi (Aunque no estoy seguro)

- Utilizar Bluetooth (No estoy seguro)

- No podemos cargar juegos como Asphalt 5 ya que nos iria MUY lento

¿Que version de Android tendra MonteDroid?

Pues este Samsung, al no contar con mucha RAM Podria cargar:

- Android 1.5 Cupcake

- Android 1.6 Donut

Simo2553 da a elegir entre estos dos.

Nota: Al instalar esto no se pierde el OS original de el Samsung Onyx, el Android se inicia pulsando Boton de Llamada + Boton de encendido mientras que el OS original sigue intacto, el original se incia normalmente, (Boton de Encendido)

Tutorial de Instalacion:
Se necesita tener una particion de la tarjeta esta particion sera del tipo EXT2

1)8 Gib SD card.
2)Windows , Linux.
3)El bootloader
4)Los archivos de Android.
5)Multiloader v5.62.
6)Samsung Monte.


Primero abre el MultiLoader 5.62 selecciona BRCM2153 .
Luego,Aplica el boton boot change. Entonces cargas los archivos del BootLoader modificado, se cargan en la primera casilla, la que pone BOOTFILES, Entonces enciendes tu telefono en modo Download mode, lo conectas y le das a Port Search, clica en Download..
Ya tienes Android en tu Samsung .

Quiero dejar claro que este tutorial no sirve hasta que el proyecto se haya terminado, conforme salgan actualizaciones de el proyecto yo actualizare el post.

ACTUALIZACION: 29/05/2011
Simo2553 ha creado el kernel con el que quizas podamos:
- Utilizar el Wi-Fi
- Hacer Llamadas
- Acceder a los archivos de la SD
- Y todo lo mencionado anteriormente
ACTUALIZACION IMPORTANTE: 14/06/2011
0xcbee LoadPoint


Cond = R0;
/ * Bajo nivel de instrucción de tipo 43 * /
Cond = 7;
Cond = 3;
var_20 = 3;
Cond = 0;
Cond = 14;
sub_8EB0 (0x8821000, 7, 0, 14);
Cond = 0x64;
sub_5EA0 (0x64, R1, R2, R3);
Cond = 0;
R0 = Func_Flash_Init_boot1b (0, R1, R2, R3);
Cond = 8;
R5 = 8;
Cond = 1;
R4 = 1;
R6 = 0x88e0000;
R7 = 0x8880000;
Cond = R0;
if (cond == 0) Ir a LoadBoot2Img;

/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8821000, R1, R2, R3);
/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8820000, R1, R2, R3);
* (R7 + 0x18) = R4;
R0 = * (R6 + 2);
Cond = R0 | R5;
R0 = R0 | R5;
* (R6 + 2) = R0;
GotoDownloadMode (R0, R1, R2, R3);

LoadBoot2Img:
Cond = 0x800;
R0 = 0x800;
Cond = R0 <<6;
var_18 = R0;
Cond = Load_Boot2Img (0x81980000, R0 <<6, R0, R3); / / puede ser que podemos cambiar boot2img con una imagen de u-boot
if (cond == 0) Ir a loc_CC66;

/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8821000, R1, R2, R3);
/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8820000, R1, R2, R3);
* (R7 + 0x18) = R4;
R0 = * (R6 + 2);
Cond = R0 | R5;
R0 = R0 | R5;
* (R6 + 2) = R0;
GotoDownloadMode (R0, R1, R2, R3);

loc_CC66:
R0 = 0x81980000;
Cond = R0 + 0x20;
/ * Bajo nivel de instrucción de tipo 46 * /
R2 = 0xbabeface;
Cond = 1;
R1 = 1;
Cond = R0 + 0x20 - R2;
if (cond == 0) Ir a loc_CC78;

Cond = 0;
R1 = 0;

loc_CC78:
R4 = 0x81889558;
Cond = R1;
* R4 = R1;
if (cond == 0) Ir a loc_CCF0;

R0 = 0x81980000;
Cond = R0 + 0x24;
/ * Bajo nivel de instrucción de tipo 46 * /
* (R4 + 4) = R0 + 0x24;
/ * Bajo nivel de instrucción de tipo 44 * /
* (R4 + 8) = var_18;
clearRegisters (0x8821000, R1, R2, R3);
Cond = 4;
sub_8F24 (0x8821000, 4, * (R4 + 4), R3);
/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8821000, R1, R2, R3);
R0 = * (R4 + 8);
R1 = * (R4 + 4);
Cond = R1 - R0;
if (cond> = 0) loc_CCBA Ir;

/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8821000, R1, R2, R3);
Ir a loc_CE36;

loc_CCBA:
Cond = R1 - R0;
R2 = R1 - R0;
if (cond == 0) Ir a jumpToBoot2;

Cond = 1;
R1 = 1;
R3 = 0x81980000;
Cond = R1 <<0x11;
R1 = R1 <<0x11;
Cond = R0 + R1;
Cond = R0 + R3;
Cond = Load_Boot2Img (R0 + R3, R0 + R1, R2, R3);
if (cond == 0) Ir a jumpToBoot2;

/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8821000, R1, R2, R3);
/ * Bajo nivel de instrucción de tipo 44 * /
clearRegisters (0x8820000, R1, R2, R3);
Cond = 1;
* (R7 + 0x18) = 1;
R0 = * (R6 + 2);
Cond = R0 | R5;
R0 = R0 | R5;
* (R6 + 2) = R0;
GotoDownloadMode (R0, R1, R2, R3);

jumpToBoot2:
Ir a loc_CE36;

loc_CCF0:
Ir a loc_CE10;
Lo sé, sé que no habeis entendido nada, esto quiere decir que casi tienen el BootLoader, por no decir que lo tienen, ahora lo que necesitan es probarlo:
Cito textualmente un comentario de un desarrollador:
Yes you have the thuth, the boot2.img can be replaced for the new boot to start android. if it work, make the dualboot will be a child game. good dude. Really you have a lot of asm knowledge
Traduccion:
Si tu tienes la razon, el boot2.img puede ser reemplazado por el nuevo arranque de android. Si esto funciona, hacer el dualboot(1) sera un juego de niños. Muy bien, tienes mucho conocimiento de ASM.

(1): Dualboot es para que podamos tener los 2 sistemas operativos (TouchWizz y Android)

Se me hace la boca agua, falta menos que nunca...
Ahora solo queda esperar.
Podeis descargar el kernel en el link que he puesto mas abajo.

ACTUALIZACION: 15/JUNIO/2011 EL BOOTLOADER ESTA POR SALIR
I send an email to Mr Scott Branden . He works at Broadcom at the moment and He has a working bootloader for our chip to boot an android kernel . His friend Mr Hao Leo Chen(Thanks to much for his support ) has written this bootloader when he was working at broadcomm. He said Mr Branden can help us about a working source code and other issues . Please do not send spam messages and other issues. I will share all informations at any response.


This u-boot loader has supports below

* deliver the changes into linux-c for u-boot support, with proper parameters and configurations.
* upgrade u-boot to the latest version and get it working on bcmring platform.
* port ethernet driver to u-boot, so that the network boot and network rootfs will be supported.
* if time permits, I may get u-boot or other bootloader working for bcmhana as well.
Con eso lo he dicho todo

Gracias a todos por haber seguido el proyecto en este post, ahora supongo que solo quedara pulir algunas cosas...
DE VERDAD MUCHAS GRACIAS POR TODOS LOS COMENTARIOS, LOS PUNTOS Y A MIS SEGUIDORES.


Aqui os dejo el enlace para descargar MonteDroid:

https://github.com/Simo2553/MonteDroid

Foro:

http://darkforestgroup.com/forum/index.php/board,226.0.html

Un saludo a todo el mundo y espero que os sirva