Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| ru:docs:guide-user:additional-software:imagebuilder [2018/03/20 12:28] – alexandrlastfm | ru: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 ====== | + | ====== |
| - | Это предварительно скомпилированная среда, используемая для создания пользовательских образов прошивок без необходимости компиляции ядра и пакетов.\\ | + | Это предварительно скомпилированная среда, используемая для создания пользовательских образов прошивок без необходимости компиляции ядра и пакетов. |
| Преимущества использования: | Преимущества использования: | ||
| - | * Загрузка модулей расширения ядра из репозитория LEDE и OpenWrt | + | * Возможность загрузки модулей расширения ядра из репозитория LEDE и OpenWrt |
| * Встраивание пакетов непосредственно в файловую систему SquashFS для экономии места во флэш-памяти устроиства | * Встраивание пакетов непосредственно в файловую систему SquashFS для экономии места во флэш-памяти устроиства | ||
| * Пользовательская конфигурация, | * Пользовательская конфигурация, | ||
| - | * Быстрая сборка по сравнению с методом компиляции Buildroot | + | * Быстрая сборка по сравнению с методом компиляции |
| ===== Подготовка ===== | ===== Подготовка ===== | ||
| - | :!: Image Builder работает только в 64-битном Linux. Тем не менее вы можете использовать 64-битный Linux на виртуальной машине установленой на 32-битной операционной системе.\\ | + | <WRAP center round important 80%>Image Builder работает только в 64-битном Linux. Тем не менее вы можете использовать 64-битный Linux развернутый |
| - | < | + | < |
| - | < | + | |
| - | <WRAP> | + | Требуемые пакеты в наиболее распространенных дистрибутивах: |
| - | yum group install " | + | |
| + | // | ||
| + | sudo apt-get install build-essential libncurses5-dev libncursesw5-dev zlib1g-dev gawk git gettext libssl-dev xsltproc wget unzip python</ | ||
| + | |||
| + | //CentOS/RHEL//< | ||
| + | yum group install " | ||
| + | |||
| + | //Fedora 27+//< | ||
| - | ---- | ||
| ===== Загрузка Image Builder ===== | ===== Загрузка Image Builder ===== | ||
| - | Загрузите архив, содержащий Image Builder, который находится на той же странице, | + | Загрузите и распакуйте архив, содержащий Image Builder, который находится на той же странице, |
| В виде примера приведена страница, | В виде примера приведена страница, | ||
| - | LEDE 17.01.4\\ | + | < |
| - | https:// | + | tar -xf openwrt-imagebuilder-18.06.8-ar71xx-generic.Linux-x86_64.tar.xz</ |
| - | На странице вы найдете архив lede-imagebuilder-17.01.4-ar71xx-generic.Linux-x86_64.tar.xz | + | |
| + | OpenWrt 18.06.8\\ | ||
| + | [[https:// | ||
| + | На странице вы найдете архив openwrt-imagebuilder-18.06.8-ar71xx-generic.Linux-x86_64.tar.xz | ||
| + | |||
| + | LEDE 17.01.7\\ | ||
| + | [[https:// | ||
| + | На странице вы найдете архив lede-imagebuilder-17.01.7-ar71xx-generic.Linux-x86_64.tar.xz | ||
| OpenWrt Chaos Calmer 15.05.1\\ | OpenWrt Chaos Calmer 15.05.1\\ | ||
| - | http:// | + | [[http:// |
| На странице вы найдете архив OpenWrt-ImageBuilder-15.05.1-ar71xx-generic.Linux-x86_64.tar.bz2 | На странице вы найдете архив OpenWrt-ImageBuilder-15.05.1-ar71xx-generic.Linux-x86_64.tar.bz2 | ||
| OpenWrt Attitude Adjustment 12.09\\ | OpenWrt Attitude Adjustment 12.09\\ | ||
| - | http:// | + | [[http:// |
| На странице вы найдете архив OpenWrt-ImageBuilder-ar71xx_generic-for-linux-i486.tar.bz2 | На странице вы найдете архив OpenWrt-ImageBuilder-ar71xx_generic-for-linux-i486.tar.bz2 | ||
| - | Кроме того, Image Builder создается после каждой сборки методом Buildroot, потому что он необходим для создания файла прошивки. Если при компиляции включена опция “Build the LEDE Image Builder”, то Image Builder будет сохранен в той же папке, где будет ваша прошивка ( source/ | ||
| - | |||
| - | ---- | ||
| ===== Настройка репозиториев пакетов ===== | ===== Настройка репозиториев пакетов ===== | ||
| - | Image Builder, который вы загружаете | + | Image Builder, который вы загружаете уже настроен для загрузки любых пакетов из официальных репозиториев. Источники пакетов настраиваются в файле '' |
| - | Пример содержимого '' | + | Пример содержимого '' |
| < | < | ||
| - | # src/ | + | # src/ |
| - | # src custom file:/// | + | # src custom file:/// |
| ## Remote package repositories | ## Remote package repositories | ||
| - | src/ | + | src/ |
| - | src/ | + | src/ |
| - | src/ | + | src/ |
| - | src/ | + | src/ |
| - | src/ | + | src/ |
| - | src/ | + | src/ |
| ## This is the local package repository, do not remove! | ## This is the local package repository, do not remove! | ||
| src imagebuilder file: | src imagebuilder file: | ||
| </ | </ | ||
| - | |||
| - | В файле '' | ||
| Если вы хотите добавить пользовательский локальный репозиторий, | Если вы хотите добавить пользовательский локальный репозиторий, | ||
| - | ---- | ||
| ===== Использование ===== | ===== Использование ===== | ||
| Распакуйте архив с Image Builder и перейдите в его директорию. | Распакуйте архив с Image Builder и перейдите в его директорию. | ||
| - | **make image** команда создаст образ для устройства по умолчанию со стандартными (необходимыми) пакетами. В большинстве случаев для вашего устроиства | + | **make image** команда создаст образ для устройства по умолчанию со стандартными (необходимыми) пакетами. В большинстве случаев |
| - | Чтобы настроить создаваемый образ, воспользуйтесь | + | Чтобы настроить создаваемый образ, воспользуйтесь переменными |
| * //'' | * //'' | ||
| * //'' | * //'' | ||
| * //'' | * //'' | ||
| + | * //'' | ||
| + | * //'' | ||
| + | * //'' | ||
| Пример использования: | Пример использования: | ||
| < | < | ||
| - | Готовые образы сохраняются в каталоге bin/ | + | Готовые образы сохраняются в каталоге |
| **make help** команда осуществляет вывод справки: | **make help** команда осуществляет вывод справки: | ||
| Line 100: | Line 108: | ||
| make image EXTRA_IMAGE_NAME="< | make image EXTRA_IMAGE_NAME="< | ||
| - | ---- | ||
| ==== Выбор профиля ===== | ==== Выбор профиля ===== | ||
| - | Переменная '' | + | Переменная '' |
| - | Выполните '' | + | **make info** команда отобразит список целевых профилей.\\ |
| - | Пример вывода команды '' | + | Пример вывода команды '' |
| - | == ar71xx-generic Profiles == | ||
| < | < | ||
| Available Profiles: | Available Profiles: | ||
| Line 140: | Line 146: | ||
| Это создаст образ прошивки для устроиства TLMR3020 с минимумом необходимых для работы пакетов, | Это создаст образ прошивки для устроиства TLMR3020 с минимумом необходимых для работы пакетов, | ||
| - | ---- | ||
| - | ==== Добавление/ | + | ==== Добавление/ |
| - | Переменная '' | + | Переменная '' |
| Пример использования:< | Пример использования:< | ||
| В этом примере в образ будут добавлены пакеты pkg1, pkg2, и исключены - pkg3, pkg4. | В этом примере в образ будут добавлены пакеты pkg1, pkg2, и исключены - pkg3, pkg4. | ||
| - | Вам не нужно перечислять все зависимости пакетов, | + | Вам не нужно перечислять все зависимости |
| - | **Совет: | + | Пример использования: Необходимо удалить пакеты отвечающие за поддержку IPv6: |
| < | < | ||
| - | ---- | ||
| ==== Добавление файлов в образ ==== | ==== Добавление файлов в образ ==== | ||
| Line 159: | Line 163: | ||
| Порядок действий: | Порядок действий: | ||
| - | -Создайте папку files/ в коревом каталоге | + | - Создайте папку files/ в корневом каталоге |
| - | -Добавьте | + | - Добавьте |
| - | -Выполните '' | + | - Сделайте файлы |
| + | - Выполните '' | ||
| == Примерное содержание папки files/ == | == Примерное содержание папки files/ == | ||
| - | < | + | < |
| - | files/etc/ | + | etc/ |
| - | files/lib/ | + | lib/ |
| Пример использования: | Пример использования: | ||
| < | < | ||
| - | ---- | ||
| - | ===== Очистка | + | ==== Очистка ==== |
| Для удаления всех временных файлов сборки и сгенерированных образов воспользуйтесь командой: | Для удаления всех временных файлов сборки и сгенерированных образов воспользуйтесь командой: | ||
| < | < | ||
| - | ---- | ||
| - | ===== Удаление файлов из образа ===== | + | ==== Возможные проблемы ==== |
| - | <WRAP center round important 60%> | + | - При запуске команды make использование root не требуется. |
| - | Это не стандартная функция Image Builder. | + | - Проверьте вывод журнала на наличие проблем с пакетами (конфликты, |
| + | - Убедитесь, | ||
| + | - При выходе | ||
| - | Обратите внимание, | + | Вот как выглядит пример несогласованного состояния зависимостей для пакета libubus20191227: |
| - | </ | + | < |
| + | Collected errors: | ||
| + | * satisfy_dependencies_for: | ||
| + | | ||
| + | * opkg_install_cmd: | ||
| + | Makefile: | ||
| + | make[2]: *** [package_install] Error 255 | ||
| + | Makefile: | ||
| + | make[1]: *** [_call_image] Error 2 | ||
| + | Makefile: | ||
| + | make: *** [image] Error 2 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Удаление файлов из образа ==== | ||
| + | <WRAP center round important 80%> | ||
| + | Это не стандартная функция Image Builder. | ||
| 1. Создайте файл ' | 1. Создайте файл ' | ||
| Line 213: | Line 234: | ||
| </ | </ | ||
| - | 3. Пересоберите образ с добавлением переменной FILES_REMOVE = " | + | 3. Пересоберите образ с добавлением переменной |
| - | < | + | < |
| - | ---- | ||
| - | ===== Добавление пользовательских профилей | + | ==== Добавление пользовательских профилей ==== |
| Image Builder привязан к именам профилей. Если вы добавите новый профиль, | Image Builder привязан к именам профилей. Если вы добавите новый профиль, | ||
| :!: Обязательно удалите каталог /tmp, чтобы получить правильный выбор пакетов из нового профиля. | :!: Обязательно удалите каталог /tmp, чтобы получить правильный выбор пакетов из нового профиля. | ||
| Line 224: | Line 244: | ||
| Для примера расположение профилей архитектуры ar71xx находится в директории target / | Для примера расположение профилей архитектуры ar71xx находится в директории target / | ||
| - | Примечательно, | + | Примечательно, |
| Вот как выглядит файл профиля profiles/ | Вот как выглядит файл профиля profiles/ | ||
| - | < | ||
| < | < | ||
| define Profile/ | define Profile/ | ||
| Line 240: | Line 259: | ||
| $(eval $(call Profile, | $(eval $(call Profile, | ||
| </ | </ | ||
| - | </ | ||