Proceso de actualización del sistema integrado RK3308 mediante el modo de recuperación

1. Descripción general de la actualización de recuperación

En el desarrollo de un sistema Linux integrado, hay muchas formas de actualizar el equipo terminal, que incluyen principalmente: 1, programación de arranque con tarjeta SD o disco U; 2, actualización OTA (tecnología de descarga espacial); 3, programación remota en línea; 4, actualización por copia de archivo. Este artículo presenta principalmente el proceso de actualización de descargar el paquete de actualización en el lado del dispositivo durante la actualización de la tecnología OTA y luego usar el modo de recuperación para programar la partición especificada.

                                             Diagrama de flujo de actualización de recuperación

Según el diagrama de flujo de actualización de recuperación anterior, se puede ver que las tres aplicaciones clave que implementan la función de actualización son:

        Programa RecoverySystem: se utiliza para iniciar el modo de recuperación y comprobar si es necesario grabar la imagen Recovery.img.

        Programa de recuperación: el programa principal del modo de recuperación.

        Programa rkupdate: se utiliza para analizar los datos de cada partición en el firmware update.img y ejecutar los procedimientos clave para programar y actualizar cada partición.

2. Preparación antes de actualizar

Compile la imagen del sistema de archivos principal rootfs.img:

1. Ejecute source envsetup.sh en el directorio raíz y seleccione la configuración de compilación correspondiente a la plataforma (como: rockchip_rk3308_release);

2. Ejecute make menuconfig para activar la recuperación del soporte del sistema;

El código fuente de recoverySystem se encuentra en: external/recoverySystem/

3. compilar

Ejecute make recoverySystem-rebuild y luego ejecute ./build.sh rootfs para compilar el sistema de archivos principal rootfs.

 

Compile la imagen recovery.img:

1. Ejecute source envsetup.sh y seleccione la configuración de compilación de la plataforma correspondiente a la recuperación (como: rockchip_rk3308_recovery);

2. Ejecute make menuconfig para activar la recuperación del soporte del sistema;

El código fuente de recuperación se encuentra en: externo/recuperación/

El código fuente de rkupdate se encuentra en: external/rkupdate/

3. compilar

Ejecute make recovery-rebuild y make rkupdate-rebuild, y luego ejecute ./build.sh recovery para compilar la imagen recovery.img.

Crear imagen del paquete de actualización update.img

1. Modificar herramientas/linux/Linux_Pack_Firmware/rockdev/package-file

      # herramientas vim/linux/Linux_Pack_Firmware/rockdev/paquete-archivo

     Actualice la configuración de la partición según sea necesario y modifique el archivo del paquete.

2. Ejecute ./mkfirmware.sh y el firmware generado se copiará en el directorio recckdev.

3. Ejecute ./build.sh updateimg. Este comando colocará el paquete de actualización update.img en el directorio recckdev.

 

3. Proceso de actualización de recuperación

1. Cargue update.img en la placa integrada a través de http y debe colocarse en el directorio /userdata o /mnt/sdcard o /udisk; de lo contrario, update.img no se podrá reconocer normalmente.

2. Ejecute recoverySystem ota /userdata/update.img;

3. Antes de ingresar al modo de recuperación, se analizará update.img para verificar si contiene la imagen recovery.img. Si es así, recovery.img se grabará primero.

4. Escriba el comando de actualización de partición miscelánea y reinicie el sistema. El dispositivo entrará en modo de recuperación.

5. Ingrese al modo de recuperación y analice el comando misc. Si se trata de una actualización, ejecute el programa de actualización rkupdate para programar la partición especificada.

6. Después de que la actualización sea exitosa, borre el comando misc y reinicie en el sistema normal.

                                                 Analizar varios procesos

                                                       programa rkupdte para programación de firmware

Precauciones:

1. Al empaquetar update.img, primero debe modificar el archivo del paquete, abrir la partición que necesita actualizarse y bloquear la partición que no necesita actualizarse, lo que puede reducir el tamaño de update.img;

2. Para evitar la situación en la que la actualización no se pueda realizar debido a un corte de energía durante la actualización de recovery.img, la actualización de recovery se coloca en el modo del sistema principal en lugar del modo de recuperación;

3. Si necesita colocar el paquete de actualización en el directorio /userdata, no abra la partición de datos de usuario en el archivo del paquete y no puede actualizar el paquete de actualización que contiene la imagen userdata.img en /userdata, para no dañar la actualización durante el proceso de grabación de la imagen .img de datos de usuario.

4. Existen las siguientes imágenes preparadas por RK para misc.img

Los más utilizados son Blank-misc.img y clean_all-misc.img.

Blank-misc.img es un archivo de partición miscelánea en blanco y clean_all-misc.img es un archivo de partición miscelánea que se utiliza para formatear particiones de usuario.

Si necesita modificaciones personalizadas, puede ver el archivo externo/recovery/recovery.c.

 

 

 

 

 

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/yufeng1108/article/details/103786347
Recomendado
Clasificación