Ответ 1
Каталог 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...
есть другие файлы, которые используются в основном для создания пакетов и пакетов разработки и т.д.
Извините, это немного подробный, это сложно описать более кратко.