Generador de Imagenes (Image Builder)

→ regresar a obtain.firmware

Si usted no quiere Descargar una imagen pre-construida o hacer un proceso entero de compilación,la alternativa es usar el Generador de Imagenes (antes llamado Creador de Imagenes )Este es un entorno pre-compilado OpenWrt adecuado para crear o construir imágenes personalizadas sin necesidad de compilar.

Razones para usar el Generador de Imágenes son:

  • Incorporar (embeber) paquetes directamente en la SquashFS para reducir los requisitos de espacio en el objetivo
  • Pre-configurar imágenes para incorporar paquetes y archivos de configuracion directamente dentro del SquashFS, y guardar el trabajo realizado cuando se "flashea" muchos dispositivos.
  • Creación de imágenes mínimas. por ejemplo, sin la interfaz web
  • Aprender (lo mas importante)
ATENCIÓN: Esta traducción es directa de la pagina oficial en ingles puede que presente ciertos errores de transcripcion asi como modismos, recuerde que esto es una wiki realice los cambios que vea ó crea sean necesarios.

Generador de Imagenes es el programa que crea el archivo de imagen el fimware OpenWrt. en el proceso para compilar OpenWrt, Generador de Imagenes es creada coercitivamente(compila), por que esto es necesario para eventualmente crear el archivo imagen. Este se encuentra en /openwrt/trunk/xxx y usted puede utilizarlo, para crear más imágenes-archivos de los paquetes que obtuvo durante la compilación.

Pero también puede simplemente descargar un archivo que contiene Generador de imágenes y toda una carga de paquetes de OpenWrt.


Descargar OpenWrt Attitude Adjustment 12.09

http://downloads.openwrt.org/attitude_adjustment/12.09/

  • Click en su arquitectura, Por ejemplo ar71xx
  • Descargue el archivo ImageBuilder.
  • Extraiga el archivo y cambie al directorio ImageBuilder.

Ejemplo: Attitude Adjustment para la arquitectura ar71xx

cd ~
mkdir openwrt && cd openwrt
wget http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-i486.tar.bz2
tar -xvjf OpenWrt-ImageBuilder-ar71xx_generic-for-linux-i486.tar.bz2
cd OpenWrt-ImageBuilder-ar71xx_generic-for-linux-i486

Descargar OpenWrt Barrier Breaker "rompe barreras" (Bleeding Edge Snapshots) EXPERIMENTAL

ATENCION El siguiente enlace es para bleeding edge snapshots para OpenWrt. El desarrollo de snapshots incluye cambios experimentales para OpenWrt que son considerados inestables. La versión estable actual es OpenWrt Attitude Adjustment 12.09.

http://downloads.openwrt.org/snapshots/trunk/

  • Clic en su arquitectura, por ejemplo ar71xx
  • Descargue el archivo ImageBuilder.
  • Extraiga el archivo y cambie al directorio ImageBuilder.

Ejemplo : Barrier Breaker para la arquitectura ar71xx

cd ~
mkdir openwrt && cd openwrt
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
tar -xvjf OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
cd OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64

Modo de uso

El comando make image creará una imagen minimalista (básica) conos paquetes esenciales incluidos, el comportamiento puede ser controlado contres variables pasadas como argumentos:

  • PROFILE - Especifica la imagen objetivo a construir
  • PACKAGES - una lista de paquetes para incrustar en la imagen
  • FILES - Directorio con archivos personalizados para incluir

Sintaxis:

$ make image PROFILE=XXX PACKAGES="pkg1 pkg2 pkg3 -pkg4 -pkg5 -pkg6" FILES=files/

Miremos la siguiente seccion para una explicacion. Una vez terminala la ejecucion del comando make, las imagenes generadas son almacenadas en el directorio bin/architecture.

El siguiente ejemplo muestra el contenico para el directorio bin/despues de generar una imagen satisfactoria de OpenWrt Barrier Breaker para WNDR3700.La arquitectura para WNDR3700 es ar71xx, así que la ubicación exacta de la imagen esbin/ar71xx
user@linux:~/openwrt/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64$ ls -aR bin
bin:
.  ..  ar71xx

