English | Русский
Автоматизированный сборщик прошивки 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 |
Файл настройки сборщика, где вы можете задать любые вышеописанные переменные в одном месте |