Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
07-07-2015, 10:55 (Martes)
Inicio Ayuda Reglas Buscar Ingresar Registrarse
Noticias:
PixieScript v2.x, ataque automátizado Pixie Dust Attack



+  Seguridad Wireless - Wifi
|-+  Equipos y materiales
| |-+  Puntos de acceso, routers, switchs y bridges
| | |-+  Openwrt (Moderadores: jar229, Noltari, Pteridium, Tki2000)
| | | |-+  [Tutorial] OpenWRT Image Builder para Archer C5 y otros con CentOS
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: [Tutorial] OpenWRT Image Builder para Archer C5 y otros con CentOS  (Leído 869 veces)
500L
**
Desconectado Desconectado

Mensajes: 27


Ver Perfil
« : 09-04-2015, 21:05 (Jueves) »

Hola a todos!
Comparto esta información para aquellos que no quieran liarse mucho en compilar desde el fuente el firmware para su router ya soportado.
Compilando desde el fuente se tarda mucho más, y aunque hay un gran tutorial en este foro, para los que vamos cortos de tiempo y necesitamos actualizar rápidamente, creo que este es el mejor método.

OpenWRT tiene una herramienta llamada Image Builder que sirve para modificar el firmware (generic) añadiendo los paquetes necesarios (que ya tenemos instalados en otras versiones) para hacer un sysupgrade de nuestro router sin perderlos o bien para instalar el firmware desde cero.

Este tutorial está pensado para mi router (archer C5) pero sirve también para otros routers, teniendo en cuenta la versión de Image Builder a descargar (en este caso ar71xx) y la selección del PROFILE al crear la imagen. Una correcta selección el perfil de nuestro router, meterá los paquetes base necesarios para que reconozca nuestro hardware.

La información antes de usar el Image Builder la he sacado de la wiki de OpenWRT. Debido a que en la wiki habla de Debian/Ubuntu en la instalación inicial de los paquetes para compilar la imagen, y soy más de RH, de CentOS y Fedora, hay que hacer algunos pequeños cambios en la instalación inicial de las dependencias.
OJO! Es imprescindible tener un sistema x64, no sirven versiones de 32bit (x86).

Empecemos centrando toda la información en la rama TRUNK (aka Chaos Calmer). Pero se puede usar para BB igualmente.
Antes de poder compilar nada con el Image Builder, tenemos que instalar algunos paquetes en nuestro CentOS. En mi caso, he usado las versiones 6.6 y 7 de CentOS, pero el tutorial sirve igual para versiones anteriores, RH o Fedora.

Instalación de paquetes en CentOS:

Código:
yum install gawk git gettext -y
yum groupinstall "Development Tools" –y

Todo dependerá de qué instalación de CentOS tengáis. En mi caso, siempre instalo la “minimal” y requiere de descargar muchos más MB. Estamos hablando de descargar unos 100MB aproximadamente….

Cuando ya tengamos lo básico instalado, procedemos a descargar el Image Builder. Podemos crear un directorio donde queramos. En mi caso usaré /tmp para realizar todas las operaciones.

Descarga y descompresión del archivo Image Builder para CC (son unos 425MB para descargar):

Código:
cd /tmp
wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64.tar.bz2
tar -xvjf OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64.tar.bz2

Entramos en el directorio que nos ha creado y configuramos los repositorios de paquetes oficiales para la rama TRUNK Chaos Calmer (repositories.conf):

Código:
cd OpenWrt-ImageBuilder-ar71xx-generic.Linux-x86_64
vi repositories.conf

El repositories.conf debe quedar así:

Código:
## Place your custom repositories here, they must match the architecture and version.
# src/gz chaos_calmer http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages
# src custom file:///usr/src/openwrt/bin/ar71xx/packages
src/gz chaos_calmer_base http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/base
src/gz chaos_calmer_luci http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/luci
src/gz chaos_calmer_management http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/management
src/gz chaos_calmer_packages http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/packages
src/gz chaos_calmer_routing http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/routing
src/gz chaos_calmer_telephony http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/telephony
## This is the local package repository, do not remove!
src imagebuilder file:packages

