PDA

Ver la Versión Completa : [ TUTORIAL ] [DEV]Modificar rom LiveSuit


R91
07/05/12, 22:53:47
Actualizo el post para hacerlo un tutorial y que se vea más fácil para que no se pierda.

Siguiendo estos pasos aprenderemos a modificar la stock rom de la Hyundai (o de cualquier otra rom de un dispositivo con Allwinner10 para LiveSuit).

Podremos modificar todo lo que queramos en /system/ para agregar aplicaciones, cambiar configuraciones... Siempre contando con las limitación de espacio impuestas por la partición de la rom. Bueno vamos al tema:

Nos bajamos el ImageSuite [SlateDroid] (http://www.slatedroid.com/index.php?app=core&module=attach&section=attach&attach_rel_module=post&attach_id=4291).

Lo descomprimimos y copiamos la rom oficial en la carpeta llamandola por ejemplo original.img

Despues por linea de comandos navegamos hasta el directorio donde descomprimimos el ImageSuite y ejecutamos la siguiente orden:
extract_img.bat original.img

Nos creará un directorio con la rom descomprimida.

El archivo interesante es RFSFAT16_SYSTEM_000000000 que es la partición /system

Ese archivo lo copiamos a Linux.

Una vez en linux la tenemos que montar para modificarla, pero no es una imagen ext4 al uso, esta dispersa por lo que debemos pasarla primero por el programa simg2img.

Podemos bajarla de ext4_utils[XDA-Developers] (http://forum.xda-developers.com/attachment.php?attachmentid=597848&d=1305554016). Descompriminos el zip y desde una terminal con make lo compilamos.

Ya tenemos el simg2img, solo debemos covertir nuestra imagen:

./simg2img RFSFAT16_SYSTEM_000000000 system.img

Una vez obtenemos el system.img podemos montarla con mount, creamos un directorio de montaje y lo montamos:

mkdir system
mount -o loop -t ext4 system.img system

Ya tenemos en system los archivos de la carpeta /system de la rom.
Los modificamos y desmontamos:
umount system
Copiamos el archivo system.img a Windows y lo renombramos como RFSFAT16_SYSTEM_000000000. Lo copiamos al directorio del ImageSuite donde extrajimos la imagen, sustituyendo el original.

Empaquetamos la imagen:

repack_ics.bat rom.img

Ya hemos creado el archivo rom.img que es nuestra rom, ya solo tenemos que flashearla con LiveSuit

Nota: Los comandos mount y umont así como las modificaciones que hagamos en linux son siendo root


Hola,

Estoy intentando crear una rom extrayendo la imagen para LiveSuit oficial.

Para ello utilizo la herramienta ImageSuite (unimg) (http://www.slatedroid.com/topic/28942-50-to-the-first-person-to-figure-this-out/)

El caso es que la extraigo correctamente (creo) y obtengo los siguientes ficheros:

COMMON _SYS_CONFIG000000.hdr COMMON _SYS_CONFIG000000
COMMON _SYS_CONFIG100000.hdr COMMON _SYS_CONFIG100000
COMMON _SPLIT_0000000000.hdr COMMON _SPLIT_0000000000
RFSFAT16_BOOTLOADER_00000.hdr RFSFAT16_BOOTLOADER_00000
RFSFAT16_ENVIROMENT_00000.hdr RFSFAT16_ENVIROMENT_00000
RFSFAT16_BOOT_00000000000.hdr RFSFAT16_BOOT_00000000000
RFSFAT16_SYSTEM_000000000.hdr RFSFAT16_SYSTEM_000000000
RFSFAT16_RECOVERY_0000000.hdr RFSFAT16_RECOVERY_0000000
RFSFAT16_DISKFS_000000000.hdr RFSFAT16_DISKFS_000000000
RFSFAT16_VBOOTLOADER_0000.hdr RFSFAT16_VBOOTLOADER_0000
RFSFAT16_VENVIROMENT_0000.hdr RFSFAT16_VENVIROMENT_0000
RFSFAT16_VBOOT_0000000000.hdr RFSFAT16_VBOOT_0000000000
RFSFAT16_VSYSTEMFS_000000.hdr RFSFAT16_VSYSTEMFS_000000
RFSFAT16_VRECOVERYFS_0000.hdr RFSFAT16_VRECOVERYFS_0000
BOOT _BOOT0_0000000000.hdr BOOT _BOOT0_0000000000
BOOT _BOOT1_0000000000.hdr BOOT _BOOT1_0000000000
PXTOOLS _xxxxxxxxxxxxxxxx.hdr PXTOOLS _xxxxxxxxxxxxxxxx
FES _FES_1-1000000000.hdr FES _FES_1-1000000000
FES _FES_1-2000000000.hdr FES _FES_1-2000000000
FES _FES_200000000000.hdr FES _FES_200000000000
FES _FES_000000000000.hdr FES _FES_000000000000
FET _HW_SCAN_00000000.hdr FET _HW_SCAN_00000000
FET _UPDATE_BOOT0_000.hdr FET _UPDATE_BOOT0_000
FET _UPDATE_BOOT1_000.hdr FET _UPDATE_BOOT1_000
FET _FET_RESTORE_0000.hdr FET _FET_RESTORE_0000
FET _MAGIC_CRC_START_.hdr FET _MAGIC_CRC_START_
FET _MAGIC_CRC_EN_000.hdr FET _MAGIC_CRC_EN_000
FET _MAGIC_DE_START_0.hdr FET _MAGIC_DE_START_0
FET _MAGIC_DE_END_000.hdr FET _MAGIC_DE_END_000
FED _FED_NAND_0000000.hdr FED _FED_NAND_0000000
12345678_1234567890cardtl.hdr 12345678_1234567890cardtl
12345678_1234567890script.hdr 12345678_1234567890script
12345678_1234567890boot_0.hdr 12345678_1234567890boot_0
12345678_1234567890boot_1.hdr 12345678_1234567890boot_1
12345678_1234567890___mbr.hdr 12345678_1234567890___mbr
12345678_1234567890dlinfo.hdr 12345678_1234567890dlinfo
FET _CARD_UPDATE_BOT0.hdr FET _CARD_UPDATE_BOT0
FET _CARD_UPDATE_BOT1.hdr FET _CARD_UPDATE_BOT1
FED _CARD_FED_0000000.hdr FED _CARD_FED_0000000
FET _CARD_HW_SCAN_000.hdr FET _CARD_HW_SCAN_000


Luego desde un ubuntu 12.04 virtualizado ( se me jodio la grafica del portátil con Arch Linux y uso el de mis padres con Win7...:cry:)

Intento montar /system que creo que estará en el fichero RFSFAT16_VSYSTEMFS_000000 pero me sale el siguiente error:
R92@R91-VirtualBox:~/tablet/rom/image.img.dump$ sudo mount -t ext4 RFSFAT16_VSYSTEMFS_000000 /home/rafa/tablet/montaje1 -o loop
mount: tipo fs incorrecto, opción incorrecta, superbloque incorrecto en /dev/loop0,
falta página de código o programa ayudante, u otro error
(¿puede que este sea el dispositivo IDE donde está
usando ide-scsi de forma que se necesite sr0 o sda?
En algunos casos se encuentra información en syslog, pruebe
dmesg | tail o algo parecido



Y ya no se que hacer para montarlo, he probado con -t vfat, -t ext2, -t ext3 (por si estuviera en otro sistema de archivos que no fuera ext4) con el -o loop sin el y con todos da error mas o menos parecido al de arriba.

¿Alguna idea? ¿Es otro el archivo que tengo que montar?

Saludos!

kolokolo
07/05/12, 23:38:05
Animo, seguro que lo consigues.
Has pensado reciclar un pc antiguo y usarlo para linux?

ElHormiGa
08/05/12, 00:27:02
ordenalos por tamaño , el archivo más grande de todos
http://i.imgur.com/uQIWR.png

luego de localizar el archivo más grande , tienes que copiar este archivo a linuz..

Dentro de la misma carpeta donde pongas el archivo rfsfat16_system_ xXXXx , tienes que copiar algunas librerias para linux , son dos: makeext4fs y simg2img
Yo los puse en la carpeta personal .
Como ves , luego tienes que ir a un terminal y ponerte como root , para esto , seguramente que te pida passworld ( yo lo hago desde un pendrive) asi que hay que primero cambiar la contraserña de root y luego ejecutar
./simg2img [nombreimagen.img] [nombre imagennuevo .raw
tardará unos momentos, luego de esto ejecutas
sudo mount -t ext4 -o loop ptf.raw [nombrenuevos disco]

Y ya está , te descomprime toda la imagen haciendola accesible , pudiendo ver y tocar toda la rom de principio a fin .

En la captura de pantalla de abajo ves los comandos y la carpeta sys/ apk y que está montada la imagen.

http://i.imgur.com/jjhXx.png

ElHormiGa
08/05/12, 00:33:18
segundo post : extiendo.-

yo empecé leyendo este post , me dió las pautas de como se hacia ..

http://www.techknow.t0xic.nl/forum/index.php?topic=1679.0

it somewhere else and rename it to system.img. For the Aurora 4.03 firmware it is called RFSFAT16_SYSTEM_000000000.fex. Just search for the biggest file and you will find it.
5 - This file is using ext4 sparse file img. You won't be able to mount it immediately. You need to grab the ext4_utils and compile it and use a program called simg2img to transform it to a proper ext4 img. For windows users, just grab the python script that I posted and it should work properly. (it did here)
6 - Just mount the image and modify it. (Or just use Ext2Explore like me if you're in windows to have some fun)

-------------------------------------------------------------------------------------------------------------------------------------

ademas

http://andwise.net/?p=403

This is for all who wants to unpack and modify the original system.img that you can flash using recovery.
system.img (what you get from the google factory images (http://code.google.com/android/nexus/images.html) for example) represents a sparsed ext4 loop mounted file system.
It is mounted into /system of your device. Note that this tutorial is for ext4 file system, you may have system image which is yaffs2 for example.
the way it is mounted on Galaxy Nexus:
“/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0″
Prerequisites:



Linux box or virtual machine
simg2img, make_ext4fs binaries which can be downloaded from here http://andwise.net/?attachment_id=406

Procedure:

place you system.img and the 2 binaries in one directory, and make sure the binaries have exec permission.
Part 1 – mount the filesystem



mkdir sys
./simg2img system.img sys.raw
sudo mount -t ext4 -o loop sys.raw sys/

Then you have all your system partition mouned in ‘sys’ and you can modify whatever you want in ‘sys’. For example de-odex apks and framework jars.
Part 2 – create a new flashable system image.



sudo ./make_ext4fs -s -l 512M -a system new.img sys/
sudo umount sys
rm -fr sys

Now you can simply type:
fastboot flash system new.img
enjoy http://andwise.net/wp-includes/images/smilies/icon_smile.gif

si no te manejas bien con el inglés , puedo traducirlo al castellano entendible (no del google) y yá está ! :P

saludos

R91
08/05/12, 01:18:08
Muchas gracias

Si me manejo en el ingles.

Te comento acabo de hacer mi primera rom así rapidamente jeje (http://www.htcmania.com/showthread.php?p=4551323&posted=1#post4551323)

La estoy subiendo, la he probado y me funciona bien.

Al final vi lo del simg2img en XDA.

He seguido para desempaquetarlo y modificar los archivos este post (http://www.techknow.t0xic.nl/forum/index.php?topic=1679.0) que ya pusiste antes.

Pero luego una vez modificaba todo ya desmontaba la imagen y en windows siguiendo este post (http://www.slatedroid.com/topic/28942-50-to-the-first-person-to-figure-this-out/) la empaquete (sustituí el RFSFAT16_SYSTEM_000000000 por mi imagen y listo)

Luego lo explico con más tiempo que mañana madrugo jeje

Saludos!

R91
08/05/12, 02:10:45
Bueno creo que lo más facil es de la siguiente manera:

Nos bajamos el ImageSuite [SlateDroid] (http://www.slatedroid.com/index.php?app=core&module=attach&section=attach&attach_rel_module=post&attach_id=4291).

Lo descomprimimos y copiamos la rom oficial en la carpeta llamandola por ejemplo original.img

Despues por linea de comandos navegamos hasta el directorio donde descomprimimos el ImageSuite y ejecutamos la siguiente orden:
extract_img.bat original.img

Nos creará un directorio con la rom descomprimida.

El archivo interesante es RFSFAT16_SYSTEM_000000000 que es la partición /system

Ese archivo lo copiamos a Linux.

Una vez en linux la tenemos que montar para modificarla, pero no es una imagen ext4 al uso, esta dispersa por lo que debemos pasarla primero por el programa simg2img.

Podemos bajarla de ext4_utils[XDA-Developers] (http://forum.xda-developers.com/attachment.php?attachmentid=597848&d=1305554016). Descompriminos el zip y desde una terminal con make lo compilamos.

Ya tenemos el simg2img, solo debemos covertir nuestra imagen:

./simg2img RFSFAT16_SYSTEM_000000000 system.img

Una vez obtenemos el system.img podemos montarla con mount, creamos un directorio de montaje y lo montamos:

mkdir system
mount -o loop -t ext4 system.img system

Ya tenemos en system los archivos de la carpeta /system de la rom.
Los modificamos y desmontamos:
umount system
Copiamos el archivo system.img a Windows y lo renombramos como RFSFAT16_SYSTEM_000000000. Lo copiamos al directorio del ImageSuite donde extrajimos la imagen, sustituyendo el original.

Empaquetamos la imagen:

repack_ics.bat rom.img

Ya hemos creado el archivo rom.img que es nuestra rom, ya solo tenemos que flashearla con LiveSuit

Nota: Los comandos mount y umont así como las modificaciones que hagamos en linux son siendo root

Saludos!

R91
09/05/12, 10:30:38
He actualizado el post principal para enfocar el tema como un tutorial para la modificación de roms de LiveSuit.

Saludos!

litry
22/11/12, 11:18:15
Buenas:

Es muy interesante todo yo queria modificar mi rom pero no consigo descargar ImageSuite [SlateDroid] (http://www.slatedroid.com/index.php?app=core&module=attach&section=attach&attach_rel_module=post&attach_id=4291).
ya que no es una descarga abierta y una vez registrado tienes que postear y ser respondido por un minimo de veces si alguien amable pudiese facilitarme la herramienta se lo agradeceria ya que no lo encuentro por otros ladosEncontre uno pero debe ser una version mas antigua y a la hora de empaquetar no lo hace bien da un fallos ademas de que no se llama repack_ics.bat.
Espero que me faciliteis el archivo gracias


Saludos