Уважаемые гости и пользователи форума!
Если Вы были зарегистрированы на старом форуме, а здесь не можете зайти под своей учётной записью, пожалуйста, сообщите свой ник мне через контактную форму "Связаться с администрацией"

Скрипт для создания локального репозитория пакетов OpenWRT [WINDOWS]

OpenWrt — встроенная операционная система, основанная на ядре Linux, и предназначенная, в первую очередь, для домашних маршрутизаторов. Основные компоненты включают в себя ядро Linux, util-linux, uClibc или musl и BusyBox. Размер всех компонентов оптимизирован в связи с тем, что в большинстве домашних маршрутизаторов сильно ограничен объём памяти.

Модераторы: rewuxiin, kulia

Аватара пользователя
SinglWolf
Контактная информация:
Откуда: Башкирия
Сообщения: 1652
Зарегистрирован: 23 янв 2012, 22:11

Скрипт для создания локального репозитория пакетов OpenWRT [WINDOWS]

08 окт 2020, 11:12

После обновления очередной прошивки OpenWRT на своём роутере TP-LINK TD-W8970 столкнулся с такой проблемой.
Чтобы появился интернет, нужно установить пару-тройку пакетов. Эти пакеты, в свою очередь, требуют установки других пакетов. В чехарде зависимостей набирается до 10 файлов.
Сначала поступал так. Скачивал нужные пакеты, искал зависимые, составлял список, записывал в укромное место и уж потом обновлял прошивку. Заливал нужные пакеты на роутер и устанавливал через консоль. Возни было порядочно...

Затем столкнулся с совершенно другой проблемой.
Для примера. Прошивка стояла старая. Решил подключать свой модем другим, хитрым способом.
Установил нужные пакеты. Некоторые пакеты уже были установлены, а в подключенном официальном репозитории были обновлённые версии. Естественно, установленные пакеты обновились.
Настроил интерфейсы, интернет появился. Всё Ок. Выключил роутер, лёг спать.
На следующий день решил посмотреть настройки Wi-Fi через веб-интерфейс. Не смог зайти. На экране

Код: Выделить всё

/usr/lib/lua/luci/dispatcher.lua:234: /etc/config/luci seems to be corrupt, unable to find section 'main'
и что-то ещё... %)

Но интернет был. И давно витавшая в воздухе идея иметь локальный репозиторий пакетов для текущей (или новой) прошивки скромно попросилась реализоваться :-D
Пока распишу организацию и реализацию идеи на Windows. Если будет нужен вариант для Linux пишите, что-нибудь придумаю.
И так... Сначала распакуйте архив
get_repo.zip
(1.95 МБ) 0 скачиваний
со всеми необходимыми компонентами в любой отдельный каталог. Единственное условие. В имени самой папки и путях к ней не должно быть русских символов и пробелов.

Всё будет сделано на примере моего роутера TP-LINK TD-W8970. В вашей модели ссылки для скачивания пакетов могут быть другими! Будьте внимательны!

Далее нам нужны ссылки для wget. Берём их тут:
2020-10-10_18-03-30.png
Копируем в буфер обмена (Не обращайте внимание на локальные IP в ссылках на картинке. Это уже готовый конфиг :-) )
2020-10-10_18-05-17.png
Редактируем в любом текстовом редакторе, например, notepad++. Приводим пока в такой вид:

Код: Выделить всё

downloads.openwrt.org/releases/!Ver!/targets/lantiq/xrx200/packages/
downloads.openwrt.org/releases/!Ver!/targets/lantiq/xrx200/kmods/
downloads.openwrt.org/releases/!Ver!/packages/mips_24kc/base/
downloads.openwrt.org/releases/!Ver!/packages/mips_24kc/luci/
downloads.openwrt.org/releases/!Ver!/packages/mips_24kc/packages/
downloads.openwrt.org/releases/!Ver!/packages/mips_24kc/routing/
downloads.openwrt.org/releases/!Ver!/packages/mips_24kc/telephony/
Обратите внимание: Номер версии релиза нужно обязательно заменить на !Ver!
Слеши в конце ссылок обязательны!
Всё ссылки в примере только для роутера TP-LINK TD-W8970. В вашей модели ссылки для скачивания пакетов могут быть другими! Будьте внимательны!

Теперь надо вставить отредактированные ссылки в готовый файл под именем links.txt из архива.
Запускаем get_repo.bat. Скрипт попросит ввести номер релиза. Для примера я ввёл 19.07.4
Если правильно сделали ссылки, будет так:
2020-10-11_17-05-59.png
2020-10-11_17-05-59.png (7.1 КБ) 29 просмотров
А если ошиблись с номером или накосячили со ссылками, так:
2020-10-11_17-04-58.png
2020-10-11_17-04-58.png (7.52 КБ) 29 просмотров
Каждая ссылка из списка links.txt скачивается в фоне отдельным экземпляром программы wget.exe
Как только wget.exe отработает все ссылки, можно закрыть окно
2020-10-11_17-39-05.png
2020-10-11_17-39-05.png (8.48 КБ) 29 просмотров
► Показать
Пока скачиваются пакеты, поднимем маленький файловый сервер программой NFS. Она тоже уже есть в архиве...
При первом запуске файрвол запросит допуск. Разрешаем.
2020-10-11_07-41-48.png
2020-10-11_07-41-48.png (24.52 КБ) 26 просмотров
Правой кнопкой мыши кликаем на корневой каталог и подключим каталог с репозиторием
2020-10-11_19-52-40.png
Указываем путь к корневому каталогу репозитория
2020-10-11_19-54-25.png
Назначаем как реальную папку
2020-10-11_19-54-53.png
2020-10-11_19-54-53.png (8.35 КБ) 26 просмотров
Теперь кликаем правой кнопкой мыши на каталоге репозитория и заходим в свойства
2020-10-11_19-55-28.png
Выставляем права на доступ и скачивание файлов всем
2020-10-11_19-57-06.png
2020-10-11_19-57-06.png (17.13 КБ) 26 просмотров
2020-10-11_19-57-43.png
2020-10-11_19-57-43.png (18.51 КБ) 26 просмотров
Копируем ссылку в буфер обмена (можно получить в двух местах)
2020-10-11_20-17-55.png
И открываем её в браузере. Если всё правильно сделали, будет доступен такой интерфейс
2020-10-11_19-59-54.png
Все действия отображаются в окне логов
2020-10-11_20-00-44.png
Приводим ссылки для репозитория к такому виду. Не забудьте про локальный адрес сервера, у Вас он может быть другим!

Код: Выделить всё

src/gz openwrt_core http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/targets/lantiq/xrx200/packages
src/gz openwrt_kmods http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/targets/lantiq/xrx200/kmods/4.14.195-1-0f59e90218b95a909e229a713d3da157
src/gz openwrt_base http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/packages/mips_24kc/base
src/gz openwrt_luci http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/packages/mips_24kc/luci
src/gz openwrt_packages http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/packages/mips_24kc/packages
src/gz openwrt_routing http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/packages/mips_24kc/routing
src/gz openwrt_telephony http://192.168.0.2/downloads.openwrt.org/releases/19.07.4/packages/mips_24kc/telephony
Обратите внимание на крайний каталог в ссылке
src/gz openwrt_kmods ..... kmods/4.14.195-1-0f59e90218b95a909e229a713d3da157
Имя нужно уточнить в в скачанном репозитории!
Копируем ссылки в конфиг роутера
2020-10-11_20-04-03.png
2020-10-11_20-04-03.png (33.7 КБ) 26 просмотров
Пользуемся. Удачи!!! *DRINK*

Вернуться в «OpenWrt|LEDE»