1 votos

Modificaciones de la imagen del proveedor en Android 10

Hay una imagen de proveedor en mi dispositivo que quiero cambiar (desempaquetar/montar, hacer cambios, empaquetar/montar).

Mi propósito es actualizar el boot.img con mi nuevo kernel (en el dispositivo rooteado).

Desgraciadamente no funciona debido a la incompatibilidad de versiones entre un nuevo kernel compilado (mi compilación) y los módulos anteriores del kernel almacenados en vendor.img.

Tal y como lo veo, necesito actualizar los antiguos ejecutables "ko" almacenados en vendor.img en mi producto.

El primer paso es hacer "dd" desde mi dispositivo y "adb pull" hacia mi entorno de construcción. Mientras intentaba hacer el montaje en vendor.img descubrí que no funcionaba debido a que el atributo "shared_blockes" lo bloqueaba para montarlo como "RW" (dmesg escribió: "...unsupported optional features (4000)"), Para solucionarlo, ejecutando el siguiente comando

e2fsck -y -E unshare_blocks vendor.img

¡deshabilitar la función "share_blocks" me impidió hacer el montaje como RW, por supuesto haciendo el montaje RW trabajando correctamente !

En la última fase, intenté reemplazar los archivos en el sistema de archivos del proveedor y entonces descubrí otro desafío en mi camino, desafortunadamente, había un problema con el espacio limitado en el sistema de archivos,

Por ejemplo: En el caso de que quiera reemplazar el módulo del kernel llamado "abc.ko", ¡eliminar el archivo no muestra ningún espacio libre nuevo en el sistema de archivos! En este punto no puedo actualizar los viejos módulos del kernel con uno nuevo (compatible con el nuevo kernel compilado), Por supuesto ejecutando "df -h ." devuelve no espacio libre y 100% utilizado, ¿Alguien tiene alguna idea de lo que necesito hacer?

Gracias,

0voto

alecxs Puntos 29

Suponiendo que vendor es una partición independiente (para super partición se refiere a la otra pregunta)

adb pull /dev/block/platform/bootdevice/by-name/vendor vendor.img
dd if=/dev/zero bs=1G seek=1 count=0 of=vendor.img
resize2fs vendor.img 1G
e2fsck -E unshare_blocks vendor.img
e2fsck -yf vendor.img
adb push vendor.img /dev/block/platform/bootdevice/by-name/vendor

que se redimensionará a 1G en total

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X