Cómo trasplantar rom
Hablemos de mi método de trasplante. Por falta de experiencia. Por tanto, es posible que el método no sea muy bueno.
Espero que los amigos que tienen mejores métodos puedan compartir sus experiencias.
(1) Descargue la ROM oficial de su dispositivo (asumiendo que el nombre del archivo es myrom.img) y la ROM personalizada de terceros que desea trasplantar (asumiendo que el nombre del archivo es newrom.img) p>
(2) Desembalar.
Encuentre la herramienta unimg en línea. Coloque los archivos unimg y ROM myrom.img y newrom.img en el mismo directorio (suponiendo que sea el directorio d:\rom). Arrastre los archivos myrom.img y newrom.img a unimg para comenzar a descomprimir. Después de descomprimir, puede obtener un directorio de myrom.img.dump y newrom.img.dump.
Cree dos nuevos directorios, myrom yb, en el directorio d:\rom. Copie el archivo RFSFAT16_BOOT_00000000000 en el directorio myrom.img.dump al directorio myrom. Copie RFSFAT16_BOOT_00000000000 en el directorio newrom.img.dump al directorio newrom.
(3) Actualice el archivo de partición de arranque
Busque la herramienta bootimg en línea. También colóquelo en el directorio d:\rom. Luego abra una ventana de línea de comando. Ingrese los siguientes comandos en secuencia
d:
cd \rom\myrom
..\bootimg.exe --unpack-bootimg RFSFAT16_BOOT_00000000000
(Este comando generará información importante; asegúrese de anotarla; la necesitará más adelante cuando empaquete el archivo de inicio)
..\bootimg.exe --unpack-ramdisk
cd ..\newrom
..\bootimg.exe --unpack-bootimg RFSFAT16_BOOT_00000000000
..\bootimg.exe --unpack-ramdisk p>
De esta manera, puede ver que los siguientes archivos están descomprimidos en el directorio myrom y newrom respectivamente
Kernel: archivo del kernel de Linux, este archivo es diferente para diferentes dispositivos. Entonces, ¿por qué si actualizamos directamente la ROM de otras personas, podemos tener un problema de pantalla blanca?
directorio initrd: este es en realidad el directorio raíz del sistema
cpiolist.txt: registra los permisos y la información del usuario de cada archivo en el directorio initrd. Este archivo se empaquetará más adelante. . de. No tenemos que preocuparnos por eso.
A continuación, abra el directorio init.sun4i.rc en el directorio initrd en el directorio myrom y el directorio newrom respectivamente (no utilice el Bloc de notas o Wordpad para abrir este archivo, porque este archivo está en formato UNIX). Si lo abre con el Bloc de notas o Wordpad, cambiará automáticamente al formato DOS después de guardarlo, lo que destruirá el formato del archivo)
Busque el lugar donde está cargado el controlador, como se muestra a continuación. Reemplace el contenido correspondiente de init.sun4i.rc en el directorio newrom con el contenido correspondiente en el archivo init.sun4i.rc en el directorio myrom.
Y escriba el nombre del archivo del controlador que se utilizará en el archivo myrom (lo necesitará cuando desee actualizar la partición del sistema más adelante).
###############################
#vibrador insmod
p>insmod /system/vendor/modules/sun4i-vibrator.ko (Este es el controlador del vibrador, si no desea utilizar el vibrador, puede desactivar esta línea)
chmod 777 /sys/class /timed_output/sun4i-vibrator/enable (Si el controlador del vibrador está deshabilitado, deshabilite también esta línea)
#insmod key & tp driver
insmod /system/ seller/modules /goodix_touch.ko (Este es el controlador táctil, generalmente reemplazar este controlador es suficiente)
insmod /system/vendor/modules/sun4i-keyboard.ko
# insmod controlador mali
insmod /system/vendor/modules/ump.ko
insmod /system/vendor/modules/mali.ko
módulo #csi p>
insmod /system/vendor/modules/videobuf-core.ko
insmod /system/vendor/modules/videobuf-dma-contig.ko
insmod /system /vendor/ modules/gt2005.ko
insmod /system/vendor/modules/sun4i_csi0.ko
################# ### ############
Guarde el archivo init.sun4i.rc actualizado en el directorio newrom en el directorio myrom y reemplace el archivo correspondiente en el directorio myrom.
Ahora volvamos a empaquetar la partición de arranque. Abra la ventana de línea de comando e ingrese lo siguiente:
d:
cd \rom\myrom
...\bootimg.exe --repack-ramdisk
..\bootimg.exe --repack-bootimg 0x40000000 "console=ttyS0,115200 rw init=/init loglevel=8" 2048 2048
(Muchos parámetros después de repack-bootimg se obtienen del desempaquetado-bootimg anterior. Asegúrese de cambiarlos a los parámetros correspondientes a su propio dispositivo; de lo contrario, no se iniciará)
Empaquetado Después del éxito, obtenga el archivo boot.img. Cambie el nombre del archivo boot.img a RFSFAT16_BOOT_00000000000, cópielo en el directorio myrom.img.dump y reemplace el archivo original.
(4) Actualice la partición del sistema. Las siguientes operaciones deben completarse en Ubuntu.
Copie los archivos RFSFAT16_SYSTEM_000000000 en myrom.img.dump y newrom.img.dump al directorio /root en el sistema Ubuntu y cámbieles el nombre a system-myrom y system-newrom respectivamente,
Conéctese y descargue la herramienta ext4_utils y compile tres programas: simg2img, mkuserimg.sh y make_ext4fs. Y cópielo en el directorio /root.
Luego ingrese los siguientes comandos en secuencia:
cd /root
./simg2img system-myrom system-myrom.img
./ simg2img system-newrom system-newrom.img
mkdir /mnt/img /mnt/img2
mount -o loop system-newrom.img /mnt/img
mount -o loop system-myrom.img /mnt/img2
En este momento, puede ver el contenido de la partición /system de las dos ROM. A continuación ya podemos copiar el controlador de la ROM oficial a la nueva ROM.
cd /mnt/img/vendor/modules
cp -p /mnt/img2/vendor/modules/required files.ko ./
Cuál copie los archivos, depende de qué controladores desee utilizar para su dispositivo en (3).
#########################
La necesidad de reemplazar los siguientes archivos depende de usted La diferencia entre el dispositivo y la nueva ROM no es grande. Mi versión 2 principal no reemplazó estos archivos.
/mnt/img/lib/hw/*.*
/mnt/img/lib/libhardware*.*
###### ###################
Después de reemplazar el controlador, comience a empaquetar.
cd /root/
./mkuserimg.sh -s /mnt/img RFSFAT16_SYSTEM_000000000 ext4 system 256M
El último parámetro significa empaquetar el sistema en uno Imagen de partición de 256 MB. Si su sistema tiene más de 256 MB, la ejecución del programa fallará. Intente cambiarla a 512 MB.
Copie RFSFAT16_SYSTEM_000000000 nuevamente a Windows y reemplace los archivos correspondientes en el directorio myrom.img.dump.
El último paso es el empaquetado.
Abra la línea de comando
d:
cd \rom
verificarcalc myrom.img.dump\RFSFAT16_SYSTEM_000000000 myrom.img.dump\RFSFAT16_VSYSTEMFS_000000
verificarcalc myrom.img.dump\RFSFAT16_BOOT_00000000000 myrom.img.dump\RFSFAT16_VBOOT_0000000000
unimg -e myrom.img
El myrom.img empaquetado se puede actualizar con livesuite.
Después de un inicio exitoso, si ve una visualización anormal, puede deberse a que la ROM trasplantada tiene una resolución diferente a la de nuestro dispositivo. Por ejemplo, encontré este problema después de portar la ROM de Aurora a la versión líder 2.
Resolví el problema agregando la siguiente configuración al archivo /system/build.prop de la nueva ROM.
################
ro.sf.lcd_density=125
###### ##########
El valor de 125 es lo que probé y se puede mostrar normalmente en la versión 2 principal. Puedes cambiarlo al valor que desees (cámbialo entre 100-200).