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 desed
y 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/host
es 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
?