Skip to content

Latest commit

 

History

History
94 lines (60 loc) · 7.89 KB

README.ru.md

File metadata and controls

94 lines (60 loc) · 7.89 KB

English | Русский

Padavan builder

Автоматизированный сборщик прошивки Padavan. Работает почти на любом современном Linux. На Windows можно запустить используя подсистему Windows для Linux (WSL) или виртуальную машину.

Скриншоты:

Полный вывод скрипта

Полный вывод скрипта

Выбор конфига сборки

Выбор конфига сборки

Редактирование конфига сборки

Редактирование конфига сборки

Видео, ⏱️ ~3 min:

Видео

Использование

wget -qO- https://github.com/shvchk/padavan-builder/raw/main/build.sh | bash

Warning

Рекомендую проверить скрипт build.sh перед запуском. Это хорошая практика перед запуском любого кода на вашем компьютере, особенно удалённого кода.

Скрипт делает следующее:

  • Запустит контейнер Podman со всеми необходимыми зависимостями

  • Скачает исходные коды Padavan и собранный тулчейн

  • Предложит выбрать модель роутера

    Список моделей можно фильтровать вводом текста. Используйте стрелки для выбора модели, нажмите Enter для подтверждения.

  • Откроет файл настройки сборки (конфиг) в текстовом редакторе (micro)

    Отредактируйте файл на ваше усмотрение: раскомментируйте (удалите # в начале строки) функции, которые вам нужны, закомментируйте те, которые не нужны.

    В редакторе полноценно работает мышь, буфер обмена и привычные методы редактирования и навигации: Ctrl + C, Ctrl + V, Ctrl + Z, Ctrl + F и т.п.

    Изменения сохраняются автоматически. Закройте файл (Ctrl + Q), когда закончите.

  • Соберёт прошивку

  • Поместит готовую прошивку (trx или bin файл) в домашнюю папку (Linux) или в папку Загрузки (Windows)

При необходимости скрипт задаст дополнительные вопросы, обычно касающихся повторного использования исходного кода и скомпилированных файлов. Впрочем, вы можете сделать скрипт полностью автоматизированным и неинтерактивным, см. раздел Дополнительные возможности.

Загруженный исходный код и скомпилированные файлы хранятся в файле сжатого виртуального диска, так что скрипт в пике использует лишь ~3 ГБ места на диске. После сборки вы можете либо удалить этот файл виртуального диска, либо оставить его для дальнейшего использования.

Цветовые обозначения вывода скрипта:

  • синий фон или отсутствие стилизации используется для информационных сообщений
  • жёлтый фон обозначает предупреждения или что-то, что может потребовать вмешательства пользователя
  • красный фон обозначает ошибки

Дополнительные возможности

Вы можете изменить поведение скрипта, используя переменные, заданные либо с помощью export как переменные окружения, либо в файле: по умолчанию ~/.config/padavan-builder. Все эти переменные и их значения по умолчанию указаны в начале скрипта build.sh.

Переменная Оисание
PADAVAN_REPO Репозиторий прошивки
PADAVAN_BRANCH Ветка репозитория прошивки
PADAVAN_TOOLCHAIN_URL URL собранного тулчейна
PADAVAN_IMAGE Образ контейнера, используемый для сборки прошивки
PADAVAN_CONFIG Путь к файлу настройки сборки, позволяет пропустить его редактирование
PADAVAN_EDITOR Текстовый редактор, на случай, если вам не нравится micro
PADAVAN_DEST Путь, куда нужно скопировать прошивку после сборки
PADAVAN_REUSE Должен ли скрипт сохранить и повторно использовать исходные коды и скомпилированные файлы (true), или удалить всё и начать с нуля (false), позволяет пропустить соответствующие вопросы. Повторное использование, особенно скомпилированных файлов, позволяет сильно ускорить повторные сборки.
PADAVAN_UPDATE Если исходные коды уже загружены и используются повторно, должен ли скрипт сбросить изменения в них и обновить их до последней версии (true), или продолжить как есть (false), позволяет пропустить соответствующий вопрос
PADAVAN_PAUSE_BEFORE_BUILD Ждать подтверждения перед началосм сборки (true). Полезно для внесения изменений перед сборкой
PADAVAN_BUILD_CONTAINER Собирать образ контейнера локально (true) или использовать готовый (по умолчанию)
PADAVAN_CONTAINERFILE Containerfile / Dockerfile, используемый для создания локального образа контейнера
PADAVAN_BUILD_TOOLCHAIN Собирать тулчейн локально (true) или использовать готовый (по умолчанию)
PADAVAN_BUILD_ALL_LOCALLY Собирать образ контейнера и тулчейн локально (true) или использовать готовые (по умолчанию)
PADAVAN_BUILDER_CONFIG Файл настройки сборщика, где вы можете задать любые вышеописанные переменные в одном месте