Hola a todos. Como lo habéis pedido aqui os dejo este tutorial.
Primero unos conceptos:
-Lo que vamos a hacer se hace bajo linux. Linux distingue entre mayúsculas y minúsculas. Descargarse las utilidades para el HG553 Y HG556 de aqui.(fuentes) Son versiones para el hg553 y hg556 a partir del codigo fuente de las aplicaciones creadas en neufbox4.org para el router neufbox.
-Estos procedimientos aunque a alguien le parezcan novedoso son ya muy antiguos. Mi contrend de jazztel lo modificaba ya sí y para el clásico dlink 624t tambien existía este método. Tienen la ventaja de que es muy rápido, comparado con compilar, mantenemos la ventaja de un kernel configurado especialmente para la línea de nuestro operador y nos permite añadir lo que hechabamos en falta en el firmware.
-Pongo los ejemplos con el hg553, seria lo mismo con el hg556 solo que cambiando el número.
-El firmware de las familias de chipset de BROADCOM 63XX se compone de cabecera, kernel o nucleo de linux, y sistema de archivos. Algunos llevan a veces la actualización del CFE, pero no es el caso de los firmwares que traen los de Vodafone.
-Nosotros lo que vamos ha hacer es modificar unicamente el sistema de archivos, AÑADIENDO para no perder la funcionalidad del router, quien quiera BORRAR es su problema, siempre puede volver a flasher un firmware bueno con el método de rescate. Explicado en en otro tema.
1.-Separar el firmware en cabecera, kernel y sistema de archivos.
Utilizaremos la herramienta HG553-EXTRACT o HG556-EXTRACT, según modelo. Suponemos que nuestro firmware a modificar se llama firmware.bin.
Ejecutamos:
./hg553-extract firmware.bin ./hg556-extract firmware.bin //para el hg556
Esto crea tres archivos llamados HG553-HEADER, HG553-KERNEL Y HG553-ROOTFS. El kernel (HG553-KERNEL) lo dejamo tranquilo, ni los editamos ni borramos. Con la cabecera (HG553-HEADER) no la usamos ya que hay que crear una nueva asi que se puede borrar. El archivo que usaremos para editar será el HG553-ROOTFS que tiene el sistema de archivos.
2.- Descomprimir el sistema de archivos.
Ejecutamos como usuario root, ya sea iniciando sesion como root o con sudo, su..:
./unsquashfs HG553-ROOTFS ./unsquashfs HG556-ROOTFS //para el HG556
Esto crea un directorio llamado squashfs-root donde está el sistema de archivos a editar.
3.-Editar al gusto
Aqui solo doy consejos.
-Aunque suponemos que hacemos todo en linux, como esta parte se puede hacer en cualquier sistema, recuerdo que el notepad de windows no es recomendable para editar archivos de linux.
-Las páginas webs de huaei están en el directorio doc, las de vodafone en webs.
-Lo que está en en el archivo etc/profile se ejecuta al encender el router. Mi filosofía es de tocar el original lo mínimo por lo que en mi firmware, en ese archivo solo añado una linea que ejecuta lo que aádo en otro archivo llamado iniciar.sh.
-Sin vas a compilar programas o copiar de otro sitio la arquitectura es mips y los binarios se ponen en el directorio bin.
4.-Comprimir el sistema de archivos
Ejecutamos como usuario root, ya sea iniciando sesion como root o con sudo, su.. lo siguiente con todas las opciones, que funciona y recomienda tails92 en su página:
./mksquashfs squashfs-root HG553-ROOTFS -be -lzma -no-fragments -noI -all-root -noappend -D /dev/null -b 8192
5.-Crear la imagen final del firmware.
Ejecutamos:
./hg553-concat HG553 ./hg556-concat HG556 //para el hg556
Nos crea un archivo que es la imagen final del firmware llamado HG553-MAIN, en el que ha juntado HG553-ROOTFS, HG553-KERNEL y ha creado una nueva cabecera recalculando los cheksum.
Y ya hemos acabado. Yo la parte 4 y 5 las ejecuto directamente con un scrit para utomatizar el proceso.
Pues nada a juguetear y si haceis algo mal actualizando el firmware recuerdad el metodo de rescate: pulsa reset, enciende ,manten 20 seg y 192.168.1.1.
Hasta otra.