Hola de nuevo muchachada.
Lesgoumaifrien con la segunda parte del tuto.
Venimos de aquí: Obtención de la clave SIP del router Pure ED500 de Adamo (1/2). Si no te has leído previamente la parte 1 del tutorial… Pues ná; bien. Di que sí. Tiene que haber gente pa tó.
Casilla de salida
Llegados a este punto que llamaré casilla de salida, asumo que:
- Tienes el router ya abierto, apagado pero conectado a la fuente de alimentación.
- Tienes conectado el adaptador USB-TTL de forma correcta y estable a la placa del router (el cómo yaaaa… cosa tuya)
- Tienes un ordenador con el adaptador USB-TTL preparado y el software de terminal en marcha. (Inciso: Siempre que hable de minicom cada cual entienda una referencia al software de terminal elegido personalmente por cada uno)
- Tienes cerveza en la nevera… bueno esto ya es más opcional pero siempre ayuda.
Vale. Pues ahora presionas el botón de encendido del router y en el minicom empiezan a aparecer letras. Si no haces nada verás pasar ante tus ojos toda tu vid… diigooo el proceso de arranque del router. Tras un rato pasando mensajes sin parar se para en un punto cuyas últimas líneas podrían ser algo así:
etc/init.d/iup[10398]: Provisioning is scheduled at 03:2 daily
Outside WAIT got IPI interrupt to launch from cpu 01
MSG_ID = 01All init.d scripts started.
Adamo login:
¿Qué coj… hay que poner ahí? Pues niideaoiga. Os queda de tarea para casa que yo bastante he tenido con la clave del SIP.
En los mensajes de arranque hay información muy interesante. Así de primeras:
[ 0.000000] User-defined physical RAM map:
[ 0.000000] memory: 0e000000 @ 20000000 (usable)
[ 0.000000] Determined physical RAM map
[ 0.000000] memory: 0e000000 @ 20000000 (usable)
[ 0.000000] memory: 00009000 @ 2cf3b000 (reserved)
[ 0.000000] memory: 00009000 @ 8cf3b000 (reserved)
En cristiano y con ayuda de chatgpt: A partir de la dirección de memoria 0x20000000 (el mega nº 512) tenemos 0e000000 (224 MB) de espacio para rabilar con ellos a nuestro antojo. Por tanto: Podemos escribir en RAM entre los megas 512 al 736.
En mis pruebas ha ocurrido varias veces que escribir en la dirección 0x20000000 y luego volcar esa posición provoca el cuelgue del router. Consejo: Empezar en la posición 0x21000000.
Resumiendo: apuntaros bien este número hexadecimal: 0x21000000
Ya sé que estáis pensando: Vale sí. Todo muy guapo pero seguimos sin tener acceso a la terminal del router. Pero estamos aquí para aprender, ¿no? Que se note que semos jente estudiada… y léida… Vamos: Con mucha hagrikultura.
Entrando a la terminal
Hay que interrumpir la secuencia de arranque que hemos visto. Clásicamente se consigue enviando una señal de interrupción o pulsando una tecla desde el minicom.
Vale. Pues si alguien encuentra que tecla o combinación de ellas interrumpe el arranque del ED500 por favor me lo diga. Yo ya he probado más combos de teclas que en una partida de Street Fighter sin conseguir nada.
Si se encontrase la tecla o la combinación de interrupción nos podríamos ahorrar el peñazo que viene ahora.
Si uno se fija en las primeras líneas del arranque vemos algo "sospechoso":
ROM VER: 2.1.0
CFG 0a
B
.
.
U-Boot 2016.07-INTEL-v-3.1.109-01293-g819227e-dirty (May 02 2023 - 17:32:05 +0200), Build: jenkins-gnxOS-Build-SE-257
interAptiv
cps cpu/ddr run in 800/800 Mhz
DRAM: 224 MiB
NAND: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
In: serial
Out: serial
Err: serial
Net: multi type
Internal phy firmware version: 0x8548
GRX500-Switch
Type run flash_nfs to mount root filesystem over NFS
primary system is 1
primary boot counter is 2
alt system is 0
alt boot counter is 0
selected system is 1
Kernel command line = [console=ttyLTQ0,115200 root=ubi0:rootfs_1 ubi.mtd=ubi,0,30 rootfstype=ubifs mtdparts=17c00000.nand-parts:1m(uboot),-(ubi) init=/etc/preinit mem=224M@512M]
Atentos a los:
primary boot counter is 2
alt boot counter is 0
Si encendemos el router. Lo dejamos arrancar durante 2 a 3 segundos y lo volvemos a apagar. Al volver a encenderlo veremos que la línea 'primary boot counter is ' incrementa su valor en 1 unidad.
Si seguimos repetiendo el ciclo on/off llegará hasta 'primary boot counter is 5'.
¿Y ya está? Los coj… Porque ahora empieza a iniciarse el contador de 'alt boot counter is '.
Pues hay que seguir dale que te pego hasta empate de ambas líneas a 5 :
ROM VER: 2.1.0
CFG 0a
B
.
.
U-Boot 2016.07-INTEL-v-3.1.109-01293-g819227e-dirty (May 02 2023 - 17:32:05 +0200), Build: jenkins-gnxOS-Build-SE-257
interAptiv
cps cpu/ddr run in 800/800 Mhz
DRAM: 224 MiB
NAND: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
In: serial
Out: serial
Err: serial
Net: multi type
Internal phy firmware version: 0x8548
GRX500-Switch
Type run flash_nfs to mount root filesystem over NFS
primary system is 1
primary boot counter is 5
alt system is 0
alt boot counter is 5
selected system is 0
Kernel command line = [console=ttyLTQ0,115200 root=ubi0:rootfs_0 ubi.mtd=ubi,0,30 rootfstype=ubifs mtdparts=17c00000.nand-parts:1m(uboot),-(ubi) init=/etc/preinit mem=224M@512M]
Writing to UBI... done
Loading file '/boot/uImage' to addr 0x80800000...
Y ahora sí. Por fin. En el siguiente reinicio: ¡¡¡EL número 11!!!
ROM VER: 2.1.0
CFG 0a
B
.
.
U-Boot 2016.07-INTEL-v-3.1.109-01293-g819227e-dirty (May 02 2023 - 17:32:05 +0200), Build: jenkins-gnxOS-Build-SE-257
interAptiv
cps cpu/ddr run in 800/800 Mhz
DRAM: 224 MiB
NAND: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
In: serial
Out: serial
Err: serial
Net: multi type
Internal phy firmware version: 0x8548
GRX500-Switch
Type run flash_nfs to mount root filesystem over NFS
No working system, both systems has a boot count over 5
Resetting counters and halting boot, reset needed.
Writing to redundant UBI... done
IOPSYS 2 grx500 #
Ahí tenéis vuestra terminal.
Recordadatorio: Si los cables pierden contacto eléctrico vuelves a la casilla de salida (Y no veas lo que que da por el c…)
Dentro de la terminal
Bien. Hemos aterrizado dentro de una terminal U-Boot con sus comando UBI. (Y ahora es cuando los puristas me atizan) Que vendría a ser una especie de LVM para memorias flash
A brochagorda vamos a hacer lo siguiente:
- Activar el volumen UBI que nos interesa.
chpart ubi
- Asociar el volumen UBI a su partición física.
ubi part ubi
- Montar el volumen UBI con el sistema de archivos.
ubifsmount ubi0:rootfs_1
- Listar el contenido del directorio que nos interesa.
ubifsls /overlay/etc/asterisk/
¡Ahívaquetepreste! Así de golpe. Sin avisar. Sin preliminares de calentamiento… de manos. Hasta el fondo… de la terminal. Metemos todo de golpe… los comandos.
chpart ubi; ubi part ubi; ubifsmount ubi0:rootfs_1; ubifsls /overlay/etc/asterisk/
partition changed to nand0,1
other 4 Sat Jul 06 17:57:30 2024 res_config_sqlite3.conf
40 Sat Jul 06 17:57:30 2024 dnsmgr.conf
other 4 Sat Jul 06 17:57:30 2024 sip_notify.conf
other 4 Sat Jul 06 17:57:30 2024 users.conf
824 Sat Jul 06 17:57:30 2024 voicemail.conf
25748 Sat Jul 06 17:57:30 2024 indications.conf
2082 Sat Jul 06 17:57:30 2024 extensions_extra.conf
other 4 Sat Jul 06 17:57:30 2024 lantiq.conf
5490 Sat Jul 06 17:57:30 2024 extensions_macro.conf
75 Sat Jul 06 18:09:46 2024 musiconhold.conf
other 4 Sat Jul 06 17:57:30 2024 http.conf
66 Sat Jul 06 17:57:30 2024 codecs.conf
0 Sat Jul 06 17:57:30 2024 sip_registrations.conf
4957 Sat Jul 06 17:57:30 2024 asterisk.conf
0 Sat Jul 06 17:57:30 2024 queues.conf
324 Sat Jul 06 17:57:30 2024 cdr.conf
8 Sat Jul 06 17:57:30 2024 meetme.conf
other 4 Sat Jul 06 17:57:30 2024 dsp.conf
216 Sat Jul 06 17:57:30 2024 res_stun_monitor.conf
0 Sat Jul 06 17:57:30 2024 sip_users.conf
7339 Sat Jul 06 18:01:00 2024 tapi.conf
other 4 Sat Jul 06 17:57:30 2024 ccss.conf
120 Sat Jul 06 17:57:30 2024 logger.conf
other 4 Sat Jul 06 17:57:30 2024 cli.conf
other 4 Sat Jul 06 17:57:30 2024 cdr_manager.conf
480 Sat Jul 06 17:57:30 2024 cdr_syslog.conf
280 Sat Jul 06 17:57:30 2024 manager.conf
other 4 Sat Jul 06 17:57:30 2024 cli_permissions.conf
other 4 Sat Jul 06 17:57:30 2024 stasis.conf
0 Sat Jul 06 17:57:30 2024 sip_providers.conf
other 4 Sat Jul 06 17:57:30 2024 extconfig.conf
1785 Sat Jul 06 18:07:20 2024 sip.conf
<DIR> 160 Sat Jul 06 18:09:46 2024 manager.d
124 Sat Jul 06 17:57:30 2024 rtp.conf
714 Sat Jul 06 17:57:30 2024 macros.tmp
3094 Sat Jul 06 18:01:00 2024 extensions.conf
118 Sat Jul 06 17:57:30 2024 features.conf
IOPSYS 2 grx500 #
Estamos viendo el contenido del directorio /overlay/etc/asterisk/. El archivo que nos interesa es: sip_providers.conf
Inciso: Los más avispados habrán visto que sip_providers.conf tiene tamaño cero. Repito: Estoy con el router de pruebas que los cabr… de Adamo no aprovisionan. En el router oficial tiene tamaño 518 Bytes.
El tamaño si que importa
El de los archivos… digo.
Mostraré cómo visualizar cualquier fichero del sistema de archivos. Por si vosotros queréis visualizar cualquier otro archivo random que no sea sip_providers.conf (como yoquese…uno cualquiera… /etc/shadow )
Como ejemplo usaré el archivo 'rtp.conf' que no tiene tamaño cero. Porque a ver… cargar y mostraros el sip_providers.conf que está vacío… después de todo este tocho de tutorial sería peor final que el de Juego de Tronos.
Lo primero. Hay que trabajar siempre con rutas completas. Por tanto si queréis visualizar un archivo lo primero es encontrarlo y ver su tamaño. (El equivalente al ls de Linux o al dir de windows)
Vuestro comando es: ubifsls <directorio>
En el ejemplo que estamos ya he hecho ubifsls /overlay/etc/asterisk/
. Si queréis ver…yoquese /etc/ pues sería ubifsls /etc/
.
Siguiendo con el ejemplo. Nos fijamos en rtp.conf
y vemos que tiene un tamaño de 124 bytes. Pues ahora buscar vuestra calculadora favorita y pasáis el 124 de decimal a hexadecimal. Para el ejemplo 124=0x7c
.
Cargamos a la RAM el archivo rtp.conf
.
ubifsload 0x21000000 /overlay/etc/asterisk/rtp.conf 124
Loading file '/overlay/etc/asterisk/rtp.conf' to addr 0x21000000...
Done
IOPSYS 2 grx500 #
En cristiano: Hemos cogido el archivo rtp.conf con tamaño 124 bytes residente en la NAND y lo hemos copiado en la dirección 0x21000000 de la RAM
Si fuese mi router de Adamo en vez del de pruebas; ya dije que sip_providers.conf tiene un tamaño de 518 bytes (0x206 en hexadecimal). No tengo ni idea si en vuestros casos el tamaño será igual .
El comando sería: ubifsload 0x21000000 /overlay/etc/asterisk/sip_providers.conf 518
Ahora vamos al paso final. Toca visualizar archivos. Para ello hay que usar el comando md <direccion de memoria> <tamaño del archivo en hexadecimal>
.
Para el ejemplo del 'rtp.conf': Previamente hemos cargado a la dirección 0x21000000. El tamaño del archivo en hexadecimal hemos dicho que es 0x7c
md 0x21000000 0x7c
21000000: 3b0a3b20 52545020 436f6e66 69677572 ;.; RTP Configur
21000010: 6174696f 6e0a3b0a 5b67656e 6572616c ation.;.[general
21000020: 5d0a3b0a 3b205254 50207374 61727420 ].;.; RTP start
21000030: 616e6420 52545020 656e6420 636f6e66 and RTP end conf
21000040: 69677572 65207374 61727420 616e6420 igure start and
21000050: 656e6420 61646472 65737365 730a3b0a end addresses.;.
21000060: 72747073 74617274 3d313030 30300a72 rtpstart=10000.r
21000070: 7470656e 643d3230 3030300a 00000000 tpend=20000.....
21000080: 00000000 00000000 00000000 00000000 ................
21000090: 00000000 00000000 00000000 00000000 ................
210000a0: 00000000 00000000 00000000 00000000 ................
210000b0: 00000000 00000000 00000000 00000000 ................
210000c0: 00000000 00000000 00000000 00000000 ................
210000d0: 00000000 00000000 00000000 00000000 ................
210000e0: 00000000 00000000 00000000 00000000 ................
210000f0: 00000000 00000000 00000000 00000000 ................
21000100: 00000000 00000000 00000000 00000000 ................
21000110: 00000000 00000000 00000000 00000000 ................
21000120: 00000000 00000000 00000000 00000000 ................
21000130: 00000000 00000000 00000000 00000000 ................
21000140: 00000000 00000000 00000000 00000000 ................
21000150: 00000000 00000000 00000000 00000000 ................
21000160: 00000000 00000000 00000000 00000000 ................
21000170: 00000000 00000000 00000000 00000000 ................
21000180: 00000000 00000000 00000000 00000000 ................
21000190: 00000000 00000000 00000000 00000000 ................
210001a0: 00000000 00000000 00000000 00000000 ................
210001b0: 00000000 00000000 00000000 00000000 ................
210001c0: 00000000 00000000 00000000 00000000 ................
210001d0: 00000000 00000000 00000000 00000000 ................
210001e0: 00000000 00000000 00000000 00000000 ................
IOPSYS 2 grx500 #
De nuevo, si estuviese en mi router Adamo con los datos que ya puse antes: sip_providers.conf cargado en la dirección 0x21000000 con tamaño de archivo 0x206 sería:
md 0x21000000 0x206
Os muestro las primeras líneas de mi 'sip_providers.conf' anonimi… anomina…aminoa… ¿anonimizando? (me está fallando la hagrikultura)
1000000: 5b736970 305d0a74 79706509 093d2070 [sip0].type..= p
21000010: 6565720a 64656661 756c7475 73657209 eer.defaultuser.
21000020: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX = nnn-nnnnnn.; A
21000030: 75746865 6e746963 6174696f 6e207573 uthentication us
21000040: 65722066 6f72206f 7574626f 756e6420 er for outbound
21000050: 70726f78 6965730a 66726f6d 75736572 proxies.fromuser
21000060: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .= nnn-nnnnnn.;
21000070: 486f7720 796f7572 2070726f 76696465 How your provide
21000080: 72206b6e 6f777320 796f750a 73656372 r knows you.secr
21000090: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX et..= PPPPPPPPPP
210000a0: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX PPPPPP.; The pas
210000b0: 73776f72 64207468 65792075 73652074 sword they use t
210000c0: 6f20636f 6e746163 74207573 0a686f73 o contact us.hos
210000d0: 7409093d 20736970 2e616461 6d6f2e65 t..= sip.adamo.e
210000e0: 730a6672 6f6d646f 6d61696e 093d2073 s.fromdomain.= s
los nnn-nnnnnn son vuestro identificador SIP.
las PPPPPPPPPPPPPPPP son los 16 caracteres alfanuméricos de vuestra SIP Password.
Pues ya está muchachada. Espero que nadie se haya liado a golpes con el router y los cablecitos.
Si alguien quiere llegar más allá de este punto. La lista de comandos diponibles es:
help
? - alias for 'help'
base - print or set address offset
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
chpart - change active partition
cmp - memory compare
cp - memory copy
echo - echo args to console
env - environment handling commands
exit - exit script
factory - Only used for factory
false - do nothing, unsuccessfully
fdt - flattened device tree utility commands
go - start application at address 'addr'
help - print command description/usage
httpd - A rescue http server
iboot - Inteno boot
loop - infinite loop on address range
md - memory display
mm - memory modify (auto-incrementing address)
mtdparts- define flash/nand partitions
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nm - memory modify (constant address)
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rescue - check if we should enter rescue mode
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
secboot - Command to Boot TOS
setenv - set environment variables
showvar - print local hushshell variables
sleep - delay execution for some time
test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true - do nothing, successfully
ubi - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
upgrade - upgrade - forward/backward copy memory to pre-defined flash location
version - print monitor, compiler and linker version
wget - download files from http server
y2image - alias for yimage. use yimage instead
yimage - test and burn y3/y2 image to flash. Only the UBIFS part of the yimage
is actually saved.
IOPSYS 2 grx500 #
En especial hay uno muy interesante 'printenv' del que muestro su salida: (Tambíen está algo anomicoza… joer hacer anónimo… como se diga)
printenv
acs_password=PPPPPPPPPPPPPPPP
auth_key=PPPPPPPPPPPPPPPP
baudrate=115200
board_id=norrland
boot_cnt_alt=0
boot_cnt_primary=0
boot_ram=run bootargs_ram;${dl_prog} ${loadaddr} lede-intel_mips-xrx500-NORRLAND-initramfs-kernel.bin;${dl_prog} ${fdtaddr} dtb;bootm ${loadaddr} - ${fdtaddr}
bootargs=console=ttyLTQ0,115200 root=ubi0:rootfs_0 ubi.mtd=ubi,0,30 rootfstype=ubifs mtdparts=17c00000.nand-parts:1m(uboot),-(ubi) init=/etc/preinit mem=224M@512M
bootargs_ram=setenv bootargs ${extra} console=ttyLTQ0,${baudrate} root=/dev/ram0 rootfstype=ramfs ${mtdparts} mem=224M@512M
bootargs_ubi=setenv bootargs ${extra} console=ttyLTQ0,${baudrate} root=ubi0:${root_vol} ubi.mtd=ubi,0,30 rootfstype=ubifs ${mtdparts} init=/etc/preinit mem=224M@512M
bootcmd=rescue;iboot
bootdelay=-2
bootfile=uImage
cal_wlan0=H4sIAAAAAAACA/sjzQAGBlICHAzo4D8CsDYIhLk6MjivmTXt426FrYk5hgYtTIsYOkuF2VNkA8+x 8HJzMOz5y8cgza7LsEx6iXzAvSc8QKHwvzwMe7mMGDhEHsn5QVS1AFXFsmkyxEuwpsRBdS79y8vw gF2DwUN6cbwfSCcnw/U/PAyHuLQYfok8ivffB1al9leQQZ9ZlcFVojuOD+JCLgaGBSCKldmBBYjY fnFIqZkwMPBw83FIM5ZOzqjIc2FgYPvDKaUOFOXm5uWQYmybllha4szAwP6LQ1LNGKiXm5tDkrF2 UkLxdKDoQwY7O1uG/0yLZxaUFbkzMDD/ZJZSM4LolWFsmTG7udKVgYHxO5OkKlCUh4ePU4ppx4ri ulwPlOAaBaNgSAAATTZzZgAEAAA=
cal_wlan2=H4sIAAAAAAACA8WT3UtTcRzGH8/x5ex3pm5Ot50ta+2sFyjKNaZuU2Ntc4qg0YVGkeU2uhKvojcL NESDgqA5L4rQzq6KjG7qptZNECERQiQZXbR2UV4EWbRekOq7/QZF/0BfDhx4+D2f3/N8D2fNjuI0 2QwS/p1ff6ZizLB3IIjQrSszq/cdd4eG3U0TwiVMvTe5XGpvJscYQ04wYYH5MKHEHdH5orQsWPG5 ohVXrZqjO/OIMR2YWIclFkRCn10fJUmWsF8w4mVVGyaMLlespwDT4YdQh5PMi4PW2JFuLr0i/naS zNb04S7uXCOnwgKYb8gOlqR9ggGfKr04YHSpWjdPVi+asE32YVGJz3VmchJJHwhWI7RiRNFmozzZ CsH6WTuy8tvZLjISbISkYckNfyM1TajOMOd9E+qpQxumlbgzSjydjPViA8qEDmwypDdG+BU76NZn gg8rtpwjxCs8oVYya0bKklBjYa79pCQ3WAsGlXisEE7HsEGsh5OcbkM6XirfR2uLyF6EbbmhCJee E+yczoO8OaFqQe7U0Z295DxqiGsRnmwrJbMI7VgypLXO+aKzR7TAXtWKfntubg+HPSXYss6LpIWa plRn5CHJEh6Xm5BnftyjpqVwlRTOLbThY22haXFzdgr3nYXwTv+mMcB5KdrcMm1OMqfUWAl2p7wO A9S0z1psWtikmWCVsh+7bemhMIe5RCNusw680GcPBfhnuEywnQRbXZdStRCHPaBk0wSbVOJamDe1 l5rOGNJzQR7DQ8na5RZ4bNlr/kzROEawWYI1N1w4Vov0QnXTzdelV0Jc1NMj5wXb5l0Ak/WSUnYq eXz0dBiQv5DqAfT6GslWdvF6cjzZSerXcvuWgioX1N6p8TPn6Wx1XuRni2pw8sToWVKzfn/A9/df 9f/nN6JOohEABAAA
des_key=PPPPPPPPPPPPPPPP
dl_prog=tftpboot
ethact=GRX500-Switch
ethaddr=34:e3:80:f7:19:40
fdtaddr=0x84000000
fdtfile=norrland.dtb
gatewayip=192.162.1.1
hw_version=1.0
i_antenna=0
ipaddr=192.168.1.1
loadaddr=0x80800000
mtddevname=uboot
mtddevnum=0
mtdids=nand0=17c00000.nand-parts
mtdparts=mtdparts=17c00000.nand-parts:1m(uboot),-(ubi)
netmask=255.255.255.0
num_mac_addr=16
partition=nand0,0
preboot=echo;echo Type "run flash_nfs" to mount root filesystem over NFS;echo
prodid=.1.3.6.1.4.1.25167.4.10.3
prodname=PURE-ED500
production=0
psn=0
quirk_level=10
root_vol=rootfs_1
serial_number=W.3620434520
serverip=192.168.1.100
stderr=serial
stdin=serial
stdout=serial
uboot_inteno_version=938f0820-2ffb-11e7-bbc9-2f21351ee6fb: {"Major":15,"Minor":2}
uboot_version=U-Boot 2016.07-INTEL-v-3.1.109-01293-g819227e-dirty (May 02 2023 - 17:32:05 +0200)
update_image=if ${dl_prog} ${loadaddr} last.y3; then yimage burn rootfs_0;setenv root_vol rootfs_0;fi;
update_nandboot=tftp ${loadaddr} ${tftppath}u-boot-nand.bin;nand erase 0 100000;nand erase 2C0000 FA00000;nand write.partial ${loadaddr} 0 ${filesize}
update_root0=if ${dl_prog} ${loadaddr} root.ubifs; then ubi write ${loadaddr} rootfs_0 $filesize;setenv root_vol rootfs_0;fi;
update_uboot=if ${dl_prog} ${loadaddr} uboot.img; then nand erase.part uboot ;nand write.partial ${loadaddr} uboot $filesize;fi;
user_passwd=PPPPPPPP
variant=1
verify_boot=1
wpa_key=PPPPPPPPPPPPPP
Environment size: 3693/126971 bytes
IOPSYS 2 grx500 #
Lo he escrito lo más rápido que he podido. Seguro que se me ha escapado más de un gambazo.
Aún así, espero que el tocho os sirva de algo.
Un saludo a todo el foro.