Autor Tema: [SCRIPT] para descargar y flashear OpenWrt (desde OpenWrt)  (Leído 1510 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado peperfus

  • *****
  • Mensajes: 220
[SCRIPT] para descargar y flashear OpenWrt (desde OpenWrt)
« en: 01-03-2020, 16:17 (Domingo) »
W A R N I N G - A V I S O
Citar
DISCLAIMER - EXCENCIÓN DE RESPONSABILIDAD.
El presente tutorial / manual / howto, código fuente / instrucciones o texto en general, carece de cualquier garantía y sólo está pensado como uso a modo educativo, de aprendizaje, experimentación, investigación y desarrollo.
Puede contener errores, así como ambigüedades o falta de información precisa. En cualquier caso, las sugerencias, comentarios, correcciones y críticas constructivas serán siempre bienvenidos.
El autor rechaza cualquier responsabilidad por cualquier tipo de daño, ya sea directo o indirecto, a propios o a terceros, accidental o intencionado que la aplicación del siguiente texto pueda ocasionar.
Su uso está totalmente desaconsejado en entornos de producción, a no ser, bajo la estricta supervisión de un profesional debidamente cualificado y bajo su única y exclusiva responsabilidad.
La aplicación total o parcial del presente texto en cualquier sistema, implica la total aceptación de estas condiciones.
Peperfus.


Se debe especificar como parametro, la version que se quiere flashear, por ejemplo: 19.07.2
Y también ajustar las variables para que el script coja el firmware correcto.
(Requiere SSL)

Citar
Edito:
Acabo de ver de dónde sacar la información del target actual (el del open instalado). Se puede extraer de este archivo y usarlo para automatizar más aún el script, sin necesidad de editarlo.
Archivo: "/etc/openwrt_release"
Faltaría sacar el nombre de modelo exacto del router, pero no he encontrado ese dato, así que de momento hay que seguir editando el script.

Código: [Seleccionar]
#!/bin/sh

# Actualiza OpenWrt a la version especificada.
# SCRIPT SIN GARANTIA DE FUNCIONAMIENTO.
# EJECUTAR BAJO TU UNICA Y EXCLUSIVA RESPONSABILIDAD.


# Ajustar los parametros:
arquitectura=AQUI PONER LA MARCA
versionSolicitada=$1
genericOSmp=SI QUEREMOS CHIP INDIVIDUAL O DOBLE. EN OTROS CASOS, EL DIRECTORIO ADECUADO
modelo=SE PUEDE VER EN LA SINTAXIS DEL ARCHIVO.

url=https://downloads.openwrt.org/releases/$versionSolicitada/targets/$arquitectura/$genericOSmp/
filename=openwrt-$versionSolicitada-$arquitectura-$genericOSmp-$modelo-squashfs-sysupgrade.bin

if [ ! -f /usr/bin/sha256sum ]; then
  opkg update && opkg install coreutils-sha256sum
fi

sha256sumsFile=https://downloads.openwrt.org/releases/$versionSolicitada/targets/$arquitectura/$genericOSmp/sha256sums
cd /tmp
wget $sha256sumsFile
wget $url$filename

sha256Descargado=$(sha256sum /tmp/$filename | cut -d' ' -f 1)
sha256Correcto=$(cat /tmp/sha256sums | grep $filename | cut -d' ' -f 1)

echo sha256sum del archivo a flashear $sha256Descargado
echo sha256sum correcto _____________ $sha256Correcto
echo SI COINCIDEN, PUEDE CONTINUAR
echo OJO: se va a perder TODOS los programas instalados. Para abortar, Ctrl+C AHORA.
if [ "$sha256Descargado" = "$sha256Correcto" ]; then
  sysupgrade -i ./$filename
else
  echo Los SHA256SUMS NO COINCIDEN !!
fi

exit

PD: A modo  de apunte: en el sysupgrade, cuando editamos la lista de archivos a guardar antes de flashear, la lista no debe terminar en línea vacía. (Cosas tikismikis, qué le vamos a hacer)


« Última modificación: 26-05-2020, 19:25 (Martes) por peperfus »