Para el Archer C5, aunque se puede usar el perfil del ARCHERC7, he preferido crear las líneas yo mismo para llamar al perfil directamente por ARCHERC5 y asegurarme que todo vaya bien.

Así, que editamos el archivo tp-link.mk en profiles:

Código:
vi target/linux/ar71xx/generic/profiles/tp-link.mk

Donde termina la definición del perfil del ARCHERC7, añadimos lo siguiente:

Código:
define Profile/ARCHERC5
        NAME:=TP-LINK Archer C5
        PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
endef

define Profile/ARCHERC5/Description
        Package set optimized for the TP-LINK Archer C5.
endef
$(eval $(call Profile,ARCHERC5))

Al seleccionar el perfil Archer C5, el ya incluirá los paquetes mencionados al generar la imagen, y no hace falta ponerlos. Aun así, yo los incluiré en la build, por si las moscas.

Ahora, ya podemos generar la imagen para nuestro ARCHERC5 ejecutando el make image. Podemos incluir todos los paquetes que queramos, y en el momento de generar la imagen, las dependencias de estos se bajarán y se incluirán en la imagen también. Pesea ello, como veis, incluyo los paquetes base y algunos como el uci por si las moscas…
En mi caso, incluyo los paquetes necesarios para movistar fibra e imagenio, servidor de archivos, ddns, upnp, Openconnect VPN, USB storage, y luci....

Para generar el firmware, ejecutamos lo siguiente (todo en una línea):

Código:
make image PROFILE=ARCHERC5 PACKAGES="kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k kmod-fs-ext4
kmod-fs-ntfs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-usb-storage block-mount
uci lua bird4 kmod-bridge kmod-ipt-nathelper-rtsp mcproxy kmod-tun luci luci-lib-ip luci-lib-nixio
luci-mod-admin-full luci-proto-ppp luci-theme-bootstrap luci-app-firewall luci-app-samba luci-app-ddns
luci-app-upnp luci-app-ocserv"

Esperamos que termine. No tarda mucho el proceso. Hay que observar si nos da algún error, pero si seguís mis pasos no debería daros ninguno.
Cuando termine la compilación, tendremos un directorio llamado bin y dentro de éste, otro llamado ar71xx. Ahí están nuestros archivos para flashear el router.

Código:
cd bin/ar71xx
ls -l

Los archivos que nos interesan son los siguientes:

md5sums (para comprobar que los archivos sean los correctos después de subirlos a nuestro router). No flashear nada sin antes comprobar los archivos! Comparar el valor que os da el router con el del md5sums!

openwrt-ar71xx-generic-archer-c5-squashfs-factory.bin

openwrt-ar71xx-generic-archer-c5-squashfs-sysupgrade.bin

El factory lo usaremos si queremos instalar el firmware borrando toda la configuración del router o como primer flasheo, o también si se viene de BB u otra rama.
El sysupgrade lo podemos usar (sin perder la configuración actual) en caso de estar ya en la rama TRUNK CC. Recordar que si no se incluye un paquete que ya tenéis instalado en la generación de la imagen, lo tendréis que volver a instalar (en caso de sysupgrade).

Para actualizar rápido y sencillo el router, podemos ejecutar lo siguiente:

Código:
sysupgrade -v /tmp/openwrt-ar71xx-generic-archer-c5-squashfs-sysupgrade.bin

Ya esto final de como instalar, os lo dejo a cada uno que escoja el mejor método. Personalmente, viniendo de la misma build como venía hoy, pues el sysupgrade no da problemas.
Aconsejo usar el archivo factory siempre que se venga de otro firm o versiones anteriores.

Y así es de rápido y sencillo mantener nuestro router actualizado a la última  Wink

Espero que os sea útil.
Para los que tengáis movistar con imagenio, después de instalar la Factory, solo os queda ejecutar el script de noltari (movistar.sh), que funciona bien con esta build http://foro.seguridadwireless.net/openwrt/%28tutorial%29-movistar-ftth-con-openwrt/


