NapiWRT - инструкция по сборке OpenWrt
Пошаговая инструкция по сборке кастомной прошивки OpenWrt для плат NapiLab Napi-C/P/Slot на базе Rockchip RK3308 и компьютеров на основе Napi-C (FCC3308, FCM3308). Включает все необходимые патчи, DTS, uci-defaults скрипты и конфигурацию. Особенно интересно для устройств с двумя Ethernet (FCM3308).
1. Подготовка хост-машины (Ubuntu/Debian)
sudo apt install build-essential clang flex bison g++ gawk gcc-multilib \
gettext git libncurses-dev libssl-dev python3-distutils python3-setuptools \
python3-pyelftools swig rsync unzip zlib1g-dev help2man
2. Клонирование OpenWrt
git clone https://github.com/openwrt/openwrt.git ~/openwrt
cd ~/openwrt
./scripts/feeds update -a
./scripts/feeds install -a
3. Кастомизации
Все изменения вносятся в чистое дерево OpenWrt. Ниже - полный список файлов и модификаций.
3.1. Патч U-Boot defconfig
Файл: package/boot/uboot-rockchip/patches/108-board-rockchip-add-napilab-napic.patch
Этот патч добавляет defconfig для NapiLab Napi-C в систему сборки U-Boot. Копируется из репозитория napi-openwrt-build.
3.2. Блок U-Boot в Makefile
В файле package/boot/uboot-rockchip/Makefile нужно добавить определение устройства napic и включить его в список целей сборки.
Добавить блок определения после U-Boot/rock-pi-s-rk3308 (перед строкой # RK3328 boards):
define U-Boot/napic-rk3308
$(U-Boot/rk3308/Default)
DEPENDS+=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3308-tpl-rock-pi-s
TPL:=rk3308_ddr_589MHz_uart0_m0_v2.10.bin
NAME:=NapiLab Napi-C
BUILD_DEVICES:= \
napilab_napic
endef