Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario
  

Contraseña
  





Buscar en los foros

(Búsqueda avanzada)

Estadísticas del foro
» Miembros: 3
» Último miembro: jhon733
» Temas del foro: 49
» Mensajes del foro: 52

Estadísticas totales

Usuarios en línea
Actualmente hay 13 usuarios en línea.
» 0 miembro(s) | 13 invitado(s)

Últimos temas
Desempaquetar y empaqueta...
Foro: Android
Último mensaje por: chujalt
16-08-2021, 19:03
» Respuestas: 2
» Vistas: 1,095
Python, insertar saltos d...
Foro: Python
Último mensaje por: chujalt
03-08-2021, 20:00
» Respuestas: 0
» Vistas: 125
Problemas instalar Linux ...
Foro: Linux
Último mensaje por: chujalt
03-08-2021, 19:55
» Respuestas: 1
» Vistas: 234
Desempaquetar y empaqueta...
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:46
» Respuestas: 0
» Vistas: 656
Script abrir imagen Andro...
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:44
» Respuestas: 0
» Vistas: 384
Optimizador build.prop.
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:42
» Respuestas: 0
» Vistas: 414
Desempaquetar y empaqueta...
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:41
» Respuestas: 0
» Vistas: 519
Unpack - repack Rockchip ...
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:39
» Respuestas: 0
» Vistas: 404
Utilizar ADB (Android Deb...
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:37
» Respuestas: 0
» Vistas: 481
Script para terminales no...
Foro: Android
Último mensaje por: chujalt
14-03-2021, 21:36
» Respuestas: 0
» Vistas: 375

 
  Python, insertar saltos de línea en textos grandes
Enviado por: chujalt - 03-08-2021, 20:00 - Foro: Python - Sin respuestas

Código:
#!/usr/bin/env python
n = 8 #Numero caracteres por linea
contenido = open("documento_original.txt", "r")
s = contenido.read()
contenido.close()
with open('documento_salida.txt', 'w', encoding='utf-8') as myfile:
    myfile.write('\n'.join(s[i:i+n] for i in range(0, len(s), n)))
    myfile.close()

Lee el archivo original y crea uno nuevo con n caracteres por línea, es este caso 8.

Imprimir

  Problemas instalar Linux Mint en USB.
Enviado por: chujalt - 03-08-2021, 19:54 - Foro: Linux - Respuestas (1)

Saludos.


Estoy intentando instalar Linux Mint en un USB, no el live, el SO completo, y me es imposible, no sé que ocurre con el cargador de arranque.


Os pongo en antecedentes, mi PC tiene instalados 2 discos duros, uno con win y otro de 2 TB donde tengo linux y otra partición para compartir archivos entre los 2 SO.


Grabo en un USB la versión live de Mint y la arranco , pongo el USB donde quiero instalarlo y clico para iniciar la instalación.


En en paso donde pregunta donde instalarlo le doy a "otras opciones" para elegirlo manualmente.


Me salen 4 dispositivos:

/dev/sda --- Uno de los discos duros de mi PC

/dev/sdb --- El otro disco duro de mi PC

/dev/sdc --- El USB donde está la versión live de Mint

/dev/sdd --- El USB donde quiero instalarlo


En /dev/sdd empiezo a hacer las particiones:

Una de 300MB de la clase EFI

Otra de 2GB de intercambio

El resto la dejo como "/" para instalar el SO.

En donde pregunta donde poner el sector de arranque selecciono /dev/sdd


Lo instala sin problemas, reinicio, le digo que arranque desde el usb y ahí empieza el primer problema (aunque el menos importante) en el Grub me salen todos los sistemas operativos, el primero el Mint (el que está instalado en el USB) lo inicio, actualizo y todo funciona de maravilla.


Apago, quito el USB y arranco el PC con normalidad..... Problema.... la instalación anterior se ha cargado el grub de mi PC y me sale la consola de Grub.  Vuelvo a poner el USB, le digo que arranque desde el USB y sale el Grub con el Mint que arranca sin problemas.


Pongo otra vez el USB live y con boot-repair arreglo el grub de mi PC. El PC ya arranca sin problemas, como antes, pero si pongo el USB con Mint, aunque a la BIOS le diga que arranque desde el USB sale el grub de mi PC, Mint no sale por ningun sitio, como si no existiera.


Ya he hecho el proceso 4 veces por si me hubiera equivocado en algo, pero siempre tengo el mismo resultado.


¿alguna sugerencia?


Gracias por todo y saludos.

Imprimir

  Desempaquetar y empaquetar super.img y system.img.
Enviado por: chujalt - 14-03-2021, 21:46 - Foro: Android - Sin respuestas

Saludos.

Tengo una tablet teclast P20HD en el que las rom vienen con extensión .pac

En este hilo hice un tutorial de como abrir esa imagen AQUI   en entorno LINUX

Al abrir dicha imagen nos vemos varios archivos, entre ellos uno que se llama super.img el cual contiene a su vez varios archivos, entre ellos system.img

Vamos a abrir ese super.img, también system.img y vamos a volver a empaquetarlo todo.

He seguido básicamente el tutorial de https://forum.xda-developers.com/t/editi...s.4196625/ con algunas consideraciones porque está hecho para otra tablet.

Pondré el código linea por linea. También he hecho un script en bash que lo hace todo automáticamente.



1. Vamos a tener que instalarnos unas librerías

Código:
sudo apt install android-tools-fsutils
sudo apt install clang zlib1g-dev



2. Bajarnos unas herramientas de AQUI



3. Descomprimimos el archivo recién bajado y veremos que está el script super.sh y una carpeta llamada  lpunpack_and_lpmake-master que fue extraída de https://github.com/LonelyFool/lpunpack_and_lpmake, mérito a su autor, la abrimos, iniciamos un terminal con esa ruta y tecleamos.

Código:
./make.sh

Veremos que en esa carpeta hay dos archivos nuevos, lpunpack y lpmake. Los copiamos y los ponemos en una carpeta junto con super.img. Si queremos ejecutar el script para que haga todo automáticamente también pondremos en esa carpeta el archivo super.sh


4. Si hemos decidido no ejecutar el script y hacerlo nosotros manualmente, abrimos un terminal en la ruta donde tenemos los archivos y escribimos:

Código:
simg2img super.img super.ext4.img

Nos creará la imagen super.ext4.img con la que trabajaremos

Código:
./lpunpack super.ext4.img

Nos desempaquetará super.ext4.img. En el directorio ya podremos ver los archivos system.img, product.img y vendor.img.

Código:
fallocate -l 2G system.img
resize2fs system.img 2G

Con estas dos lineas redimensionamos system.img a 2Gb

Código:
mkdir system

Creamos un directorio llamado system

Código:
sudo mount -t ext4 -o loop system.img system

Montamos system.img y ponemos todo su contenido en la carpeta system. Ahora podremos hacer todos los cambios que necesitemos hacer.

Código:
sudo umount system

Desmontamos system, veremos que dicha carpeta se ha quedado vacía.

Código:
e2fsck -yf system.img
resize2fs -M system.img
e2fsck -yf system.img

Con estas tres lineas volvemos a redimensionar system.img al tamaño que debe tener.

Código:
stat -c '%n %s' system.img
stat -c '%n %s' product.img
stat -c '%n %s' vendor.img
stat -c '%n %s' super.ext4.img

Con estos comandos nos darán el tamaño en  bytes de las imágenes, ojo, hay que anotarlo porque en el siguiente paso nos hará falta.

Código:
./lpmake --metadata-size 65536 --super-name super --metadata-slots 1 --device super:3145728000   --group main:2169016320 --partition system:readonly:1310846976:main --image system=./system.img --partition vendor:readonly:421638144:main --image vendor=./vendor.img --partition product:readonly:436531200:main --image product=./product.img --sparse --output ./super.nueva.img

OJO, cosas a tener en cuenta, en --device super:3145728000 debemos cambiar el número por la cantidad que nos dio anteriormente el tamaño en bytes de super.ext4.img, lo mismo en --partition system:readonly:1310846976:main    --partition vendor:readonly:421638144:main    y   --partition product:readonly:436531200:main

En --group main:2169016320 debemos poner la suma de los tamaños en bytes de system.img, product.img y vendor.img


5. Veremos que en directorio tenemos un nuevo archivo llamado super.nueva.img, que es el nuevo super.img modificado por nosotros.


6. Si queremos hacerlo todo automáticamente y de manera mas rápida podéis utilizar el script super.sh.



Saludos.

Imprimir

  Script abrir imagen Android con extensión Pac.
Enviado por: chujalt - 14-03-2021, 21:44 - Foro: Android - Sin respuestas

Saludos

Con Android 10 las roms ya no tienen extensión .img, ahora son .pac

He hecho un script que corre bajo LINUX para facilitarnos el trabajo y abrir dicho firmware.

El script es este:

Código:
#!/bin/bash

git clone https://github.com/divinebird/pacextractor
cd pacextractor
make
result=${PWD#*/}
pepe="/pacextractor"
cd ../
mkdir rom_extraida
cd rom_extraida
/$result$pepe /home/chujalt/teclast/rom_original/rom/Firmware.pac
cd ../
rm -rf pacextractor


El script lo que hace es bajarnos una herramienta llamada pacextractor (mérito a su autor), crear un directorio llamado rom_extraida y dejar en él todos los archivos de la imagen .pac

En la antepenúltima línea debemos poner la ruta donde está la rom que queremos abrir.

De todos los archivos extraídos, el que mas no interesa es el llamado super.img, que es el que contiene a su vez system.img. En breve haré un tutorial de como abrirlo, modificar el system y volver a empaquetar el super.img. Tutorial ya hecho, quien quiera verlo AQUI

El que se quiera bajar el script lo dejo AQUI

Saludos

Imprimir

  Optimizador build.prop.
Enviado por: chujalt - 14-03-2021, 21:42 - Foro: Android - Sin respuestas

Saludos.
He creado un script que optimiza el build.prop de forma automática. Funciona bajo linux. Hay que darle permisos de ejecución.

Bajar script AQUI

Mirror: https://mega.co.nz/#!R88DRbyL!f4GqmdONz_...pfxS3FJfSA

Metemos el script y el build.prop en una carpeta y tecleamos

Código:
./obp.sh

Primero hace una copia del build.prop, que es sobre la que trabajará.
Nos pregunta si queremos configurarlo para idioma español.
Nos pregunta si queremos cambiar la zona horaria a España.
Nos pregunta si queremos cambiar el formato de fecha.
Nos da la opción de cambiar la densidad de pantalla, dpi.
Luego lista las lineas que tiene con los tweaks que vamos a meter por si ya hay alguno no duplicarlos.
Luego ya introduce un gran número de tweaks, que son estos:
persist.sys.purgeable_assets=1
ro.media.enc.hprof.vid.bps=8000000
windowsmgr.support_rotation_270=true;
dalvik.vm.heapsize=xx-large4m
debug.sf.hw=1
video.accelerate.hw=1
debug.performance.tuning=1
ro.config.nocheckin=1
ro.telephony.call_ring.delay=0
ro.kernel.android.checkjni=0
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-record=false
debug.sf.nobootanimation=1
ro.HOME_APP_ADJ=1
ro.config.hwfeature_wakeupkey=0
mot.proximity.delay=25
ro.lge.proximity.delay=25
ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
ro.media.enc.hprof.vid.fps=30
ro.media.enc.jpeg.quality=100
debug.performance.tuning=1
windowsmgr.max_events_per_sec=60
ro.ril.disable.power.collapse=1
pm.sleep_mode=1
persist.adb.notify=0
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000
wifi.supplicant_scan_interval=180
ro.mot.eri.losalert.delay=1000
dalvik.vm.dexopt-flags=m=v,o=y
ro.lge.proximity.delay=25
mot.proximity.delay=25
persist.sys.composition.type=gpu
debug.composition.type=gpu
debug.composition.type=cpu
power.saving.mode=1
ro.ril.hsdpa.category=14
ro.ril.enable.3g.prefix=1
ro.ril.def.agps.mode=1
ro.ril.def.agps.feature=1
ro.ril.enable.sdr=1
ro.ril.enable.gea3=1
ro.ril.enable.fd.plmn.prefix=23402,23410,23411
ro.ril.enable.a52=1
ro.ril.set.mtu1472=1

Y ya está... si alguno cree que sobra o falta alguno que me lo diga y se modifica el script.

Saludos

Imprimir

  Desempaquetar y empaquetar completamente una ROM.
Enviado por: chujalt - 14-03-2021, 21:41 - Foro: Android - Sin respuestas

Saludos amigos.

He hecho dos scripts que funcionan bajo linux y sirven para desempaquetar y empaquetar las ROMS allwinner, que se flashean por el livesuit o PhoenixSuit. El método es muy sencillo, ponemos los dos scripts en una carpeta junto con la rom.img a desempaquetar - empaquetar.
Hay que tener en cuenta que hay que tener conexión a internet, porque el script se baja las herramientas necesarias.


El primero, desempaquetador_total.sh, automáticamente nos bajará las herramientas necesarias y nos dejará en la carpeta de trabajo el boot.img, el recovery.img y el system.img, además de tres carpetas, boot (con los archivos del boot), recovery (con los archivos del recovery) y el system (con los archivos del system).
Ya podemos trabajar para hacer nuestra Mod Rom.

Para bajar este script:  AQUI

Primero hay que darle permisos de ejecución porque, aunque yo lo subo al server con estos permisos, no se por qué los borra.

Se abre un terminal y se teclea.

Código:
./desempaquetador_total.sh nombre_de_la_rom.img

donde, claro, nombre_de_la_rom.img es el nombre de la rom que queremos desempaquetar.

El segundo, empaquetador_total.sh, nos empaqueta otra vez la rom una vez hechos los cambios pertinentes.
También hay que darle permisos de ejecución por si el server los ha borrado.
Hay que tener en cuenta que no debemos cambiar la estructura de direcctorios que nos ha creado el script de desempaquetar.
Una vez ejecutado el script, nos dejará en la carpeta de trabajo dos roms, la modificada, con el mismo nombre de la rom original y otra con extensión *.img.bak, que es una copia de seguridad de la original.

Para bajar este script:  AQUI

Para ejecutar el script escribir

Código:
./empaquetador_total.sh nombre_de_la_rom.img

donde, nombre_de_la_rom.img es el nombre de la rom que previamente habiamos desempaquetado.


Las herramientas que utiliza el script, ImgRePacker, boot-tools y ext4-utils, no son mias, méritos a sus autores.

Bueno.... espero que les sirva a alguien.

Saludos

Imprimir

  Unpack - repack Rockchip RK3066 y RK3188. --- Linux
Enviado por: chujalt - 14-03-2021, 21:39 - Foro: Android - Sin respuestas

Saludos amigos... este tutorial es para desempaquetar y volver a empaquetar (después de hacer las modificaciones que queramos a nuestra rom) Roms para los dispositivos que monten Rockchip RK3066 o RK3188 en formato *.img.

Yo lo he trabajado bajo Ubuntu 12.04.

La herramienta necesaria es rk3XXX_mod_tool... la podeés bajar de AQUI o AQUÍ. La herramienta no es mia.... mérito a sus autores. Aunque ponga que es para sistemas operativos de 64 bits, el mio es de 32 y también funciona.

Empecemos:

1. Una vez bajada la herramienta la descomprimimos donde queramos.


2. Nos harán falta unas dependencias, si no las tenemos..... abrimos un terminal y tecleamos

Código:
sudo apt-get install libssl-dev


3.Una vez dentro del directorio rk3XXX_mod_tool, ponemos la rom a desempaquetar dentro de la carpeta "unpack"


4. Volvemos al directorio principal de la herramienta y veremos el archivo "menu.sh".... lo ejecutamos.... atención.... si lo ejecutamos y no hace nada es que nos falta otra dependencia.... volvemos a abrir un terminal y tecleamos

Código:
sudo apt-get install dialog

y volvemos a ejecutar "menu.sh".


5.Se nos tendrá que abrir el menú de opciones, lo muestro en esta imagen


[Imagen: cap1.png]




6. Vamos a desempaquetar la rom..... seleccionamos la primera opción "Unpack" y le damos a enter.... nos pedirá confirmación y la herramienta se pondrá a trabajar..... Cuando haya terminado veremos que dentro de la carpeta unpack se habrán creado varios archivos y otra carpeta llamada Image en cuyo interior estarán el system.img, boot.img, recovery.img, kernel.img y otras.


7. Ahora vamos a abrir el system.img.... Seleccionamos la segunda opción del menú "Mount_System" y le damos a enter... nos pedirá confirmación y la contraseña root... la ponemos y veremos que en el directorio principal de la herramienta había una carpeta llamada system_mount que antes estaba vacía.... ahora contendrá todos los archivos del system.img.


8. Como esa carpeta se ha montado como root, nos dejará ver el interior, pero no trabajar con él.... entonces vamos a la opción del menú "open_root_file_explorer", le damos a enter y tras la solicitud de confirmación se nos abrirá directamente la carpeta desde una ventana nautilus con privilegios root.... Ya podemos hacer los cambios en system que queramos.


9. Una vez hechos todos los cambios que queríamos vamos a la opción "unmount_system". le damos a enter y tras la pertinente solicitud de confirmación desmontará el system.... veremos que la carpeta System_mount vuelve a estar vacía.


10. Vamos a volver a empaquetar la rom.... seleccionamos la opción "Initial_Package_Rom" y tras la confirmación la herramienta se pondrá a trabajar. Cuando termine veremos que todo está como antes.


11. Ahora vamos a la opción "Final_Package_RK3066" o "Final_Package_RK3188", según sea nuestro caso y tras el trabajo de la herramienta veremos que dentro de la carpeta unpack hay un archivo nuevo en formato fecha_hora.img... esa es nuestra rom cocinada, pero todavía no ha acabado el proceso.


12. Nos dirigimos a la opción del menú "Clean_Unpack_Dir", enter, confirmación y veremos que se han borrado todos los archivos, que estamos como al principio, pero en la carpeta unpack, dentro de la carpeta original_image estará la rom original, se habrá cambiado el nombre... será fecha_hora.img, esa es la rom original y en el directorio principal de la herramienta habrá una carpeta llamada final_images.... ahí está nuestra rom cocinada con nombre fecha_hora_final_rkXXXX.img.


13. Ya por último le damos a la última opción "exit" para salir.


14. Como veréis, en la herramienta hay mas opciones, cada cual que las utilice a su gusto o necesidades.


15. Si trabajar con el system no se puede hacer de una sola vez, que lo vais a hacer en varias sesiones..... en la primera sesión haríamos hasta el punto 9 y dejaríamos todo lo demás como está, guardaría los cambios que hemos hecho.... luego en la siguiente sesión empezaríamos por el punto 7 directamente y volveríamos a acabar en el 9.... así hasta que finalicemos todas las sesiones para modificar el system en cuyo caso ya llegaríamos hasta el final.


16. Próximamente, en el siguiente post se explicará como abrir el boot.img y recovery.img, que esta herramienta no lo dispone.


Bueno, espero haberme explicado bien y que le sirva a alguien.... saludos :ok:

Imprimir

  Utilizar ADB (Android Debug Bridge) en la red.
Enviado por: chujalt - 14-03-2021, 21:37 - Foro: Android - Sin respuestas

Te sientas a trabajar. Abres el proyecto y en el tiempo que le toma cargar al Eclipse sacas de la mochila tu dispositivo y ¡sorpresa! dejaste el cable para conectar tu dispositivo a la máquina en casa. Trabajar con los emuladores que vienen con la SDK de Android tiene su encanto, pero no hay nada como probar tu trabajo en caliente, en un dispositivo real y con mensajes reales. Por esta situación seguro habrán pasado muchos.

El ADB (Android Debug Bridge) brinda muchísimas utilidades al usuario. Puedes instalar, correr, y “debuggear” tus aplicaciones utilizándolo. Copiar archivos hacia y desde tu dispositivo. Es todo una maravilla. En la SDK, viene una versión de ADB, mas si eres usuario de Ubuntu, puedes instalarlo

Código:
apt-get install android-tools-adb

e iniciarlo (es aconsejable hacerlo como root)

Código:
adb start-server

Pues nada, resulta ser que si existe una solución, y la cosa está en conectar ADB utilizando la red. Para hacerlo tienes que tener tu dispositivo rooteado. (Puedes encontrar una aplicación y explicación para hacerlo aquí) y un terminal instalado. Nos vamos al dispositivo, abrimos el terminal y ejecutamos las siguientes sentencias:

Código:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

Esto hará que ADB escuche en nuestro dispositivo por el puerto 5555. Ahora nos vamos al ordenador, abrimos el terminal e iniciamos ADB:

Código:
adb start-server

Luego establecemos por que puerto nos vamos a conectar y finalmente pues adentro:

Código:
adb tcpip 5555
adb connect <ip del dispositivo>:5555

Intenta ahora hacer

Código:
adb devices

y verás ahí a tu dispositivo. Bueno, a programar

Una vez terminado, vuelve a ejecutar en tu dispositivo el primer código pero esta vez sustituyendo el puerto por -1 para cerrar la puerta.


FUENTE ORIGINAL

Imprimir

  Script para terminales no compatibles con DsiXda.
Enviado por: chujalt - 14-03-2021, 21:36 - Foro: Android - Sin respuestas

Saludos.

La cocina DsiXda realiza update.zip para muchos dispositivos, los mas conocidos, pero hay otros que no son compatibles y entonces toma una configuración por defecto que en la mayoría de los casos no funciona como debiera.

Con este script haremos compatible la cocina DsiXda con nuestro dispositivo. Es una versión beta, por lo que siempre cabe la posibilidad de mejorarlo.

Cabe decir que cada dispositivo es un mundo y que no funciona en el 100% de los casos, por lo que no me hago responsable de su nulo o mal funcionamiento. Tampoco por el mal uso o la introducción incorrecta de datos.

EL script está pensado para los dispositivos que montan las unidades en la ruta /dev/block/XXXXXX donde las X son el nombre de cada partición.

El script te pide el tipo de formato del dispositivo (yaffs2 o ext4) y el nombre de las particiones.

Para saber esta información tenemos tres formas de hacerlo.

Por teminal, si no tenemos podemos bajarnos el Terminal Emulator del google-play. donde escribiremos

Código:
cat /proc/partitions

Se nos dará información de todas las particiones del dispositivo, pero no a qué corresponde cada una

Código:
cat /proc/mounts

Esta si nos dará las información de las principales particiones y su nombre, es una información un poco liosa, pero fijándote se puede sacar.


Si no se quiere usar la consola se puede instalar la apk DiskInfo del google play, también nos dará la información que necesitamos.


Sacar la información de la partición boot es mas difícil, por lo que a veces no la sabemos, entonces, en realidad he creado dos scripts, uno que nos pide el el nombre de las particiones system, data y cache y otro, además, si la sabemos, la partición boot.

Como alternativa, si no podemos saber el nombre de las particiones, el compañero alfa tango informa que poniendo el "alias" de la partición también funciona, es decir, cuando el script nos pida el nombre de las particiones poner: para la partición system: system, para data: userdata, para cache: cache y para boot: boot

Los scripts necesitan la información que nos vaya pidiendo, por lo que si dejamos un campo en blanco se cerrará sin hacer su trabajo.

FUNCIONAMIENTO:

Asegurarnos que nuestro dispositivo no es compatible.

Una vez bajado el script que nos interesa lo ponemos en la carpeta raiz de la cocina DsiXda.

Le damos permisos de ejecución.

Tener en la cocina una carpeta de trabajo, es decir, una rom lista para hacer un update.zip

Ejecutar el script y darle la información que nos pide, como ya he dicho, si dejamos algún campo en blanco se cerrará.

Ya está, habrá creado el archivo de compatibilidad para nuestro dispositivo, tranquilo, no verás ningún archivo nuevo, lo guarda en otra ruta.

Seguir con la cocina DsiXda para hacer el update.zip

Una vez que se ha ejecutado el script ya se ha creado el archivo de compatibilidad, por lo que no es necesario volver a ejecutarlo cada vez que vayamos a hacer una rom nueva, del mismo tipo de dispositivo, claro.

Script en el que SI conocemos el nombre de la partición boot AQUI

Script en el que NO conocemos el nombre de la partición boot AQUI


Saludos.

Imprimir

  Desempaquetar y empaquetar ROMs System.img y boot.img.
Enviado por: chujalt - 14-03-2021, 21:35 - Foro: Android - Respuestas (2)

Saludos amigos, antes de nada comentaros dos cosas:

  • 1º No me hago responsable de las posibles pifias que se puedan hacer. El método funciona, pero alguien podría tocar algún archivo de la ROM que no debiera y quedarse la tablet bloqueada.
  • 2º Evidentemente las herramientas no las he hecho yo, méritos a sus autores.

-Herramientas necesarias:

Herramientas para Windows (desempaquetar system.img para hacer un update.zip):
  • Creamos una carpeta en la raiz de C, vamos a llamarle cocina, y metemos los tres programas dentro.
    DESCARGA

  • Dentro de la carpeta anterior creamos otra, la llamamos ImgRepacker y metemos los archivos que contiene el zip dentro de ImgRepacker.
    (parece que el enlace está caído, bajarlo de aquí DESCARGA)

Herramientas para Linux (para hacer una custom rom):
  • Introducimos la carpeta ext4_utils dentro de la carpeta personal.
    DESCARGA

-Trabajar desde Windows:
  • 1º Copiamos la rom original y la pegamos dentro de la carpeta ImgRepacker.
  • 2º Ejecutamos runner.bat
  • 3º Con el botón izquierdo del ratón arrastramos la rom dentro de la ventana de runner.bat, damos intro.
  • 4º Nos pedirá que pongamos opciones, ponemos /noiso, damos intro, se pondrá a trabajar.
  • 5º Cuando haya acabado nos hará unas preguntas, no hacemos caso, damos tres veces a intro y se cerrará la ventana.
  • 6º Se habrá creado una carpeta nueva, la abrimos y en su interior veremos varios archivos, entre ellos está system.fex, lo sacamos a la carpeta cocina y le cambiamos la extensión a .img.
  • 7º Doble click en 1.bat. Esto nos creara otra imagen en la misma carpeta. Tranquilos, tarda un poco, a mi unos 20 minutos, y ocupa unos 100 MB mas que el system.img.
  • 8º Creamos una carpeta que se llame ROM_MOD
  • 9º Abrimos ext2explore, FIle --> open image, buscamos la nueva imagen creada y aparecerá en el panel de la izquierda, le damos doble click y en el panel de la derecha aparecerán todos los archivos. En el panel de la derecha click botón derecho, save, buscamos la carpeta ROM_MOD y ya está, el system.img desempaquetado listo para modificar los archivos necesarios y hacer un update.zip.

-Trabajar desde Linux:
  • 1º Metemos la capeta ya descomprimida de ext4_utils en nuestra carpeta personal (si no lo habíamos hecho antes)
  • 2º abrimos una ventana del terminal (control + alt + t)
  • 3º Escribimos cd ext4_utils (para tener activa esa carpeta)
  • 4º Escribimos make all (para compilar los archivos necesarios)
  • 5º Escribimos los siguientes comandos (nos pedirá clave de root)
    sudo cp make_ext4fs /bin/
    sudo cp simg2img /bin/
    sudo cp mkuserimg.sh /bin/

  • 6º Necesitamos el system.img, por eso seguimos los pasos para conseguirlo desde windows y una vez obtenido lo copiamos dentro de la carpeta ext4_utils
  • 7º En la ventana del terminal tiene que seguir activa ext4_utils, escribimos ./simg2img system.img system.img.raw intro
  • mkdir tmp intro
  • sudo mount -t ext4 -o loop system.img.raw tmp/ intro
  • 10º Con todos estos comandos se nos habrá creado una carpeta tmp con todos los archivos que componen system.img, pero como se ha creado con la contraseña de superusuario no nos va a dejar manejarlos a nuestro antojo, escribimos en el terminal gksu nautilus tmp& y se nos abrirá otra ventana con todos los archivos y con previlegios de superusuario.
  • 11º Modificamos los archivos que tengamos que modificar.
  • 12º Una vez terminada la modificación abrimos el terminal y nos dirigimos a ext4_utils (como ya se ha explicado antes)
  • 13º escribimos sudo ./make_ext4fs -s -l 256M -a system system.mod.img tmp/ intro
    (Nota: el 256M son los megas de memoria total de la partición system,
    hay que poner el conforme vuestro terminal, si no, os quedaréis con 256 MB de system,
    si ponéis de mas, no arrancará. ojo con esto. si no la sabéis mirar que pesa la carpeta sistem y meter algunos megas mas, no muchos.)
  • 14º sudo umount tmp intro
  • 15º rm -rf tmp intro. Estos dos comandos anteriores son para eliminar la carpeta tmp.
    (Ya tenemos el system.img modificado, es el system.mod.img)
Si falla algo y tenéis un SO de 64 Bits probar instalando las siguientes librerias:
Código:
sudo apt-get install g++ g++-4.6 g++-4.6-multilib g++-multilib gcc gcc-4.6 gcc-4.6-multilib
 gcc-multilib lib32asound2 lib32bz2-1.0 lib32bz2-dev lib32gcc1 lib32gomp1
 lib32ncurses5 lib32nss-mdns lib32quadmath0 lib32stdc++6 lib32tinfo5 lib32z1
 lib32z1-dev libbz2-dev libc-dev-bin libc6-dev libc6-dev-i386 libc6-i386
 libgomp1 libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev
 zlib1g-dev libc6

-TUTORIAL ABRIR, MODIFICAR, CERRAR BOOT.IMG

Antes de nada informar que las herramientas no son mías, méritos a sus autores. El trabajo se tiene que hacer bajo linux. No me hago responsable de que se modifiquen cosas que no se debieran y la tablet se quede bloqueada.
  • 1º Bajar las herramientas DESCARGA y descomprimir.
  • 2º poner el boot.img que queremos modificar dentro de esta carpeta.
  • 3º Abrir un terminal y escribir mkdir -p unpack
  • tools/unpackbootimg -i boot.img -o unpack
  • mkdir -p unpack/boot.img-ramdisk
  • cd unpack/boot.img-ramdisk
  • gzip -dc ../boot.img-ramdisk.gz | cpio -i
  • cd ../../
  • 9º Se nos habrá creado una carpeta llamada unpack. Dentro de ella hay una carpeta llamada boot.img-ramdisk (dentro están los archivos del boot.img para modificar lo que queramos) también hay un archivo llamado boot.img.zImage, éste es el Kernel. Los demás archivos no se tocan.
  • 10º Una vez hecho las modificaciones escribimos en el terminal tools/mkbootfs unpack/boot.img-ramdisk | gzip > unpack/boot.img-ramdisk.gz
  • 11º tools/mkbootimg --kernel unpack/boot.img-zImage --ramdisk unpack/boot.img-ramdisk.gz -o boot.img-repack --base `cat unpack/boot.img-base`
  • 12º Dentro de la carpeta boot-tools tendremos ahora un archivo llamado boot.img-repack ese es nuestro boot.img modificado, se renombra y ya está.

-PARA EMPAQUETAR LA ROM ENTERA VOLVEMOS A WINDOWS
  • 1º Dentro de Windows ponemos el system.img  y boot.img dentro de la carpeta que se nos creó al desmontar la rom original y los renombramos .fex.
  • 2º Ejecutamos runner.bat
  • 3º Click botón izquierdo sobre esa carpeta y arrastramos a la ventana de runner .bat
  • 4º Damos a intro y nos pedirá opciones, ponemos /noiso y se pondrá a trabajar, cuando finalice nos hará unas preguntas, no hacemos caso, tres veces intro y se cerrará la ventana.
  • 5º Ya está, la rom original que teníamos ahí ahora será la modificada y se habrá creado otra, con el mismo nombre pero acabada en bak que es una copia de seguridad de la rom original.

Imprimir