Установка zigbee2mqtt на Xiaomi Mi Router 3G (OpenWrt)

Решил немного оптимизировать свою сеть умного дома и перейти с проприетарного SLS на полностью открытый проект zigbee2mqtt. И чтобы избавиться от одного лишнего узла (в случае с SLS это переделанный ZigBee шлюз от Xiaomi), задумал все настроить на борту Xiaomi Mi Router 3G.

Расширение памяти на Xiaomi Mi Router 3G при помощи USB флешки (OpenWrt)

При установке “больших” пакетов на роутер можно столкнуться с проблемой нехватки свободного места. Справиться с этой проблемой можно путем переноса файловой системы на внешний USB накопитель.

Компиляция Node.js из исходников для Xiaomi Mi Router 3G (OpenWrt)

Потребовалось мне установить Node.js на свой Xiaomi Mi Router 3G, прошитый под OpenWrt. В дефолтных репозиториях необходимого пакета не оказалось. Немного погуглив, были найдены всего пара источников (раз, два) в которых присутствовали нужные мне ipk файлы. Но, в первом случае они падали с ошибкой “Illegal instruction” (как позже выяснилось, для их работы необходимо пересобрать ядро с поддержкой MIPS FPU Emulator, о чем я расскажу ниже), а во втором версии были слишком старые (v8.17.0) и меня не устраивали (а если бы и устраивали, то я снова бы столкнулся с предыдущей ошибкой). Однако, эти поиски привели меня к проекту nxhack/openwrt-node-packages, бинарники которого можно было собрать самостоятельно, что я и сделал. Делюсь инструкцией по сборке (как и получившимися ipk файлами) со всеми желающими.