bin/ar71xx:
.                                         openwrt-ar71xx-generic-vmlinux-lzma.elf
..                                        openwrt-ar71xx-generic-wndr3700-squashfs-factory.img
md5sums                                   openwrt-ar71xx-generic-wndr3700-squashfs-factory-NA.img
openwrt-ar71xx-generic-rootfs.tar.gz      openwrt-ar71xx-generic-wndr3700-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-root.squashfs      openwrt-ar71xx-generic-wndr3700v2-squashfs-factory.img
openwrt-ar71xx-generic-root.squashfs-64k  openwrt-ar71xx-generic-wndr3700v2-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-uImage-gzip.bin    openwrt-ar71xx-generic-wndr3800-squashfs-factory.img
openwrt-ar71xx-generic-uImage-lzma.bin    openwrt-ar71xx-generic-wndr3800-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-vmlinux.bin        openwrt-ar71xx-generic-wndrmac-squashfs-factory.img
openwrt-ar71xx-generic-vmlinux.elf        openwrt-ar71xx-generic-wndrmac-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-vmlinux.gz         openwrt-ar71xx-generic-wndrmacv2-squashfs-factory.img
openwrt-ar71xx-generic-vmlinux.lzma       openwrt-ar71xx-generic-wndrmacv2-squashfs-sysupgrade.bin

PERFIL Variable

Sintaxis:

$ make image PROFILE=NAMEOFPROFILE

PERFILES pre-definidos

Ejecute make info para obtener una lista para perfiles definidos Ejemplo de salida de make info está en la lista de abajo.

Perfiles brcm47xx
Perfiles ar71xx

ar71xx Image Generator Profiles

Después de encontrar el perfil adecuado pasar al comando make image:

EJEMPLO: Attitude Adjustment 12.09 para WNDR3700 (Arquitectura Atheros ar71xx).

la variable no se está definiendo.Para obtener información sobre cómo incluir o excluir los paquetes, consulte: PACKAGES Variable |

$ make image PROFILE=WNDR3700

De allí tendra que buscar la imagen en el directorio OpenWrt-ImageBuilder-ar71xx_generic-for-linux-i486/bin/.

Añadiendo/Modificando Perfiles

Tenga en cuenta que, al menos, para la arquitectura ar71xx la generación de la imagen está ligada a los nombres de perfil.Si usted adjunta un nuevo perfil sin aduntar tambien una macro apropiada para la imagen makefile,no conseguira un archivo de firmware adecuado cuando use el perfil personalizado.
Asegúrese de eliminar el directorio / tmp para ser modificado de selección de paquetes a partir de perfiles a trabajar.

La ubicación de los perfiles para el paquete pre-compilado para brcm47xx-for-Linux-i686 se encuentra target/linux/brcm47xx/profiles/

Cabe destacar que todo lo que hay que hacer para agregar un nuevo perfil, es añadir un nuevo archivo al profiles directory.

Aqui es que el archivo de perfil aparece profiles/100-Broadcom-b43.mk:

define Profile/Broadcom-b43
  NAME:=Broadcom BCM43xx WiFi (default)
  PACKAGES:=kmod-b43 kmod-b43legacy
endef

define Profile/Broadcom-b43/Description
	Package set compatible with hardware using Broadcom BCM43xx cards
endef
$(eval $(call Profile,Broadcom-b43))

PAQUETES Variables

Los PAQUETES variables especifica una lista de paquetes para incluir y/o excluir a la hora de construir una imagen con Generador de imágenes.

Sintaxis:

NOTA: Si el nombre del paquete tiene el prefijo - entonces el paquete correspondiente sera excluido durante el proceso de construccion make image.

El ejemplo de abajo incluirá pkg1, pkg2, pkg3, y excluye pkg4, pkg5, pkg6.

$ make image PROFILE=XXX PACKAGES="pkg1 pkg2 pkg3 -pkg4 -pkg5 -pkg6"
Backfire 10.03.1-rc5 o posterior:Generador de imágenes utiliza ahora opkg en el host para determinar los paquetes a instalar y para resolver sus dependencias (lo cual es especialmente útil si se utiliza Repositorios Externos),por lo que la siguiente advertencia no se aplica!

