Edición de «Openwrt Compilar Programa Externo»

Saltar a: navegación, buscar

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición en estas condiciones. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual Tu texto
Línea 1: Línea 1:
==Versión nueva==
+
==Prefacio==
Consultar la guía oficial de Openwrt sobre compilar paquetes propios <ref>https://openwrt.org/docs/guide-developer/toolchain/single.package</ref>
 
==Versión Antigua desfasada==
 
===Prefacio===
 
 
Aunque el firmware Openwrt es utilizado sobre para temas de routing, en realidad , es un Sistema Operativo multi-proposito, para sistemas embebidos. En su día me topé con la problemática de que quería hacer funcionar una impresora en Openwrt Chaos Calmer. Encontré tutoriales sobre cómo instalar CUPS, pero ninguno sobre cómo instalar el filtro especificado de la impresora (que tiene dos componentes: uno universal, que es un fichero PPD, y otro, que es un ejecutable binario que hay que compilar). El binario asociado al filtro, era proporcionado por el fabricante, y la verdad, compilarlo e instalarlo en un ordenador es tan sencillo como hacer un configure, make y make install. Ahora bien, la compilación para Openwrt se hace en una máquina externa, ¿cómo compilamos un binario compatible con nuestro router, pero desde nuestro propio ordenador? ¿Cómo instalamos y usamos el toolchain de Openwrt? Pues este ultimo tiene bastante envoltorios, y no basta con una simple añadidura al $path.
 
Aunque el firmware Openwrt es utilizado sobre para temas de routing, en realidad , es un Sistema Operativo multi-proposito, para sistemas embebidos. En su día me topé con la problemática de que quería hacer funcionar una impresora en Openwrt Chaos Calmer. Encontré tutoriales sobre cómo instalar CUPS, pero ninguno sobre cómo instalar el filtro especificado de la impresora (que tiene dos componentes: uno universal, que es un fichero PPD, y otro, que es un ejecutable binario que hay que compilar). El binario asociado al filtro, era proporcionado por el fabricante, y la verdad, compilarlo e instalarlo en un ordenador es tan sencillo como hacer un configure, make y make install. Ahora bien, la compilación para Openwrt se hace en una máquina externa, ¿cómo compilamos un binario compatible con nuestro router, pero desde nuestro propio ordenador? ¿Cómo instalamos y usamos el toolchain de Openwrt? Pues este ultimo tiene bastante envoltorios, y no basta con una simple añadidura al $path.
 
A modo de ejemplo, mostraré cómo se compila un ejecutable para Huawei HG556A.
 
A modo de ejemplo, mostraré cómo se compila un ejecutable para Huawei HG556A.
===Preparativos===
+
==Preparativos==
====Requisitos Previos====
+
===Requisitos Previos===
 
Los requisitos previos son los del propio [https://wiki.openwrt.org/doc/howto/buildroot.exigence toolchain de Openwrt]
 
Los requisitos previos son los del propio [https://wiki.openwrt.org/doc/howto/buildroot.exigence toolchain de Openwrt]
 
Una vez cumplidos los prerequisitos, necesitamos básicamente dos elementos
 
Una vez cumplidos los prerequisitos, necesitamos básicamente dos elementos
Línea 104: Línea 101:
 
$(eval $(call BuildPackage,rastertostar))
 
$(eval $(call BuildPackage,rastertostar))
 
</pre>
 
</pre>
====Preparación del entorno de compilación cruzada====
+
===Preparación del entorno de compilación cruzada===
 
Hacer que el SDK se autocompile (ver la documentación oficial de Openwrt)
 
Hacer que el SDK se autocompile (ver la documentación oficial de Openwrt)
===Compilación del binario===
+
==Compilación del binario==
 
#Colocamos el Makefile envoltorio en una subcarpeta del SDK, que en mi caso es /home/barfelix/arcadyan/OpenWrt-SDK-15.05.1-brcm63xx-smp_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/package/feeds/printing/rastertostar
 
#Colocamos el Makefile envoltorio en una subcarpeta del SDK, que en mi caso es /home/barfelix/arcadyan/OpenWrt-SDK-15.05.1-brcm63xx-smp_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/package/feeds/printing/rastertostar
 
#P.e., en la carpeta arriba mencionada, creamos una subcarpeta que en mi caso se llama src, dondé está todo el arbol de código fuente (con su Makefile de fábrica)
 
#P.e., en la carpeta arriba mencionada, creamos una subcarpeta que en mi caso se llama src, dondé está todo el arbol de código fuente (con su Makefile de fábrica)
 
===Referencias===
 
{{reflist}}
 

Ten en cuenta que todas las contribuciones a Wiki de BandaAncha.eu se consideran publicadas bajo la Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 (véase Wiki de BandaAncha.eu:Derechos de autor para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre. ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar | Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: