stable - openwrt vs dd-wrt
openwrt buildroot build_dir y staging_dir (1)
El directorio build_dir se usa para descomprimir todos los archivos de origen y compilarlos.
El directorio staging_dir se usa para "instalar" todos los programas compilados, listos para usar en la construcción de paquetes adicionales o para preparar la imagen del firmware.
Hay tres áreas bajo build_dir :
-
build_dir/host, para compilar todas las herramientas que se ejecutan en la computadora host (OpenWRT construye su propia versión desedy muchas otras herramientas desde la fuente). Esta área se utilizará para compilar programas que se ejecutan solo en su host. -
build_dir/toolchain...para compilar los componentes del compilador cruz-C y de la biblioteca estándar de C que se usarán para construir los paquetes. Esta área se usará para compilar programas que se ejecutan solo en su host (el compilador de cross C, por ejemplo) y también, las bibliotecas diseñadas para ejecutarse en el destino que están vinculadas a, por ejemplo, uClibc, libm, pthreads, etc. -
build_dir/target...para compilar los paquetes reales, y el kernel de Linux, para el sistema de destino
Bajo la puesta en escena, también hay tres áreas:
-
staging_dir/hostes una mini raíz de Linux con su propiobin/,lib/, etc. en el que están instaladas las herramientas del host; El resto del sistema de compilación, a continuación, prefija su ruta con directorios en esta área. -
staging_dir/toolchain...es una mini raíz de Linux con su propiobin/,lib/, etc que contiene el compilador de cross C usado para compilar el resto del firmware. Puede usar eso para compilar programas C simples fuera de OpenWRT que pueden cargarse en el firmware. El compilador de C podría ser algo como:staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-uclibc-gcc. Puede ver la versión de la CPU, la biblioteca C y gcc codificada en ella; esto permite que se construyan múltiples objetivos en la misma área al mismo tiempo. -
staging_dir/target.../root-...contiene versiones ''instaladas'' de cada paquete de destino, organizadas nuevamente conbin/,lib/, esto se convertirá en el directorio raíz real que, con algunos ajustes, se integrará en la imagen del firmware algo así comoroot-ar71xx. Hay algunos otros archivos enstaging_dir/target...utilizados principalmente para generar paquetes y paquetes de desarrollo, etc.
Lo siento, es un poco detallado, esto es difícil de describir de manera más sucinta.
Estoy confundido acerca de build_dir y staging_dir en openwrt buildroot. ¿Para qué se usan?
Hay feeds en openwrt. Me imagino construir una imagen. Seleccionará los paquetes que desee en menuconfig y usará make para construirlo.
¿Los paquetes se obtienen de las feeds y luego se compilan en build_dir ?
Entonces, ¿para qué se utiliza staging_dir ?