no se instalará ninguno de los paquetes por defecto en su PERFIL. Asegúrese de incluir libuci. Sin ella uci no funcionará. El router arrancará pero ninguna de las interfaces se configurará efecitvamente su router esta brikeado (bricking) (configure el boot_wait primero le permitira recuperar via tftp). |

Tip: La lista de paquetes instalados actualmente en el router corriendo OpenWrt puede ser obtenida con el siguiente comando:

echo $(opkg list_installed | awk '{ print $1 }')

Tip:La lista de los paquetes presentes en la versión actual de OpenWrt, Attitude Adjustment 12.09, puede ser obtenido con este comando Linux:

NOTA: Este es ejemplo es para ar71xx. Cambie la arquitectura y nombre para el archivo config de ser necesario.

echo $(wget -qO - http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/config.ar71xx_generic | sed -ne 's/^CONFIG_PACKAGE_\([a-z0-9-]*\)=y/\1/ip')

Tip:Si desea eliminar algunos de los paquetes por defecto (por ejemplo, usted no necesita los paquetes PPPoE relacionado), consulte con la sección DEFAULT_PACKAGES y DEFAULT_PACKAGES.router en el archivo include / target.mk.

Tip: Paquetes externos compatibles con una configuración determinada (si no se puede utilizar las imágenes desde http://downloads.openwrt.org/ porque usted ha compilado desde el trunk y el trunk ha cambiado desde que se ha compilado su imagen) se pueden encontrar en el directorio paquetes.

ARCHIVOS Varibles

La variable ARCHIVOS permite que los archivos de configuración personalizados que se incluirán en las imágenes construidas con Generador de imágenes. Esto es especialmente útil si necesita cambiar la configuración de red de forma predeterminada antes de flashear.

Syntax:

$ make image PROFILE=XXX PACKAGES="XXX" FILES=files/

El siguiente ejemplo muestra:

  1. Creando el directorio para los archivos de configuración
  2. Usando scp para transferir los archivos de configuracion uci desde un router OpenWrt para hacia el directorio files/etc/config.
  3. Generando una imamge para WL500GP con paquetes personalizados y archivos de configuracion uci
mkdir -p files/etc/config
scp root@192.168.1.1:/etc/config/network files/etc/config/
scp root@192.168.1.1:/etc/config/wireless files/etc/config/
scp root@192.168.1.1:/etc/config/firewall files/etc/config/
make image PROFILE=WL500GP PACKAGES="nano openvpn -ppp -ppp-mod-pppoe" FILES=files/

Nota: La carpeta files/ debe estar en el mismo directorio que se ejecuta el comando make.

Limpiar

Para Limpiar los archivos temporales de construccion y las imagenes generadas, use el comando make clean.

Repositorios Externos

Trunk revisions since r22978 compatible con repositorios externos en Generador de imágenes. Esta opción será parte de la versión final 10.03.1. Para añadir los repositorios de paquetes externos, edite el archivo repositories.conf en el directorio principal. Las fuentes se especifican en opkg config formato nativo. Para versiones anteriores de Generador de imágenes , paquetes externos pueden ser descargados en el directorio de packages/. Generador de imágenes los recogerá durante la creación del índice. For earlier versions of Image Generator, external packages can be downloaded into the packages/ directory. Image Generator los recogerá durante la creación del índice.

Construyendo el Generador de Imagenes

Es posible construir el Generador de imágenes de las fuentes desde cero:

:~/openwrt/trunk> svn up
:~/openwrt/trunk> rm .config
:~/openwrt/trunk> make menuconfig

En la configuracion grafica, seleccionamos Global Build Settings → Select all packages by default, salimos y guardamos. A continuación, crear la imagen, incluyendo IGNORE_ERRORS=1 ya que puede haber paquetes sin mantenimiento que no logran reunirse o compilar.

:~/openwrt/trunk> make IGNORE_ERRORS=1

Nota: No llamar o ejecutar el comando make defconfig o dejar un archivo antiguo .config en una de las rutas Selecciona todos los paquetes por defecto sólo marcará la selección de paquetes para [m]paquetes que no están ya configurados de otra forma!(make defconfig establecerá la mayoría de los paquetes para[n], i.e. no construyen.)

Back to top

es/doc/howto/obtain.firmware.generate.txt · Last modified: 2014/06/06 16:15 by ofprieto