Каталог build_dir
используется для распаковки всех исходных архивов и скомпилировать их.
Каталог staging_dir
используется для «установки» все скомпилированные программы в, готовые либо для использования в строительстве дополнительных пакетов, или для подготовки изображения прошивки.
Есть три области под build_dir
:
build_dir/host
, для компиляции все инструменты, которые работают на хост-компьютере (OpenWRT строит свою собственную версию sed
и многие другие инструменты от источника). Эта область будет использоваться для компиляции программ, которые запускаются только на вашем хосте.
build_dir/toolchain...
для компиляции кросс-C и стандартных компонентов библиотеки C, которые будут использоваться для сборки пакетов. Эта область будет использоваться для компиляции программ, которые запускаются только на вашем хосте (например, компилятор Cross C), а также библиотеки, предназначенные для запуска на целевой стороне, связанной с - например. uClibc, libm, Pthreads и т.д.
build_dir/target...
для составления фактические пакеты, а ядро Linux, для целевой системы
Под постановкой, есть также три области:
staging_dir/host
является мини-корень Linux с собственными bin/
, lib/
и т. д., в которые установлены инструменты хоста; остальная система сборки затем префикс PATH с каталогами в этой области
staging_dir/toolchain...
- это мини-корень Linux с собственными bin/
, lib/
и т. д., который содержит компилятор Cross C, используемый для сборки остальной прошивки. Вы можете использовать это для компиляции простых программ на C вне OpenWRT, которые могут быть загружены в прошивку. Компилятор C может выглядеть примерно так: staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-uclibc-gcc
. Вы можете увидеть версию CPU, библиотеки C и gcc, закодированных в ней; это позволяет одновременно создавать несколько объектов в одной и той же области.
staging_dir/target.../root-...
содержит «установленная» версию каждого целевого пакета снова договорилась с bin/
, lib/
, это станет фактическим корневым каталогом, который с некоторой настройкой будет получать застежку в образ прошивки, что-то вроде root-ar71xx
. Есть некоторые другие файлы в staging_dir/target...
используется в основном для создания пакетов и пакетов развития, и т.д.
К сожалению его немного многословный, это трудно описать более лаконично.
Очень хороший вопрос и ответы.+1 – Haswell