Editado por Tki2000 porque descuadraba mucho el foro.
« Última modificación: 10-04-2015, 08:05 (Viernes) por Tki2000 » En línea
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 1010


Ver Perfil
« Respuesta #1 : 10-04-2015, 08:16 (Viernes) »

Gracias por el aporte.
Seguro que le viene bien a mucha gente.  Angry
En línea

No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
jar229
Moderador
*
Conectado Conectado

Mensajes: 4346



Ver Perfil
« Respuesta #2 : 10-04-2015, 08:45 (Viernes) »

Muy buen tuto, gracias por compartirlo  Angry Angry

Le pongo 'chincheta' unas semanitas, y lo añado al [Índice] Hilos relevantes de OpenWrt
En línea

ROUTERS EN VENTA con OpenWrt
1 x Huawei HG556a (Wifi Ralink)
1 x Comtrend VR-3025u
1 x Comtrend VR-3025un
2 x Huawei HG553
2 x Comtrend ar5387un
1 x Comtrend ar5381u


[FAQ] Preguntas más comunes sobre OpenWrt
[Índice] Hilos relevantes de OpenWrt
¡¡¡ NO contestaré mensajes privados sobre temas que puedan tratarse en el foro !!!
500L
**
Desconectado Desconectado

Mensajes: 27


Ver Perfil
« Respuesta #3 : 10-04-2015, 11:31 (Viernes) »

Gracias! Espero que sirva como guía Smiley
En línea
Joseba30
**
Desconectado Desconectado

Mensajes: 11


Ver Perfil
« Respuesta #4 : 03-06-2015, 23:03 (Mircoles) »

Unas puntualizaciones:

El paquete "imagebuilder" que sugieres, la version trunk, se genera cada dia automaticamente, y el archivo comprimido bz2 pesa unos seiscientos megas por que lleva incluido los paquetes ipk ya metidos, por lo tanto al dia siguiente se contruira automaticamente uno nuevo que incluira los pequeños cambios del kernel o cosas asi, por lo tanto al tener ya los paquetes y al cambiar a diario mi personal opinión es que si se usa trunk no incluir los repositorios externos, quedando el repositories.conf
Código:
src imagebuilder file:packages
sin mas. Si no en pocos dias falla mas que una escopeta de feria. Si se usa cualquier versión mas estabilizada, un release candidate, ya el paquete de bajada es de apenas cien megas y opino que en ese caso si se debe usar los repositorios externos.

Cuando empiezas a actualizar relativamente a menudo  si guardas configuraciones te evitas volver a poner la misma puñetera clave para el wifi, via luci  vas a "grabar firmware copia de seguridad" y el archivo lo desempaquetas en files o bien bajas directamente los tres o cuatro archivos desde el router (asumiento que estas en el directorio del imagebuilder)
Código:
mkdir -p files/etc/config
scp root@192.168.1.1:/etc/config/network files/etc/config/

Y añades
Código:
make image  FILES=files/ el_resto_de_la_parrafada_muy_gorda

De forma que despues de grabar te queda configuradito que es una gozada.

Añadir que en el shell se puede añadir el chirimbolo "\" para romper lineas largas

Código:
make image PROFILE=ARCHERC5 PACKAGES="kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev \ (le doy a enter y sigo)
 kmod-ath10k kmod-fs-ext4 kmod-fs-ntfs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \
kmod-usb-storage block-mount uci lua bird4 kmod-bridge kmod-ipt-nathelper-rtsp mcproxy \
kmod-tun luci luci-lib-ip luci-lib-nixio

lo que facilita poner toda la parrafada bien.

Sirvan estas puntualizaciones como el pulido final de un buen tuto, no como critica.
En línea
chuzonet
**
Desconectado Desconectado

Mensajes: 3


Ver Perfil
« Respuesta #5 : 05-07-2015, 18:31 (Domingo) »

Gracias por el tuto compi.

Saludos
En línea
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines