Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
ru:docs:guide-user:additional-software:imagebuilder [2020/06/14 09:54] – cleanup, unnecessary WRAPs removed, lonesome // removed to fix formatting issues tmomasru:docs:guide-user:additional-software:imagebuilder [2021/10/15 08:27] – ↷ Links adapted because of a move operation bobafetthotmail
Line 1: Line 1:
-====== Image Builder ======+====== Сборка образов с помощью Image Builder ======
 Это предварительно скомпилированная среда, используемая для создания пользовательских образов прошивок без необходимости компиляции ядра и пакетов. Это предварительно скомпилированная среда, используемая для создания пользовательских образов прошивок без необходимости компиляции ядра и пакетов.
  
Line 6: Line 6:
   * Встраивание пакетов непосредственно в файловую систему SquashFS для экономии места во флэш-памяти устроиства   * Встраивание пакетов непосредственно в файловую систему SquashFS для экономии места во флэш-памяти устроиства
   * Пользовательская конфигурация, добавление и удаление пакетов и файлов конфигурации непосредственно в файловой системе SquashFS   * Пользовательская конфигурация, добавление и удаление пакетов и файлов конфигурации непосредственно в файловой системе SquashFS
-  * Быстрая сборка по сравнению с методом компиляции [[docs:guide-developer:quickstart-build-images|Buildroot]]+  * Быстрая сборка по сравнению с методом компиляции [[docs:guide-developer:toolchain:beginners-build-guide|Buildroot]]
  
 ===== Подготовка ===== ===== Подготовка =====
-<WRAP center round important 80%>Image Builder работает только в 64-битном Linux. Тем не менее вы можете использовать 64-битный Linux развернутый на виртуальной машине которая установлена на 32-битной операционной системе. Так же можно использовать "Подсистему Windows для Linux" (WSL1 и WSL2) в Windows 10 (сборка 19041 или выше).</WRAP>+<WRAP center round important 80%>Image Builder работает только в 64-битном Linux. Тем не менее вы можете использовать 64-битный Linux развернутый на виртуальной машине которая установлена на 32-битной операционной системе. Так же можно использовать "Подсистему Windows для Linux" в Windows 10 (сборка 19041 или выше).</WRAP>
 <WRAP> <WRAP>
  
Line 48: Line 48:
  
 ===== Настройка репозиториев пакетов ===== ===== Настройка репозиториев пакетов =====
-Image Builder, который вы загружаете со страниц LEDE или OpenWrt, уже настроен для загрузки любых пакетов из официальных репозиториев. Источники пакетов настраиваются в файле ''repositories.conf'' в корневом каталоге. Источники указаны в исходном конфигурационном формате opkg . Это могут быть либо официальные репозитории пакетов, либо созданные пользователем репозитории.+Image Builder, который вы загружаете уже настроен для загрузки любых пакетов из официальных репозиториев. Источники пакетов настраиваются в файле ''repositories.conf'' в корневом каталоге. Источники указаны в исходном конфигурационном формате opkg . Это могут быть либо официальные репозитории пакетов, либо созданные пользователем репозитории.
  
 Пример содержимого ''repositories.conf'' из openwrt-imagebuilder-18.06.0-rc1-ar71xx-generic.Linux-x86_64.tar.xz: Пример содержимого ''repositories.conf'' из openwrt-imagebuilder-18.06.0-rc1-ar71xx-generic.Linux-x86_64.tar.xz:
Line 76: Line 76:
 **make image** команда создаст образ для устройства по умолчанию со стандартными (необходимыми) пакетами. В большинстве случаев созданный образ не подойдет для вашего устроиства! **make image** команда создаст образ для устройства по умолчанию со стандартными (необходимыми) пакетами. В большинстве случаев созданный образ не подойдет для вашего устроиства!
  
-Чтобы настроить создаваемый образ, воспользуйтесь тремя переменными, передаваемых в качестве аргументов:+Чтобы настроить создаваемый образ, воспользуйтесь переменными по вашему усмотрению, передаваемых в качестве аргументов:
  
   * //''PROFILE''// - определяет целевой профиль для сборки   * //''PROFILE''// - определяет целевой профиль для сборки
Line 148: Line 148:
  
 ==== Добавление/удаление пакетов из образа ==== ==== Добавление/удаление пакетов из образа ====
-Переменная ''PACKAGES'' определяет список пакетов, включаемых и/или исключаемых ищ образа прошивки. По умолчанию пустая переменная PACKAGES создает минимальный образ с ядром и драйверами для устройств, uci, ssh, switch, firewall, ppp и ipv6.+Переменная ''PACKAGES'' определяет список пакетов, включаемых и/или исключаемых из образа прошивки. Пустая переменная PACKAGES создает минимальный образ с ядром и драйверами для устройств, uci, ssh, switch, firewall, ppp и ipv6.
  
 Пример использования:<code>make image PROFILE=XXX PACKAGES="pkg1 pkg2 -pkg3 -pkg4"</code> Пример использования:<code>make image PROFILE=XXX PACKAGES="pkg1 pkg2 -pkg3 -pkg4"</code>
Line 163: Line 163:
  
 Порядок действий: Порядок действий:
-  - Создайте папку files/ в коревом каталоге +  - Создайте папку files/ в корневом каталоге 
-  - Добавьте конфигурационные файлы+  - Добавьте свои файлы 
 +  - Сделайте файлы исполняемыми ''chmod -R 777 files''
   - Выполните ''make image'' с выбранными переменными   - Выполните ''make image'' с выбранными переменными
  
Line 179: Line 180:
 Для удаления всех временных файлов сборки и сгенерированных образов воспользуйтесь командой: Для удаления всех временных файлов сборки и сгенерированных образов воспользуйтесь командой:
 <code>make clean</code> <code>make clean</code>
 +
 +
 +==== Возможные проблемы ====
 +  - При запуске команды make использование root не требуется.
 +  - Проверьте вывод журнала на наличие проблем с пакетами (конфликты, неправильные имена).
 +  - Убедитесь, что у вас есть поддерживаемая ОС, необходимые компоненты, файловая система и имя пути.
 +  - При выходе новой версии подождите несколько дней, исходные пакеты могут находиться в несогласованном состоянии.
 +
 +Вот как выглядит пример несогласованного состояния зависимостей для пакета libubus20191227: 
 +<code>
 +Collected errors:
 + * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci:
 +      libubus20191227
 + * opkg_install_cmd: Cannot install package luci.
 +Makefile:154: recipe for target 'package_install' failed
 +make[2]: *** [package_install] Error 255
 +Makefile:112: recipe for target '_call_image' failed
 +make[1]: *** [_call_image] Error 2
 +Makefile:207: recipe for target 'image' failed
 +make: *** [image] Error 2
 +</code>
  
  
  • Last modified: 2022/11/05 16:30
  • by alexandrlastfm