Категории

Язык
Интерпретатор

24 июня 2017 г. 13:58 (ред. 25 июня 2017 г. 12:00)
Краткая инструкция по тому, каким образом можно установить Питон на ваш маршрутизатор.
Прежде всего следует знать, что не всякий маршрутизатор позволит вам это сделать. Скорее всего, потребуется предварительно установить одну из альтернативных прошивок (firmware).

Обычно альтернативные прошивки обладают не только более широким диапазоном настроек, но и предоставляют дополнительную функциональность. Мой Netgear WNR3500L v2 с заводской прошивкой показывал весьма посредственные скорости в беспроводной сети, поэтому пришлось установить на него прошивку Tomato от shibby, после чего положение несравненно улучшилась.

Прошивку «всё-в-одном» (AIO) версии 1.28-140 для Netgear WNR3500L v2, на которой производились действия, описываемые далее, можно найти здесь. Инструкция по установке доступна на том же сайте.

Итак, приступим к установке Питона. В данном маршрутизаторе нет встроенного жёсткого диска, но есть USB, к которому можно подключить как Flash-накопитель, так и внешний диск. Я буду использовать Flash.

Подготовка накопителя


Прежде всего отформатируем накопитель в Ext3 и зададим ему метку ENTWARE (по имени системы пакетов для маршрутизаторов).
Использую приложение GParted на своём домашнем компьютере с Ubuntu:

  • Вставить Flash;
  • Открыть GParted;
  • Выбрать Flash в раскрывающемся списке справа вверху;
  • Командой из меню Отмонтировать;
  • Командой из меню Форматировать в Ext3;
  • Командой из меню Установить метку файловой системы — ENTWARE;
  • Нажать кнопку с галочкой «Выполнить все операции».

Подготовка маршрутизатора


Следующие действия производятся через веб-интерфейс.

  • Перейти в USB and NAS, удостовериться, что включены следующие настройки: Core USB Support, USB 2.0 Support, USB Storage Support, Ex2/Ext3 File Systems Support, Automount. Сохранить настройки.
  • Перейти в Administration — Admin access — SSH Daemon. Включить доступ по SSH, нажав на Start Now;
  • Перейти в Administration — Scripts — Init. Включить автоматическое монтирование файловой системы с Flash в /opt при загрузке маршрутизатора, добавив в поле ввода строку, указанную ниже, и сохранив изменение.

  echo "LABEL=ENTWARE /opt ext3 rw,noatime 1 1" >> /etc/fstab

Теперь подключимся к маршрутизатору по SSH с основной машины.

  • Выполнить в терминале ssh root@192.168.1.1. У вас IP-адрес может быть другой, а при запросе пароля следует ввести тот же пароль, что используется для доступа к веб-интерфейсу;
  • Выполнить ту же команду echo "LABEL..., которую вставляли ранее в веб-интерфейсе;
  • Подключить накопитель к маршрутизатору;
  • После этого в выводе команды df уже должно присутствовать упоминание /opt;
  • Устанавливаем пакетную систему entware при помощи следующей команды (команда для устройств на MIPS-процессорах):

  wget -O - HTTP://pkg.entware.net/binaries/mipsel/installer/installer.sh | sh

  • Устанавливаем Питон: opkg install python3;
  • Проверяем доступность: python3.

Теперь Питоном можно пользоваться. Приятно, что он довольно свежий — у меня установилась версия 3.6.1.

На заметку
Установить можно не только Питон. Полный список доступных пакетов можно получить командой opkg list.

Как вы будете использовать Python далее, зависит только от ваших желаний. Пожалуй, самое очевидное — поднять веб-сервер.

Успехов!