Es: 2. Instalación y Actualización - eduardofilo/RG350_adam_image GitHub Wiki
CONSEJO IMPORTANTE: Es altamente recomendable no flashear directamente sobre la misma tarjeta donde tuviéramos la instalación anterior. Haciéndolo sobre una tarjeta distinta y conservándola durante un tiempo, siempre podremos recuperar algún fichero que echemos en falta (como algún savestate).
Instalación desde cero
- Descargar la imagen del apartado releases de este repositorio correspondiente a tu dispositivo:
- adam_vX.X.img.xz: RG280V, RG280M, RG350/P, RG350M, PocketGo2 v2, RG300X
- adam_vX.X_PGv1.img.xz: PocketGo2 v1, GCW-Zero.
- Sin necesidad de descomprimir, flashear el archivo (
img.xz
) con Balena Etcher sobre una tarjeta microSD de al menos 4GB. - Montar la microSD en un ordenador. Si la acabamos de flashear, dependiendo del sistema operativo, puede ser necesario extraerla del lector y volverla a insertar. En Windows se montará una de las dos particiones que contiene la tarjeta y la otra dará error. El error es normal dado que la segunda partición es de tipo Linux.
- Colocar el kernel adecuado al modelo de nuestra consola. Esto puede hacerse de varias maneras en función del sistema operativo del PC.
Windows
-
Abrir el script
select_kernel.bat
que hay en la partición que se monta correctamente, haciendo doble clic sobre él. -
Aparecerá una consola donde tendremos que teclear el número correspondiente a nuestro modelo de consola del listado que veremos.
-
Pulsar Retorno y, cuando se nos indique, expulsar la tarjeta con seguridad.
Linux
Para que el siguiente procedimiento funcione, debe estar instalado el programa dialog
en la distribución (sudo apt install dialog
en Debian y derivadas por ejemplo).
-
Abrir un terminal y cambiar el directorio actual a la ruta correspondiente a la partición 1 de la tarjeta (podemos averiguar el punto de montaje en nuestro sistema con el comando
df
). Desde ese directorio ejecutar el comandobash select_kernel.sh
. -
Aparecerá un diálogo que nos invitará a seleccionar nuestro modelo de consola con las teclas de cursor.
-
Pulsar Retorno y, cuando se nos indique, expulsar la tarjeta con seguridad.
Cualquier sistema
Hay un tercer método válido para cualquier sistema operativo (Windows, Linux, Mac). Se trata de visualizar con un explorador de archivos la partición 1 de la tarjeta y copiar manualmente los dos ficheros que hay dentro del directorio correspondiente a nuestro modelo de consola a la raíz de esa partición. Al ser una partición FAT32, no debería haber problema para acceder a los ficheros desde cualquier sistema. Hacer clic en la siguiente miniatura para ver un pequeño vídeo.
Al llegar a este punto, la tarjeta estará lista para funcionar sobre el modelo de consola que hayamos seleccionado en el procedimiento anterior. Si no lo hemos hecho ya, la expulsaremos con seguridad del PC e insertaremos en la ranura de la consola marcada como INT.
El procedimiento anterior se puede repetir para cambiar a otro modelo de consola en cualquier momento. Es decir, la imagen es compatible con los cuatro modelos de consola soportados por lo que una misma tarjeta nos servirá para varias máquinas.
La partición 2 contenida en el fichero de imagen, tiene unos 3,5GB (por eso se puede flashear sin problemas en tarjetas a partir de 4GB de capacidad). En esta versión de la imagen, esta partición no se auto expandirá hasta ocupar el espacio disponible en la tarjeta. Si se quiere hacer (aunque no es necesario dado que los contenidos pesados van en la tarjeta EXT), se puede hacer con las utilidades DiskGenius de Windows o GParted de Linux.
En la primera parte de este vídeo del compañero Brumagix Gamer podemos ver el proceso de instalación:
Cómo flashear en GCW Zero
Guía elaborada por @ValdikSS.
Necesitas Linux para esto.
- Descarga imagen de la última release PGv1.
- Descomprime el archivo xz:
xz -d adam_v2.1_PGv1.img.xz
, esto generaráadam_v2.1_PGv1.img
en el mismo directorio. - Divide la imagen en MBR, bootloader, partición del sistema y partición de datos:
dd if=adam_v2.1_PGv1.img bs=512 count=1 of=mbr.bin
dd if=adam_v2.1_PGv1.img bs=512 skip=1 count=30 of=bootloader.bin
sudo losetup --show -Pf adam_v2.1_PGv1.img
mkdir m && mount /dev/loopXp1 m
, dondeX
es el número de dispositivo del paso anterior conlosetup
.sudo mv m/gcw0/* m/
- esto copiará el kernel gcw0 a la raíz de la partición systemsudo umount m && sync
sudo cat /dev/loopXp1 > system.bin
, dondeX
es el número de dispositivo del paso conlosetup
.sudo cat /dev/loopXp2 > data.bin
, dondeX
es el número de dispositivo del paso conlosetup
.sudo losetup -d /dev/loopX
, dondeX
es el número de dispositivo del paso conlosetup
.
- Clona el repositorio de Ingenic-boot.
- Aplica el siguiente parche o no se podrá compilar:
diff --git a/source/stage2_cmd_tool/stage2.h b/source/stage2_cmd_tool/stage2.h
index 54e6ce6..52b9caa 100644
--- a/source/stage2_cmd_tool/stage2.h
+++ b/source/stage2_cmd_tool/stage2.h
@@ -148,4 +148,11 @@ enum OPTION
/*-------------------------------------------------------------------------*/
+int sd_card_init(struct ingenic_dev *ingenic_dev);
+
+int sd_card_program(struct ingenic_dev *ingenic_dev, unsigned int addr,
+ const char *file_path, int check);
+
+int usb_ingenic_nand_ops(struct ingenic_dev *ingenic_dev, int ops);
+
#endif /*__STAGE2_CMD_TOOL_H__ */
- Ejecuta
make
. - Mantén presionados SELECT+POWER en la GCW Zero.
- Conecta la GCW Zero al PC mediante USB.
- Ejecuta
sudo ./ingenic-boot --mbr mbr.bin --boot bootloader.bin --system system.bin --data data.bin
.
Este proceso tardará un tiempo (alrededor de 15 minutos). El nuevo firmware se iniciará automáticamente.
Actualización hasta v1.4.2
Si se ha estado utilizando la consola con la versión anterior de la imagen, seguramente nos interese guardar los savestates de las partidas que hayamos jugado y algunos ajustes personales. Así pues, ANTES de flashear la última versión de la imagen, conviene hacer backup de algunas de estas cosas. Para facilitar esta tarea se puede utilizar la aplicación Py Backup
que se describe aquí y que viene preconfigurada con los archivos más importantes de los que conviene hacer backup periódicamente.
En el siguiente vídeo se muestra el proceso completo de actualización. IMPORTANTE: Los pasos 1 al 6 del vídeo sólo serán necesarios en el caso de que la release que vayamos a instalar incorpore entre sus ficheros una configuración para Py Backup mejorada (config.ini
).
Actualización desde v2.0
La versión 2.0 incluye un cambio importante para facilitar la actualización de futuras versiones. Los savestates de RetroArch y de los emuladores standalone que los soportan se almacenarán ahora en la tarjeta externa, de manera que no se perderán cuando se flashee la tarjeta interna con una nueva versión de la imagen. Los ficheros de configuración sin embargo permanecen en la tarjeta interna ya que forman parte del diseño de la imagen. Los usuarios avanzados que hagan modificaciones a estos ficheros pueden seguir utilizando Py Backup para hacer copias de seguridad y restaurarlos.
Para facilitar la migración especial entre las ramas 1.x y 2.x de la imagen, se ha creado una pequeña utilidad que copia todos los savestates a la nueva estructura de directorios que los mantiene en la tarjeta externa a partir de ahora. Los favoritos de SimpleMenu y los ajustes hechos en cada ROM del emulador elegido para ejecutarlas también son copiados. La uitlidad es el fichero adam_v2.0_migrator.opk
incluido en la release v2.0. El siguiente vídeo muestra cómo instalar y utilizar esta utilidad.
Una vez utilizado, borrar el OPK adam_v2.0_migrator.opk
ya que no será necesario nunca más.