Ниже — практическая пошаговая инструкция, как поставить и запустить lighttpd (или лёгкий аналог) на Luckfox Pico Pro/Max (ARM). Я опишу сначала общий рабочий путь через Entware (самый удобный для встраиваемых Linux‑устройств), затем коротко — альтернативы и советы по отладке.
1) Проверки перед началом
- Подключитесь к плате по SSH/serial и выполните:
- uname -a — узнать архитектуру ядра
- uname -m — узнать архитектуру процессора (обычно armv7l)
- cat /proc/cpuinfo
- df -h — свободное место на разделе
- mount — есть ли внешняя SD/USB, файловая система доступна на запись
Важно: Entware обычно ставят в /opt. На многих платах внутренней flash мало — лучше установить Entware на SD/USB (если доступно).
2) Установка Entware (если ещё не установлен)
Entware даёт менеджер пакетов opkg и готовые ipk‑пакеты (включая lighttpd). Вы уже нашли каталог пакетов: https://bin.entware.net/armv7sf-k3.2/ — это правильный репозиторий для ARMv7 с ядром k3.2. Выберите feed, соответствующий вашей архитектуре (armv7sf-k3.2) — проверьте через uname -m/версию ядра.
Обычно установка делается запуском установочного скрипта с этого репозитория:
- Из директории installer на том же сервере есть скрипт установки. Попробуйте:
wget -O - https://bin.entware.net/armv7sf-k3.2/installer/generic.sh | sh
— либо, если generic.sh отсутствует:
wget https://bin.entware.net/armv7sf-k3.2/installer/ -O installer_index.html && просмотреть, какой там скрипт.
Если wget отсутствует — используйте curl или загрузите скрипт с ПК и скопируйте на устройство (scp).
Во время установки вам предложат выбрать целевой каталог (обычно /opt или /mnt/sda1/opt). Если внутренний rootfs монтирован как read‑only или мало места — выберите SD/USB.
После успешной установки:
- проверьте, что появились /opt/bin, /opt/sbin и что PATH содержит /opt/bin:/opt/sbin.
export PATH=/opt/bin:/opt/sbin:$PATH
- команда opkg должна работать:
/opt/bin/opkg update
3) Установка lighttpd через opkg
- Обновите список пакетов:
/opt/bin/opkg update
- Установите lighttpd:
/opt/bin/opkg install lighttpd
(при желании можно установить модули: lighttpd-mod-cgi, lighttpd-mod-rrdtool и т. п.)
- Создайте директорию для сайта и простой индекс:
mkdir -p /opt/www
echo "Hello from Luckfox" > /opt/www/index.html
4) Запуск и базовая конфигурация
- Конфиг по умолчанию обычно в /opt/etc/lighttpd/lighttpd.conf. Минимум:
server.document-root = "/opt/www"
server.port = 80
server.username = "root"
server.groupname = "root"
- Запуск:
/opt/etc/init.d/S50lighttpd start
— если init‑скрипта нет, можно напрямую:
/opt/sbin/lighttpd -f /opt/etc/lighttpd/lighttpd.conf
- Тестирование:
curl http://localhost/ или с ПК http://IP_платы/
5) Подключение к сети и автозапуск
- Если всё работает вручную, сделайте автозапуск:
- добавить вызов /opt/etc/init.d/S50lighttpd start в /etc/rc.local
- либо использовать /opt/etc/init.d/… скрипты и включить их, если опция есть
- Откройте порт в локальном firewall, если он есть (iptables/nftables).
6) Диагностика
- Журналы lighttpd: /opt/var/log/lighttpd/error.log (проверьте путь в конфиге)
- Проверить конфиг:
/opt/sbin/lighttpd -t -f /opt/etc/lighttpd/lighttpd.conf
- Проверить слушающие порты:
ss -tulpn | grep lighttpd
- Если не стартует — проверьте зависимости (модули, библиотеки) и свободное место.
7) Если Entware ставить нельзя / хочется альтернативу
- BusyBox httpd (очень лёгкий):
busybox httpd -f -p 80 -h /www
- python (если есть):
python3 -m http.server 80 --directory /path/to/www
- uhttpd (OpenWrt) — если ваша прошивка похожа на OpenWrt — удобен для небольших устройств.
- mongoose / civetweb — одни исполняемые файлы (возможно, придётся собрать для ARM).
- thttpd — очень лёгкий httpd (можно найти в Entware как thttpd).
8) Особенности и советы
- Всегда проверяйте арх/ядро: используйте именно тот feed Entware, который соответствует вашей платформе (armv7sf-k3.2 и т. п.).
- Если rootfs находиться в read‑only, установите Entware на внешнюю SD/USB.
- Не ставьте тяжёлые сервисы на маленькую флеш — она быстро износится.
- Для CGI/PHP: понадобятся соответствующие пакеты (php7‑cgi и т. п.), конфигурация lighttpd для FastCGI.
- Если после установки opkg не работает — проверьте /opt/etc/opkg.conf и feed URL.
Короткая рабочая последовательность (пример команд)
1) Проверить архитектуру:
uname -m; uname -a; df -h
2) Установить Entware (пример):
wget -O - https://bin.entware.net/armv7sf-k3.2/installer/generic.sh | sh
3) Подготовка окружения:
export PATH=/opt/bin:/opt/sbin:$PATH
/opt/bin/opkg update
4) Установка и запуск lighttpd:
/opt/bin/opkg install lighttpd
mkdir -p /opt/www
echo "Hello" > /opt/www/index.html
/opt/etc/init.d/S50lighttpd start
# или
/opt/sbin/lighttpd -f /opt/etc/lighttpd/lighttpd.conf
Если хотите, могу:
- Проверить конкретно вашу версию ядра/архитектуры, если вы пришлёте вывод uname -a и uname -m, и подсказать точный скрипт установки Entware и feed.
- Прислать минимальный рабочий lighttpd.conf, адаптированный под вашу систему.
- Подсказать, как сделать автозапуск на вашей конкретной прошивке/дистрибутиве.
Напишите вывод uname -a и uname -m (и df -h), тогда дам конкретные команды под вашу плату.