Выпуск LEDE 17.01, форка дистрибутива OpenWrt


Представлен первый выпуск дистрибутива LEDE 17.01 (Linux Embedded Development Environment), основанного в мае прошлого года как форк проекта OpenWrt и также ориентированного на создание точек доступа и беспроводных маршрутизаторов. Сборки подготовлены для 32 целевых платформ, из которых 7 ранее не поддерживались в OpenWrt.

Форк был создан группой активных разработчиков OpenWrt, желающих поднять стабильность дистрибутива на новый уровень и избавиться от организационных проблем. В LEDE попытались реализовать предсказуемый цикл разработки, более либеральные правила приёма изменений и прозрачный процесс принятия решений с привлечением сообщества и проведением публичных обсуждений. В декабре в списках рассылки была предпринята попытка объединения OpenWrt и LEDE, но она пока не привела к конкретным действиям.

Ключевые новшества, реализованные после отделения от OpenWrt:

  • Добавлена поддержка большой порции новых плат, точек доступа и беспроводных маршрутизаторов;
  • Добавлена поддержка новых целевых платформ:
    • apm821xx (AppliedMicro APM821xx)
    • arc770 (Synopsys DesignWare ARC 770D)
    • archs38 (Synopsys DesignWare ARC HS38)
    • armvirt (QEMU ARM Virtual Machine)
    • ipq806x (Qualcomm Atheros IPQ806X
    • layerscape (NXP Layerscape)
    • zynq (Xilinx Zynq 7000 SoCs)
  • Реорганизована платформа Xen DomU, которая объединена с платформой x86/generic;
  • Удалены платформы: realview (на смену пришла платформа armvirt), ppc44x (не работоспособна) и netlogic (отсутствует оборудование);
  • Ядро Linux обновлено до версии 4.4.50 (в актуальном выпуске OpenWrt используется ядро 3.18);
  • Обновлены версии dnsmasq (c 2.73 до 2.76), busybox (с 1.23.2 до 1.25.1), mbedtls (c 1.3.14 до 2.4.0), openssl 1.0.2k, musl 1.1.16, gcc 5.4.0, binutils 2.25.1;
  • Для контроля целостности пакетов вместо MD5 задействован алгоритм хэширования SHA256;
  • Отключены небезопасные компоненты шифрования в mbedtls и OpenSSL (SSLv3, сжатие, NPN, Whirlpool и J-PAKE);
  • Включены опции для повышения защиты от уязвимостей и атак: в GCC активированы режимы »-Wformat -Wformat-security», добавлена защита от переполнения стека в пространстве пользователя и на уровне ядра, включён режим определения переполнения буферов (FORTIFY_SOURCE) и добавлена защита RELRO (RElocation Read-Only);
  • Улучшены сетевые возможности:
    • Поддержка SQM (Smart Queue Management) для минимализации негативного влияния промежуточной буферизации пакетов (Bufferbloat). Связанные с противодействием Bufferbloat изменения также реализованы для драйверов ath9k, mt76 и ath10k;
    • Для драйвера ath9k задействован планировщик Airtime, устраняющий аномалии на медленных системах;
    • Внесена большая порция исправлений, направленных на повышение стабильности работы беспроводного стека и драйвера ath9k;
    • В качестве опции добавлен альтернативный драйвер ath10k-ct от Candela-Tech;
    • Проведена работа по усилению защищённости IPv6;
  • Изменения в системе сборки:
    • Выполнено разделение базовой системы и поддерживаемых сообществом пакетов, что упростило распространение бинарных обновлений;
    • Решены проблемы с обработкой зависимостей пакетов, улучшена поддержка виртуальных пакетов;
    • Формирование отдельных образов rootfs для каждого устройства дало возможность индивидуально выбирать пакеты для профилей устройств;
    • Новый код сборки образов позволил сократить время компиляции и упростить определение профилей устройств;
    • В Makefile добавлены новые команды для запуска стандартных диагностических наборов;
    • Добавлена возможность загрузки исходных текстов при помощи Curl;
    • В коде сборки образов переработана сборка библиотек для улучшения переносимости между разными дистрибутивами Linux;
    • Добавлена поддержка сборки модулей ядра, используя SDK.

© OpenNet