Objetivo: Crear una imagen del último firmware estable con paquetes añadidos de esa misma versión del firmware.
La manera más fácil y rápida de crear una imagen de Openwrt personalizada con los paquetes que queramos es la siguiente:
Paso 1. Preparar nuestro sistema para que compile paquetes. ¿(opcional)?
Para que pueda compilar paquetes nuestro sistema debe tener lo siguiente instalado:
sudo apt-get update sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev
Paso 2. Descargar y descomprimir el archivo Image Builder.
Nos vamos a la zona de descarga del último firmware estable. En nuestro caso es el Chaos Calmer 15.05.1 y para el router HH556A
https://downloads.openwrt.org/chaos_calmer/15.05.1/brcm63xx/generic/
A continuación nos descargamos el paquete ImageBuilder (En nuestro caso es un archivo de unos 145 MegaBytes)
Descomprimimos el archivo por ejemplo en el escritorio de nuestro Linux.
Abrimos un terminal y accedemos a la carpeta descomprimida. En nuestro caso lo hemos descomprimido en el escritorio y nos ha aparecido una carpeta llamada OpenWrt-ImageBuilder-15.05.1-brcm63xx-generic.Linux-x86_64.
Paso 3. Creación de una imagen para nuestro router.
Dentro de ese subdirectorio ejecutamos la orden make
$ make Available Commands: help: This help text info: Show a list of available target profiles clean: Remove images and temporary build files image: Build an image (see below for more information).
Building images:
By default 'make image' will create an image with the default
target profile and package set. You can use the following parameters
to change that:
make image PROFILE="<profilename>" # override the default target profile
make image PACKAGES="<pkg1> [<pkg2> [<pkg3> ...]]" # include extra packages
make image FILES="<path>" # include extra files from <path>
make image BIN_DIR="<path>" # alternative output directory for the images
En el caso de este post la sintaxis para crear la imagen que queremos está en rojo.
Un ejemplo:
Para añadir por ejemplo el paquete nano a la imagen original pondremos:
make image PACKAGES="nano"
Si no da error, la imagen generada la podemos encontrar en nuestro caso en la carpeta ./bin/brcm63xx/
Localizaremos la que es de nuestro router y podremos flashearlo sin problemas.
Otra opción:
En nuestro caso el firmware generado es par un Huawei HG556A. Podemos también añadirle o cambiar a los que trae por defecto de la siguiente manera.
Editamos el archivo
/target/linux/brcm63xx/profiles/huawei.mk
Buscamos las líneas:
define Profile/HG556a_AB NAME:=Huawei EchoLife HG556a (version A/B - Atheros) PACKAGES:=kmod-ath9k wpad-mini \ kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev nano endef define Profile/HG556a_AB/Description Package set optimized for Huawei HG556a version A/B (Atheros). endef $(eval $(call Profile,HG556a_AB)) define Profile/HG556a_C NAME:=Huawei EchoLife HG556a (version C - Ralink) PACKAGES:=kmod-rt2800-pci wpad-mini \ kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev nano endef define Profile/HG556a_C/Description Package set optimized for Huawei HG556a version C (Ralink). endef $(eval $(call Profile,HG556a_C))
Se ha puesto en rojo la sección PACKAGES y vemos como hemos añadido el paquete nano para las tres versiones del router. (AB) y (C).
Necesito que nos ayuden a crear imagen Openwrt personalizada para router tp-link Wr841n V11 y configuración del router con wifidog. Agradezco la atencion.
Aparentemente la versión 11 de tu router no está soportada por Openwrt. https://wiki.openwrt.org/toh/tp-link/tl-wr841nd
Aún así aunque esté soportada es difícil crear un firmware sin tener un router físicamente.
Un Saludo.
Buenas, en el caso de ya tener el firmware, cómo se puede hacer para cambiar las configuraciones que traen por defecto? O como no se puede crear una imagen de openwrt, de un router ya configurado, para que al momento de darle a reset inicie con la configuración deseada. Espero se entienda mí duda.
Desde ya muchas gracias por la ayuda
Sólo lo he hecho con el image builder. En esa compilación puedes añadir ficheros de configuración para que todo funcione a la primera.
Para más información: https://wiki.openwrt.org/es/doc/howto/obtain.firmware.generate o https://lede-project.org/docs/user-guide/imagebuilder
Se me ocurren a bote pronto otra alternativa:
Instalar el firmware y luego meter un archivo en /etc/init.d/instala para que se ejecute en el próximo reinicio. (https://wiki.openwrt.org/doc/techref/initscripts)
#!/bin/sh /etc/rc.common
# Example script
# Copyright (C) 2007 OpenWrt.org
START=10
STOP=15
start() {
echo start
uci set network.lan.proto=static
uci set network.lan.ipaddr=AQUI PONES UNA IP DENTRO DE TU RANGO DE RED
uci set network.lan.netmask=255.255.255.0
uci set network.lan.gateway=AQUI PONES TU PUERTA DE ENLACE
uci set network.lan.dns=8.8.8.8
# Ahora le dices que instale los paquetes que te interesa
opkg update
opkg install nano otro_paquete otro_paquete
# Las configuraciones las puedes tocar todas a partir de aquí o bien trayendotelas de internet o bien con echo "Parametro=valor" >> /etc/archivo de configuración
}
stop() {
echo stop
# commands to kill application
}
Una vez creado tienes que hacer un /etc/init.d/instala enable
Recuerda que una vez se haya descargado todo tienes que hacer un /etc/init.d/instala disable
Por ahí también encontrarás que la gente restaura backups de las particiones pero dentro de esos backups seguro que hay información propia de cada router individualmente tal como las direcciones MAC de WIFI o de las tarjetas de red. Podría no funcionar.
saludos.
Hola, gracias por el tiempo y la dedicación para generar un conocimiento colectivo. tengo una consulta tengo un router marca NC-LINK con openWRT, también tengo el .bin. lo que necesito saber es como, a partir del .bin q tengo, puedo hacer para generar otro con paquetes agregados y archivos de configuración personalizada. el router es arquitectura ramips chipset mt7620
Se me ocurre que podrías instalar el firmware que te bajaste, lo configuras a tu gusto, accedes al router y extraes los archivos de configuración que quieras.
Para extraerlos puedes instalar el paquete sftp:
opkg update
opkg install openssh-sftp-server
Te conectas con un cliente sftp y coges lo que necesites.
A continuación usando el image builder (https://lede-project.org/docs/user-guide/imagebuilder)
Añades dichos archivos con la sección:
make image FILES=files/
Previamente has de indicar los paquetes que quieres que te incluya.
Saludos
hola tengo openwrt en un modem tplink mr3020 y quisiera haverle una imagen completa para instalarlo en otro router.
Descripcion del funcionamiento.
Una vez instalado el bin en el router cuando arranca se conecta a un servidor web descarga un par de aplicaciones y ya es operativo hasta el proximo reinicio.
Es posible hacer una copia completa del firmware con todos los archivos descargados.?
Lo puedo hacer desde windows?